How I Went from Electrical Engineering Student to iOS Developer in 5 Months

6 minutes

Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life.

Today’s story is from Eng. Omar Elsayed, a 23-year-old iOS Developer, living in Cairo, Egypt. Omar is hosting a community workshop where you can learn how to build an OpenAI chatbot mobile app for iOS. It starts on January 30, sign up for the three-part workshop now! Read more stories from Codecademy learners here — and be sure to share your story here.

Why I chose to learn to code 

“After finishing high school, my goal was to be an [electrical] engineer. My uncle bought me an iPad as a reward for my good grades, and there was an app called Swift Playground that came pre-downloaded with the device. I opened it and coded with Swift for the first time. It was a playground designed to teach children how to code with Swift in a game format. The goal was to move the avatar, collect friends, and I enjoyed it so much. 

Join our workshop with Omar

At first, I started by opening YouTube, watching videos, downloading Xcode [Apple’s integrated development environment for macOS], and playing around with it. My initial project involved creating magic effects for people. It was a playful experiment, but then I decided to take it seriously. I committed to the iOS Developer career path offered by Codecademy, marking the most serious phase of my journey. I was fully determined to pursue this path and continue my learning.”  

How I made time to learn 

“I learned between my classes, incorporating quick lessons on new codes or structures used to create elements within an app. Sometimes I continue my learning after finishing my classes and, on occasions, very early in the morning. I have a routine of waking up at 5 am every day. 

I really dislike it when people claim they don’t have time. When you observe successful individuals, like Steve Jobs — who I greatly admire and is one of the reasons why I became an iOS developer — you see their dedication. He worked tirelessly every day until he achieved a certain point, and even when faced with setbacks, he didn’t give up; he persevered. 

Selfie of Omar learning to code on a laptop with glasses, holding a thumbs up.

With dedication and hard work, you can accomplish your goals. Many constraints are self-imposed, like the excuses of not having enough time, finding it too challenging, or lacking resources. You have the choice to either accept these excuses or create your own path, define your own values, and live on your terms.” 

How I saved up money to switch careers 

“I had a conversation with a friend about an app idea. We decided that I would handle the iOS part due to my passion for it, with the plan for her to create the Android version. She mentioned a course on Codecademy, and since she had an account, I used it for the course, progressing until the last few modules. I wanted the certificate, so I asked if we could change the name to complete the course on my own account. She said no, so I contacted Codecademy explaining that I had progress on another account. They were able to transfer all my progress to my account. Then, when I joined Code Crew, the rest of Pro was paid for me.”   

Want to join Code Crew?

Code Crew is all about creating supportive and inclusive environments for the Codecademy community. Members initiate discussions, help answer questions, organize events, facilitate discussions, and maintain Docs. Learn more and apply to the Code Crew.

How I got in the door 

“There was a post on LinkedIn written by someone named Aleksa discussing why you shouldn’t hire Junior Developers. I came across this post and decided to leave a comment, intending it purely as a joke. In my comment, I asked if there was a place for me because, at that time, I considered myself a Junior Developer. It was all in good humor. 

Surprisingly, the owner of the company where I currently work, responded to Aleksa mention of me and asked for my thoughts. Aleksa suggested in a comment that I reach out, so I did, and that’s how I landed the job.” 

Want some tips for using LinkedIn to land a job?

Read this blog for expert tips for networking using LinkedIn, including how to phrase a message to someone you don’t know.

How I nailed the interview

“The next day, I had an interview with them, and we discussed details about the app, its purpose, and the impact it aimed to have on people’s lives. I found the concept of the app appealing, and I agreed with their vision. I moved on to the next stage, a technical interview with Adam and Alexa. Following the interview, I successfully secured the job. 

If you’re passionate about your work, you won’t find the need to study before an interview because you’re constantly applying your knowledge — it’s a top priority in your mind. If you’re working solely for the money and lack passion for your job, then you’ll be afraid of interviews.”  

How I evaluated the offer 

“I didn’t want to reject the offer, because at this point, I was eager to start [working]. The one thing that was a deciding point for me is that there was no salary. This was a moment where I had to make a decision on what to do. I talked with my father, though I already knew my answer. Before discussing it with him, I had made up my mind to say yes. I couldn’t turn down this opportunity. I accepted the offer, and they granted me a 1% stake in the company. Currently, the percentage doesn’t have a significant impact because they’re a startup, but I am optimistic.” 

How day one and beyond went 

“To be honest, the first day was a bit overwhelming because there wasn’t a formal technical onboarding that guided me through the code and its flow. I had to navigate the code on my own, which initially came as a shock. The architecture was different from what I was accustomed to. This left me a bit confused, but I tried to control it by looking at the code, trying to understand it, and asking questions.  

The first task I was given involved localizing the app to different languages, specifically English and Arabic. I got to know a little bit more about the app, because I had to change every string to a specific key, so it could automatically translate. In doing so, I had to navigate throughout the code, changing each string to a designated key. This made me very familiar with the codebase and more comfortable.”  

What I wish I knew before I started learning 

“You can’t let the past decide what you’ll be in the future. I wasn’t very good in school; I failed so many subjects and it was a mess. In Egypt, the last year of high school determines where you go to college. If I let my past decide who I would be I couldn’t become an iOS developer. Don’t look at the past hour, or the future hour — just look at the hour that you are in right now. The future is an unknown and you cannot predict it. So the only thing you have control of is this moment, so enjoy it and do your best in this moment.” 

Learn like Eng. Omar

3 courses

Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests.

Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community.

Related articles

7 articles