
Anyone who, like me, spends many hours online, cannot have failed to see this title associated with the sale of programming courses.
It’s a title on the verge of clickbait, trying to convince people that, even after the age of forty, one can easily become a programmer.
The purpose is clear: given that a programmer’s career usually starts very early, the goal is to raise the bar by targeting a group of people who believe they can no longer do it or who perhaps are currently not satisfied with their jobs and want to do something else: they are looking for the classic professional repositioning.
Reality
The reason for this trend lies in the growing demand for professionals in the programming sector, where it is currently difficult to find individuals with the necessary skills to meet market demand.
Although it is commendable to try to teach programming to people who are unfamiliar with it, I do not agree with how this concept is being promoted.
To be clear, I am always in favor of programming courses and I view positively those who want to commit and change a situation that does not satisfy them, but I am against messages that lead to the belief that something that requires time and dedication suddenly becomes accessible to everyone.
That phrase in my head sounds like “Become a surgeon after 40” or “Become a lawyer after 40”. It’s not that it’s impossible, but it’s difficult, much more difficult than at twenty, especially if you have done something completely different in life.

I believe that every individual has the right to choose their path in life: one can wake up one day and decide that programming is their future, just as a programmer can decide to become a cow breeder.
However, let’s try to bring a bit of reality into this statement and imagine what will happen at the end of the course that will turn you into a programmer, regardless of the quality of teaching and personal abilities.
Inevitably, it will be necessary to look for a job since trying your luck at freelancing without contacts and experience could be a rather frustrating prospect.
Once you find a company that is willing to invest in you, there could be a series of biases that might change the way potential employers approach you. The first of these biases is certainly age.
Age Bias
Let’s try to consider two scenarios to simplify the reasoning:
If you are 20 years old and you delve into the world of programming, after taking a course or a university path, the expectations on you will be lenient. The lack of experience is normally forgiven, and a great desire to learn is expected. If the company truly believes in training, it is not unusual to also have a mentor willing to help you in your professional growth path.
On the other hand, if you are 40 years old, the expectations towards you are higher, and there could be many biases that are placed before your preparation. Age biases, biases related to your family situation, biases about your learning limits compared to twenty-year-olds: quick with the code and with much more time available.
These discrepancies in expectations represent a crucial aspect to consider and for which it is necessary to prepare mentally.
One must be highly motivated if one wishes to embark on this path which, while not impossible, can be really tough at the beginning and might lead to deep frustration. It’s important to keep these aspects in mind and not be discouraged by the initial difficulties, because only over time will one be able to demonstrate one’s abilities and make one’s experience count.
Ultimately, there is no fixed rule, but it is crucial to be aware of these dynamics to avoid underestimating the challenges that might arise after completing the course and during the job search in the programming sector.
Certainly, one of the mitigating factors that can break down or at least mitigate any preconception is to demonstrate strong motivation, not just in words, but also through tangible actions. Being active on platforms like GitHub, participating in industry events, and collaborating on open-source projects are all elements that demonstrate a concrete commitment and a passion for programming.
These “small pieces” not only testify to the willingness to learn and to put oneself out there, but can also reveal a dormant talent that begins to burst forth at that moment, helping to strengthen credibility and attractiveness in the eyes of potential employers.
The Training Proposal
I would now like to dwell on another aspect that emerges when reading some training proposals more carefully, I found something that left me perplexed and prompted me to write this article.
A recurring comment, which is found in various forms under this type of path and which I would like to report as an example, is the following:
“We teach how to become a software architect, consistently… to avoid having to start from the bottom.”
The start of these courses is often focused on “forty-year-old programmers” and just as often tries to sell the concept that people will become “software architects without starting from the bottom.”
I can understand the desire to offer courses to people aspiring to become programmers, and I recognize the existence of a market in which to seek potential talents. However, the idea of starting a career as a software architect by skipping stages baffles me.
It is important to emphasize that experience, or “paying your dues,” is fundamental to developing an accurate understanding of designing functional software that can meet the needs of clients and users.
“Paying your dues” implies making mistakes, learning from them, and facing practical challenges in various projects. It means making difficult decisions, sometimes in contrast with best practices, because the context or the needs of the project require it.
Cutting corners on “paying your dues” risks producing projects that, although well-executed, fail to translate into viable solutions due to issues such as costs, performance, timing, or simply a lack of experience.
If, after completing a course and obtaining the title of “software architect,” one wonders why he can’t find a job, the answer is simply lack of experience. No course can replace practical experience and the knowledge that comes with it: merely attending a course does not make you a professional programmer or a software architect.
As stated by those who have hit the keyboard more times than me: “There is no shortcut to becoming a professional programmer. You need to face real challenges and learn from mistakes along the way.” (“The Pragmatic Programmer: Your Journey to Mastery”). This sentence excellently captures the concept that programming is a skill that can be taught, but it is only through practice that one can aspire to become true professionals.
To raise the level, when talking about the role of the software architect, we are faced with a different discussion.
Being a software architect is not something that can be improvised; it requires years of experience and practice. It is a job that involves the entire structure of a company and can decree its failure or success based on how the work is approached.
Even though a training course can be useful and in-depth, it cannot replace the experience gained over time and will always provide a partial view of the work of a software architect.
Another important aspect is not to confuse the roles of “programmer” and “software architect”: they are two distinct roles, each with its skills and experiences. Being a good programmer does not necessarily imply being a good software architect, and vice versa. However, it is undeniable that a background as a programmer can be advantageous for those aspiring to become a good software architect.
We can draw a parallel with the world of soccer: many successful coaches have had careers as soccer players and have experienced the dynamics of the game firsthand. At the same time, there are cases of players who, in their haste to become coaches, have skipped necessary steps without having the right experience, taking on roles in significant teams and compromising their credibility and career.
While practice is fundamental to becoming good programmers, becoming a software architect requires deep experience and an understanding of the sector that only time can provide. Therefore, it is necessary to be aware of the paths and the time required to achieve the desired professional goals.
Conclusions
Anyone can become a programmer, at any age, but it’s important to be aware of the challenges and expectations that will arise along the way.
The later you start, the harder it will be, but not impossible. Passion and dedication can help overcome the initial difficulties and prove one’s worth in the programming field.
After a few years of professional experience, you will understand how crucial it is to tackle the practical learning phase and how illusory it is to believe that a course can replace the importance of “paying your dues” in the programming sector.
Practice and field experience are indispensable pillars for a successful career in programming. Although courses can provide a solid theoretical foundation, it is only through practical work and continuous research that one can truly acquire the necessary competence and mastery. Therefore, it is essential to recognize the importance of “paying your dues” and to maintain realistic expectations regarding training and professional development paths in the programming sector.
“I took the course, but if I don’t practice it, I forget it”: will become a phrase you’ll often hear and that will make you reflect on the real skills acquired.