How it started
In the summer of 2013 I finished high school with a baccalaureate in Natural Science. Computer science had not been a strong subject for me. Friends who were already studying it at university still told me to choose it. One of their reasons was practical: computer science graduates usually found work. Money was tight, so I made the practical choice and enrolled.
The struggle to fall in love with programming
The first semester was a hard adjustment. The subjects were new, and I had to go looking for explanations of topics I had barely known existed. I was introverted, and student life never really started to feel natural, even later, all the way to graduation. The change made me anxious. I aimed at the grades that would get me into the next year, and not much past that.
Before the exam period I had three practical tests in C, in separate weeks. Their average was the mark for the subject. The first test was mediocre, though the mark was not a disaster. On the second test I cheated. I was caught when I had to explain the code, because I did not understand how the project worked. The mark was a zero. I felt bad about it, and the last test had to be genuinely good.
Revelation
The last test was a card game in C. I gave it my full attention. While I was researching the problem, I wrote a function that printed the cards in color, which nobody else had spent time on. I also got about 95% of the game’s logic working. That was a strange result for someone who had decided he was bad at programming. I started to doubt that verdict.
On the day of the test I sat next to the professor, ran the project, and walked through the features. Her expression suggested she was a little surprised. She told me to open the source and explain it. I went through the code without stalling. Then she said something I still remember:
Was it you, the same person that came cheating last time and didn’t understand a thing from programming?
That was the day I saw I could be a programmer. C went from the subject I feared to a subject that felt straightforward.
Snap back to reality
I graduated in the summer of 2016, after a couple of years that included several personal problems. I knew a fresh graduate was not an attractive profile for most employers. I was also convinced I should pick one specialty and get good at it before I applied for jobs. I embraced the unemployment and looked for a specialty with two properties:
- It was in demand in the IT job market.
- It would still be in demand years later.
After several days of research, the choice was clear: JavaScript. I spent a year learning it. During that year I found a freelance job and stayed for three months. It was a disaster. I had to build the entire project myself, from the interface to the database. I could not cover that much work, I burned out, and I quit. I needed the income badly, so that period stung. My self-esteem was at its lowest. I had to talk myself back into studying. I built several small personal projects, and from those I started to see what full-stack JavaScript development actually required.
My first full-time job
Once I felt ready to look for a job, I prepared a CV and started applying. xTECH replied, and the interview went well. I started there in December 2017. The office was in a quiet neighborhood by the beach, and the atmosphere on the team was warm. It was more than I had been aiming for.
It was also the first time I worked on a team. I had to learn the routines of a shared codebase: how work was divided, how changes were reviewed, and how someone else’s decisions showed up in the files I opened. Watching senior colleagues think through a problem before they wrote code had a lasting effect on me. I spent almost three years at xTECH. I got substantially better at JavaScript there, and I got better at working with people.
What the journey taught me
Feeling lost at the beginning is common, and it happened to me. The card game was the first proof that I could understand a program well enough to explain it, which is a different skill from recognizing the syntax. The freelance project taught the complementary lesson: taking every layer of a product on alone, before I could do any of those layers well, was a fast way to burn out. The years at xTECH were where other people’s standards started to replace the ones I had invented in isolation.
I got past the doubt by working, and by teaching myself the specific things I was missing. That process has not stopped.