How did I got the job I have now?
The unexpected path (for me at least) I followed to get into SW development
How it started
I did like computers since before I got my first one. I remember reading an MS-DOS 6.1 manual that I got my hands on when I had no computer at home nor at school (in my country, PCs didn’t enter the classroom until the end of the 90’s). So I ended up being that friend that fix your computer when something breaks. To be honest, most times I had no idea what was wrong and how to fix it, but I learnt every time.
However, I probably tried to go too fast, ending up with a misconfigured Slackware linux installed in the PC, without the chance to play games my friends were playing; without internet or ideas how to move forward, I started disliking the apparently random problems that happened in it. And going back to Windows 95 didn’t help for me. At the time, I also started reading about science and some popular science books about quantum mechanics and that got me hooked. I decided I wanted to get a PhD in quantum physics. I studied physics and ignored pretty much programming and anything more complicated than using them as a tool for university reports and some gaming.
I had a plan, but then I didn’t like that plan
After university, I tried to figure out what to do. For several reasons, I discarded the original plan to get a PhD in quantum physics. I loved physics and I still do. However, I was not convinced about the path for PhD in the academia. My brief exposure to that world let me disappointed, due to my grades and that I wanted to do it in theoretical physics the possibilities to have a grant since year one were close to 0. On top of that, the fact that PhD students had the bad parts of student’s life without all the benefits made me realized that I didn’t want that.
Ok then, I knew what I didn’t want, so I had to find out what to do next.
New goal: becoming a SW developer
Software development was getting hot as a place to go, and the passion I felt with my first computers started to get back. I had some knowledge of C and C++ and when I started refreshing that knowledge, it was really fun and interesting. Now the challenge was: how do I get my first entry level job in the industry?
At the time, the country was deep into crisis (circa 2009), the job market was broken and I had no real knowledge or experience in CS to actually be even considered for a position. Take into account that, at the time, companies were asking for 1 or 2 years of experience for entry positions. Yes, that’s right: requiring experience for entry position. That’s how broken the market was.
I had been working in online marketing, when it started to be a thing in Spain. A really good job, the first time I worked remotely (and realized I wanted to do that remote thing forever), but it was project based, so no stability in sight.
So after a while, I landed in a tv show, the most famous show in Spanish tv, preparing some basic science experiments for the guests to play with. Good experience, but no future for me in there. Also, I didn’t have energy or even time to really learn programming, as I was the full day in the studio preparing the experiments, even during some weekends. Show business works like that.
After a few months, I realized that I never felt so miserable as in that job. Being fully aware that I was wasting my time and getting even farther from the industry I wanted to join, the idea of quitting that job started to grow in my mind. Because you always have to consider the cost of opportunity you are paying, I had to start making decisions. Wasting time in a dead-end job when you are young and you need to start your career, is wasting a lot of potential and opportunities. So here comes the first big move I did, that actually paid off.
Jumping ship, no parachute but connections
I made some numbers and came to the conclusion that I could live off savings for almost a year. One of the “perks” of the tv job was that I had no time for personal life or hobbies, so I saved a big bunch of cash (for my age, at least). So I decided to quit in the middle of the big crisis, with unemployment in historical maxima.
I was lucky. I had a friend that called me when he learnt I had quit, and told me about teaching physics in an academia for physics students. No brainer, I could chose the subject: electromagnetic optics (that’s the best translation I can make of the subject name) that was the specialty I focused myself in the last years in university.
It didn’t pay too much per month, but with the savings I had it was a good way to buy me time to improve my skills and find a job. Also, having to work only 3 days a week allowed me to study programming and learning some more about C++ and the basics of Python. With that new knowledge, a decent English level compared to the average in the country and a positive attitude, I applied to a government grant aimed to introduce young people into the industry. And I got it. I was going to work in a department of the aerospace institute, implementing algorithms to improve radar image’s resolution. Success, right? Well…
The thing with this institute, is that depending on the department you end up joining, you can learn a ton load of things and do a lot of cool stuff… or you could end up in one that is “government style” department. Meaning nobody cares what do you, because nobody is doing anything relevant, because nobody cares or asks about it. So another dead end job?
Well, there were some benefits in that situation. The first one was that I had a salary and free time to learn how to program, learn new languages and other courses. The second one was that my boss was an old man that ended up in this position because he was burnt by the private sector. He didn’t care much about what I was doing or learning, but he was sharing with me some interesting intel about how tech companies worked in my country, which I thought would be really useful.
But that got me worried about the path I wanted to follow. At the time, with that crisis, programming jobs were on the rise… but the conditions these big companies offered and the job itself, was not what I had imagined. This information was valuable as I learnt that these companies were going to grind me like meat (they were called “carnicas”, meaning “meat companies”, for how people got burned and broken after a few years working there).
To be honest, he was painting a really ugly landscape. Even if you made it out of the “junior-hell” positions after a few years of working 10 hours a day, changing languages and technologies at a wimp based on the needs of the companies, you ended up in some management position that was even worse. No hands-on technology, more work than before (I cannot imagine how) and more responsibility, pressure and stress.
With this knowledge, I decided that I would try to find some company, small or big, that could have the kind of job I wanted. One in which you can develop your knowledge and expertise in some domain, a company that would value the expertise. Difficult in my country, apparently, but maybe in other countries… This was my plan: as the grant was for 2 years, and I almost finished the first one, I had an extra year of learning and applying to job offers and find out what knowledge they asked for, without having to worry about money.
The second big move
Eventually I got an offer in Prague to work for an european project in a laser facility. My rol would be as a developer of a plasma physics simulation. It was even better than I was expecting, mixing programming and physics! So I could not reject this offer, even if I didn’t like the idea of leaving a stable situation to go to a country I didn’t know much about. On top of that, in the interview I suggested the idea that my knowledge and expertise were above the real ones. Way above, to be honest, as I didn’t expect to be hired. But I was!
Scared as a puppy, I left everything behind and took a plane to Czech Republic. I still remember the first few months. I knew no one and I was painfully aware that I didn’t have a clue about how to do the job. Daily, I was 10 hours in the office so I could learn what I had to do, and implement it. Horrible, huh? Actually, it was exciting!
Frustrating, scary sometimes, but overall, exciting. Later on, the job changed, the simulation software was put aside and a commercial one was used, and my situation was one in which nobody knew what should I do. I ended up doing a bunch of study of technologies, almost moved to a different team that was doing the software development of the facilities, and playing around with some servers that I managed to break by deleting the kernel… yeah, I got some dependency hell and somehow decided that “those files with those ugly names had to go”. A story for another day.
Anyway, I had to move on and find better places. The truth is that in the first few months in that project, I learnt a lot. And the last year I was there I didn’t stop going to interviews, failing the technical test, going back home and study what I failed. It was a tough process, feeling useless or stupid after failing so many interviews, one after the other. But I kept studying and trying. If I was able to get my master in theoretical physics, I could become a developer. Eventually I made it, learn a lot through miserable failures (really, there were some interviews that I felt embarrassed) but kept trying and kept learning. Every new interview was going better and better, so it was a matter of time. And so it was.
So that was it, more or less
It has been a long road, full of doubts, sometimes despair and hours of my free time dedicated to studying programming, algorithms and whatnot.
Is this the way to get a job or a career in this sector? I didn’t know at the time, but it was the only thing that made sense to me. I took a bet and followed through.
Maybe this story gives hope to someone trying to get into a programming job, knowing that it will be difficult at the beginning and it will require some sacrifices that you don’t know if they will pay off. I believe that even if I didn’t get that first job, or it didn’t work for me, I learnt things in the way. Like studying physics to get a PhD. I didn’t get it because by the time to apply for it, I grew out of it.
But I don’t regret studying physics and I don’t regret the path I followed after that. I was more worried about a day in the future where I would regret I didn’t try.