I wrote my first lines of code when I was 13. We were taught to code in C in middle school and I fell in love with it right there. The next years were spent creating games with C and C++. I remember creating:
- A snake game using C's graphical library, in a 640x480 resolution and 16 colors,
- A game created using the C++ light engine Irrlicht (a word that I learned the meaning of 15 years later),
- A Super Mario game with GameMaker,
- A platformer game using GameMaker Studio (that I later published for Android), etc.
At the same time I was attending the local contests for Olympiad of Informatics.
Don't worry, we'll get back to programming and getting hired in tech, eventually!
At the age of 18 I started studying BSc in Pure Mathematics, a Mathematics that you can't make any money from. I was still famous among my high-school friends to be a "programmer", so they would give me their university programming homework.
One of these home assignments was a Java exercise. I had no knowledge of Java at the time. My friend told me not to worry, saying that "Java is shitty C++ and the only thing you need to know for this exercise is its print function". He left his laptop with me and collected it tomorrow. My task was to implement a chess AI over night, which I did.
One last thing I should mention is ACM-ICPC, the International Collegiate Programming Contest that was very popular in my home country. I attended and went up a few levels (up to the regional contest).
My First Job as a Developer
It was the Summer of 2013 and I was enjoying my time off when I received an email from a company stating that they are looking for developers and I can send my CV through some links. I did.
A few days after I went there for an interview.
- The guy: Do you know Java?
Me: You mean the shitty version of C++, yes I coded into it once. I know C++ though, so it should be easy to learn Java.
The guy: How did you find us?
- Me: Actually, you found me. I wanted to ask you the same question.
- The guy: We sent those emails to attendants of ACM-ICPC and Olympiad of Informatics. Which one were you?
- Me: Both.
And I was hired. A few weeks after that I learned that I was shortlisted because I had included the weird writing systems I could read in my resume (Greek, Cyrillic, Glagolitic, Hebrew, Old Persian Cuneiform, Pahlavi, Avestan, etc.). Actually, it was so interesting for the hiring manager that he had read the whole list to the team.
Key Takeaways
So, sermon on the mount:
- Be confident. I knew I could code in Java, and I did.
- If you have weird hobbies, write them down into your CV. Reading books and watching movies are everyone's hobbies. Make yourself stand out.
- Make coding your hobby. Enjoy doing it. Don't do it because you want to find a job and you have to practice.
- Play games, and if you're bored, make games.
- Help people out.
Next Jobs I Got
The first two jobs I got hired in were in Iran. They were very interested in ancient languages and scripts. When I moved to Europe in 2016, people were not as interested. Star Wars was the replacement. I would wear Star Wars T-shirts in job interviews. I'm not a huge fan, but it's good for business. One of my old bosses is still sending me Star Wars memes.
My First Job as a Developer in Europe
Everything is not supposed to go smoothly in one's life.
One annoying thing about immigration for me was that all my counters were reset. When I moved to Europe, I already had 3-4 years of professional experience. One of the places I worked in in Iran is the best place I worked in, so far. There, I had the privilege to work with most intelligent and hard-working people I ever met in my life. My colleagues from that time are doing PhDs at MIT, working at Google and Microsoft, or have founded their own companies. But people in Europe don't know about the companies in Iran. When I was doing interviews, I was treated as a junior with 0 years of experience.
So, I had to face the challenges of finding a first job, for the second time!
I had to lower my expectations and apply to smaller and less mature companies. One of the companies I applied to was located in a small village close the small city I was living in. They sent me a home assignment. I did it. And they rejected me and stated that my solution was inadequate for this and that reasons. I wrote back and email and defended my solution. Not because I wanted to win their hearts, but because I was furious that such a small company has rejected me based on such non-sense reasons. I was invited to the next interview and got hired at the same company.
Key Takeaways
Sermon, part II:
- Believe in yourself. Be your ally.
- Fight injustice. If people are unjust, they are not evil, they just don't know enough.
Final Words
Most interview processes are random. One might get hired or rejected based on stupid things: the ancient languages they know, sounding too confident, sounding too insecure, shaking the interviewer's hand wrong. Usually, when I get hired, the employer is surprised after a time: either I'm better than what they expected, or worse.
If you're rejected, it doesn't mean you're unqualified. Even if the interview process was 100% fair, it means that you were not a fit for that specific company.
That was my sermon. I hope it was helpful.