We haven’t stopped long enough to talk about the dark side of picking a Software engineer degree. The not-so-good thing about following this career, although I think that everyone can learn to program and develop. I am aware that this career is not for everyone. Before deciding on this career, pay close attention and read on.
Sleepless with a good pair of dark circles. A programmer who has not worked overnight is not a programmer. We have all had one or many sleepless nights in our student days. Either because we did not get organized or because the task or work assigned was quite complicated. If this happened in high school, the university is not the exception. Much less if you decide to opt for this career. And if you think that after graduating, you won’t stay awake again, let me tell you about deadlines, incidents, and passes to production.
Deadlines are the deadlines we have to deliver a job. When we work as programmers, we usually work for a business that wants to build a product to provide some benefit or service to its customers. And usually, these businesses work based on delivery dates. These dates go according to business objectives, marketing campaigns, or presentations that have to be made to the director or possible investors. If these dates are not met, the business suffers, and if the business suffers, then sooner or later, those who work for that business will end up suffering as well. Large companies may have a more significant margin of error in negotiating these deadlines, but you will soon realize that they ask you for things to be done yesterday in small companies. You will have to take one for the team and work overtime even at dawn, but the project manager will reward you with pizzas if you are lucky. But deadlines aren’t the only thing that will keep you up at night.
You also have incidents. If a critical problem occurs in production and the availability of a service is lost. We must resume service as soon as possible since lost time translates into lost money. Depending on the company, some may have a longer window of unavailability than others. And even some companies may have self-recovery mechanisms which do not require human intervention. But if you work in a small company or with a not-so-advanced infrastructure, be prepared to be called in at 3am if a service is down.
Finally, we have the passes to production. Every time you want to add a change or new functionality to an application, it is necessary to carry out a ceremony known as a pass to production. The recent changes are uploaded to the production server, and some tests are done to make sure everything is working correctly. Suppose your projects do not have adequate unit test coverage. If you do not have continuous integration processes, or you simply do not have a quality assurance team, you run the risk that when you make a production pass, you will generate an incident. That is why it is widespread for production passes to be made when the least number of users is affected. And in many cases, that means working late at night, so if you value your sleep and sleepless nights are not for you, this career may not be a good option.