I believe that optimising the time-to-production is one of the most crucial factors correlated to a software engineer's growth.
Here, I don't just limit it to technical growth but also their ability to handle tough situations and stay calm in the face of a burning production environment.
I have seen projects that have gone on for years without seeing the light of day. On paper, these projects seem like the best opportunities to learn i.e. a hard problem and a potential solution that uses cutting-edge tech. Sadly, I've seen the best of us rot in an endless swamp of misaligned stakeholders when they become part of such projects.
Although there is a case to be made that some brilliant advancements in technology have come after years of RnD, you'd find that the team behind these innovations have had a very deep focus on iterating fast and taking their inventions to an increasing circle of actual users. The most recent example of this that comes to mind is ChatGPT, a remarkable step towards true AGI. The model behind it (at the time of release) was GPT-3.5. What gets forgotten is that the impressive GPT-3 had been around for quite some time before that. In fact, businesses (including mine) were already experimenting with it and using it in production, resulting in invaluable feedback to OpenAI.
Coming back to a software engineer's growth trajectory, my advice would be to take the next step in your career with this factor as one of the primary ones. The faster a company lets you put your code in front of customers, the quicker you learn all aspects of being a true professional engineer. You learn how to test your code to avoid sleepless nights and how to say "I understand" with empathy when your customer is livid. It all adds up to a successful future.
Here, I don't just limit it to technical growth but also their ability to handle tough situations and stay calm in the face of a burning production environment.
I have seen projects that have gone on for years without seeing the light of day. On paper, these projects seem like the best opportunities to learn i.e. a hard problem and a potential solution that uses cutting-edge tech. Sadly, I've seen the best of us rot in an endless swamp of misaligned stakeholders when they become part of such projects.
Although there is a case to be made that some brilliant advancements in technology have come after years of RnD, you'd find that the team behind these innovations have had a very deep focus on iterating fast and taking their inventions to an increasing circle of actual users. The most recent example of this that comes to mind is ChatGPT, a remarkable step towards true AGI. The model behind it (at the time of release) was GPT-3.5. What gets forgotten is that the impressive GPT-3 had been around for quite some time before that. In fact, businesses (including mine) were already experimenting with it and using it in production, resulting in invaluable feedback to OpenAI.
Coming back to a software engineer's growth trajectory, my advice would be to take the next step in your career with this factor as one of the primary ones. The faster a company lets you put your code in front of customers, the quicker you learn all aspects of being a true professional engineer. You learn how to test your code to avoid sleepless nights and how to say "I understand" with empathy when your customer is livid. It all adds up to a successful future.