up-skilling software engineers

Photo by Julia M Cameron on Pexels.com
Photo by Julia M Cameron on Pexels.com
 

When you asked the leaders in any software companies about delivering great and innovative products, they'll tell you that they are working hard to bring in talented software engineers, and providing them with all the tools required to deliver such products.

We need talented software engineers because

  1. They have the capacity and ability to learn. It may be attending some conferences to understand the latest trends and technologies. It may also be spending some time to hack. Hacking (or trying new things) brings new perspectives to software development.
  2. They are innovative. Usually, this involves looking at things at different angles (or even turn the world upside down - an impressive talk by Cafer Tosun, Senior Vice President of SAP), and provide intelligent solutions.
  3. They understand the limitations and opportunities. Most of the time, there are important decisions to be made, and they are able to provide detailed information on what works and what not. And, they also view limitations as opportunities. There are limitations because nobody have good solutions yet, hence they like to tackle them.

With over 25 years of professional software development experience, I conclude that writing code is the easiest things to do. It is not hard once the coding environment and test frameworks are setup. The most difficult part is to understand the problem domains and provide elegant solutions. These solutions translate to software design, architecture and implementations.

Unlearn, relearn, rethinking, reimaginating, innovating and growth mindset are important to the survive of any software companies. One of the biggest mistakes that software companies made is NOT (or unable) to invest in up-skilling. They want to bring in talented software engineers, and they should also provide time for up-skilling.

I believe that FANNG provide their employees time to hack and learn new things. Unfortunately, for some companies, software engineers are always on tight schedules hence do not have time for hacking. I believe that there are crunch time, and there should be time for engineers to pick up new skills.

I am fortunate to be with Microsoft. I am given time to hack in between projects. My organization also provides materials for hacking, and there are continuous efforts to create new contents. These contents are basically challenges. We tackle one challenge at a time until we complete the entire hack. A new employee (like myself) can work on these hacks for up-skilling.

It is important to provide time for software engineers to try new things. The talented engineers love challenges and opportunities to hack. Companies are likely to lose these engineers if they are not challenged, and they move on to another companies to acquire new skills.



Comments

Popular posts from this blog

OpenAI: Functions Feature in 2023-07-01-preview API version

Storing embedding in Azure Database for PostgreSQL

Happy New Year, 2024 from DALL-E