Girges is a self-taught software developer and Imagine Fellow coming from Cairo. His journey is unique as he managed to land a job offer at one of the biggest start-ups in Berlin as a full-stack developer in September 2021, during the Covid-19 pandemic.
Most people believe that the only way to succeed as a software engineer is by obtaining a degree in Computer Science, however, Girges is a characteristic example of what dedication, will, and passion can lead to. If you are curious about finding out how he did it, dive in!
Eleni: Could you tell us a little bit about your background, how did you decide to become a self-taught developer?
Girges: Sure! Back in 2015, I graduated from high school and then I enrolled myself in the Faculty of Commerce in Egypt, however, I quickly realized that it wasn’t the career path that I wanted to pursue. It was then that I decided to teach myself how to become a software developer. I spent about a year learning about the Fundamentals of Web Development and working on plenty of side-projects. The hardest part was of course getting hands-on experience. As you know, it is quite hard to land your first job or internship, especially if you don’t have a degree.
Eleni: It is definitely challenging for all junior developers to land their first job! How did you manage to do that?
Girges: It took me a few months of constantly applying before I got my first internship in a start-up company. After the 3 months of the internship in Egypt, the company decided to hire me as a full-time developer. After 2 years of working in this company, I moved to a fintech company and worked there for about 2 years. Even when I was employed, however, I kept working on side projects to improve my skills and keep myself updated on the latest technologies. In software development, you have to keep up with the constantly changing technology, no matter if you have a degree or not. Now in 2021, I am pretty excited because I will start working on my new role in January. I can’t describe how thrilled I am that my dream of living and working in one of the biggest tech hubs in Berlin will come true! I am also really thankful to the company as they helped me significantly with issuing my visa and made the process extremely smooth for me.
Eleni: Your journey is Incredible! What’s your advice to people that want to learn coding?
Girges: In terms of learning, I believe the process is different for everyone, I have friends that ask me what they should learn first if they want to become developers. But even with the advice, I give them, if you don’t fully commit yourself to learning, it is not going to happen. What I personally did when I decided that I wanted to learn how to code, as simple as it might sound, was ask google: “How do I make a website?’’. Then I took a course at Udemy, a course from Harvard CS Fundamentals, watched plenty of videos online, and googled a lot! What was also significantly helpful was a roadmap I found from a developer called Kamran Ahmed. There are definitely a lot of resources online but not everyone can learn the same way; many people prefer learning with a teacher who will guide them, provide them with feedback, and so on. Being a self-learner is not easy and it was also not easy for me; just talking to a screen and not knowing if I was doing things the right way, but I was determined and that’s what kept me focused on my goal. Of course, there were moments that I was overwhelmed by the things I had to learn, but I believe that’s normal when you start learning something completely new.
Eleni: And were the companies open to someone without a degree?
Girges: From my own experience, start-ups don’t pay that much attention to having a degree; what they really care about is if you are a good fit for the team and if you are being productive. In order to prove that, you have to do a lot of side projects and “upload” them to GitHub so that you have something that is indicative of your skills. You don’t have to brand yourself as a self-taught developer but rather highlight the experience you have gotten through your projects. That doesn’t mean that is going to be easy. It’s always a game of probabilities and you have to apply many times in order to find the right job for you, it is not going to happen with one or two applications unless you are very very lucky! I really can’t count how many applications I have sent, and for a while, I didn’t get a lot of replies.
I have applied to maybe 100–200 companies, I can’t really recall the number! For a while, I was only getting 1 or 2 replies and that, of course, was discouraging but I kept trying.
While I was applying, I used the time to teach myself new skills. I was researching the market for the skills that are mostly needed. My expertise is mainly on Node.js but during the time that I was applying for my first job, PHP was trending so I taught myself PHP as well to increase my chances. In fact, my first internship was in PHP.
Eleni: Keeping yourself updated to the trending technologies plays an important role in the tech industry, do you also have any other tips regarding the application strategy someone should follow?
Girges: What helped me was the advice I got from Imagine and also a friend that was living in Munich. More specifically, what I did was keep track of my applications. While I was applying, I used an excel sheet of all the sent job applications with all the information about the company, the status of the application, how many interviews I had, when I had them, and so on. It is a game of probabilities as I mentioned before, so you have to apply to as many openings as you can.
Besides that, tailoring my CV and improving my LinkedIn as Imagine suggested was one of the things that helped a lot with getting more interviews and passing the screening. I also suggest using a standard format for the structure of your CV like PDF because it looks the same on all devices, make sure to check your cv in a parser like affinda and of course adding the skills on your CV that are relevant to the job you are applying to. Finally, make sure you have done your research about the company, its values, and vision before going into an interview.
Eleni: Did you notice any differences between the interviewing process in Egypt and in Germany?
Girges: Yes definitely! It depends on the company, but on average the overall process in Egypt will take 2 or 3 interviews. In Germany the processes are longer, it might take 5,6 or even 7 interviews, but it is understandable because the competition here is higher.
Eleni: And what was the biggest challenge in the interviewing process in Germany?
Girges:I can’t say I found something particularly challenging. After spending enough time researching and studying about the interview questions and answers, it got easier. But you also have to be prepared to receive unexpected questions or questions you don’t know the answer to, and in case that happens just use common sense and be honest. Recruiters will appreciate it. There are plenty of resources online about behavioral or technical interviews. I personally used Glassdoor. I think a common mistake that most developers make is focusing on the technical interview.
Of course, it is important since it is a technical position you are getting interviewed for, but behavioral interview questions shouldn’t be neglected. Rejections are also not easy to deal with but I would advise people not to take them personally, it is not an indicator for you as a person or your skills, it is a matter of trial and error, and failure is part of it. Every time you learn something new and grow professionally and personally; in the end, you will find the perfect fit for you, like it happened to me.
That’s it. We hope you enjoyed the read. Now it’s time for action. As always, we are rooting for you. Keep us posted.
— Your friends at Imagine