How I landed a job as a self-taught developer at 17 years oldEmBlockedUnblockFollowFollowingMar 11Browsing Medium I keep seeing stories about different self-taught developers that managed to land a job.
Their story is impressive and usually manages to motivate a lot of readers.
Well today, I’m going to share my story on how I managed to land a full time Mobile Developer job at 17 years old.
Getting a job at 17 wasn’t just pure luck, it was the result of hard work over a long period of time.
Below I’ll explain each step of my process.
How did it all start?It all started when I received my first computer at the age of 8.
It was a really old Pentium 4 with 1gb of RAM.
It wasn’t much but it was enough to change my life.
As every kid out there, I mostly used my computer to play games.
One day at 9 years old — as I was playing a multiplayer game, I wanted to see how I can develop my own mods for the game and implement different features.
That was the first time I heard about the term programming.
The game was using a language called PAWN, which in reality was C.
Without realizing, I learned C by developing different mods for the game.
I was heavy using Google and different programming communities to seek for help whenever I was getting stuck, this helped me a lot.
Later on, I learned about compilers and how I can write different C programs outside the game’s environment.
That was the first time I decided I want to code real software.
So I started by looking up C/C++ tutorials on YouTube.
I was watching them and I was copying every line of code, without really understanding what I was doing.
My first program ever written was a simple Arithmetic Calculator written in C by just copying code from different sources.
But hey, the 9 years old me was really proud about it.
Discovering other programming languagesAs I was exploring the internet for different scripts and tools, I discovered a Romanian Cyber Security community.
The community was full of cyber security passionates, including White/Black hat hackers.
I felt in love with it instantly.
I wasn’t understanding a single thing they were posting over there, but I kept hearing the word “Python”.
That’s where I discovered what was to become my second loved programming languageBuilding a networkConsidering that the community was full of Security Researchers, a lot of the exploits that were posted over there were written in the Python Programming Language.
At that point I decided I wanna learn as much as possible about Cyber Security.
I started to learn Python in order to understand how different exploits work, how to write exploits and better understand how to fix / exploit different vulnerabilities.
I was just a kid amazed by the Cyber world at the time.
I picked up Python pretty quick, due to the fact that whenever I was getting stuck trying to learn/build something, the people from there were really glad to help me overcome my problems.
Whenever I was getting stuck building something, I would just go and ask them.
I was honored to spend time with people that discovered critical vulnerabilities in companies like NASA, Microsoft, Adobe and even PayPal.
My first real projectsI was 13 when I started to build real software that was somehow useful.
I started off by asking my friends what do they need.
At the time, I had a friend that was really good at building Web Scrappers.
So I started to do the same thing.
He used to give me different freelance projects, considering that he had a pretty good reputation on Elance.
com ( Now known as Upwork ) he sometimes used to forward his projects to me because he didn’t have time for them.
I started to earn money but it wasn’t much, however I didn’t care about it.
I was just happy that I was getting to develop real software that was solving real problems for people.
The feeling was amazing.
I managed to make enough money to get myself a better computer, so I was even happier.
I picked up HTML/CSS on the fly, without really trying to go deep into it.
Which was a total mess as you can imagine.
I started of by cloning the layout of Facebook and Google.
I also liked to head over to websites like Behance and try to clone different designs.
Keep in mind, whenever I was getting stuck at any step in this process, I would always go and ask my friends.
Which again, helped me a lot in this processTaking my first Web Development ProjectsMy first real Web App, was a Content Management System made for a student.
It was for his Bachelor Thesis.
I remember I had a lot of fun with it, it was a simple CMS that was managing employees and different budgets.
It was written in vanilla PHP, and jQuery on the front end.
That was also one of my first times when I started to actually use databases in the way they’re supposed to be used.
I had PHP & MySQL on the Backend, and SemanticUI & jQuery on the FrontEnd.
However, the code quality was garbage, there was no consistency, no design patterns, no nothing.
But hey, it worked.
After that, more students started to come to me to develop their Bachelor Thesis Projects.
Considering that sometimes the students were from the same university, I had to learn to develop their projects in different technologies so that the codebases weren’t similar.
That’s when I started to look into Flask ( Python ), CodeIgniter / Laravel / Lumen ( PHP) I was trying to develop each project with a different techonlogy in order to keep the codebases as different as possible.
Oh boy, there are so many engineers out there that earned their diploma thanks to me, I can’t even count them.
One day I was coding in Python, the next day I was coding in PHP.
This helped me develop myself in such a way that now I’m able to pick up programming languages & frameworks fairly quickly.
Different Frameworks and libraries were coming out every month.
Big boys like Facebook & Google released Angular / React.
JS started to become really stable, with cool frameworks like Express.
That’s when I decided I wanna be part of this.
From Web Scrappers, to different small scripts.
I wanted to to be able to say that I was there from the beginning.
Because in my view, frameworks come and go, but usually programming languages stay for a while.
So that’s what I did, I started from 0 again.
I started to build Web Scrappers in Node.
Js, I started to look into MongoDB.
I started to look over Vue.
Js and building projects for fun.
( Chat Bots, NPM Modules, you name it).
This was the time I started to be a real developer.
I started to use Stackoverflow more and more, I started to look into documentation, pretty much I learned how to get over problems by myself without having the need to ask different people.
This was hard, but it was all worth it.
One of the things that pretty much changed the way I develop software, was that whenever I had a problem, I would look straight into the language’s documentation, look into Github issues, and so on.
This was harder than expected, because there were times when the documentation just wasn’t enough or it was poorly written.
And that’s why, I sometimes had to check code under the hood, see how different people implemented different functionalities in different frameworks and try to figure out the problem by myself.
I was learning without even realizing!Getting my first jobI was 16 when I decided I should try to apply to a job.
The requirements were pretty low, and I was clearly overqualified for the position, but they rejected me.
I’m not sure if it was because of my age, or the fact that they were looking for students.
Funny thing is that a friend of mine, that was way below the requirements ( But was a Computer Science Student ) applied to the same internship, she got a call from them and then she rejected the offer.
( Ha! )What’s even funnier, is that later on I got a job with higher requirements than IBM’s Internship ( Ha! x2 )After that, I stopped looking for jobs.
I decided to just work on my skills until I turn 18, and start applying then.
So almost a year passed, I was 17, and it was December.
Keep in mind that this whole time I did not stop studying.
Considering that 2019 was coming and that I was about to turn 18 in August this year, my goal was to study React for 8 months, and then start applying to jobs.
Well, guess what — that didn’t happen ( Which is good ).
At the end of December 2018, a recruiter randomly found me in a Facebook Programming Group and proposed we should have a talk about a position on React Native for their company.
To be honest, I wasn’t feeling like I was ready for it at the time, but I decided to try to get as far as I could in the interview process because I had nothing to lose.
I had my first interview with the HR Department on 1st January.
Then she decided that we should proceed to a technical interview over the phone with a Senior Software Developer.
Oh boy, I was nervous.
I believe it was the 7th on January when I had my technical interview which actually turned out to be really really great.
The questions weren’t as hard as expected, and even though I didn’t know React Native, they accepted me.
What I really loved about the interview was that there were no algorithmic questions, they were purely practical Web Dev questions, and I believe each interview should be this way.
A few days later, I got a call that they liked me and we should move further to the interview with the CEO.
I picked up React / React Native in less than 2 weeks, and managed to understand how Redux works in less than 3 days.
Final WordsFocus on being a great problem solver and don’t mind all the new frameworks flying around you.
Make sure you’re understanding all the basics and that you’re at a level where you can make your own framework, if you want to be good long-term developer.
Don’t worry about jobs that much.
Focus on building connections and making friends, the jobs will eventually come to you if you’re good enough.
Also I wouldn’t try to apply to Internship or Junior positions, try to learn as much as possible and not be a junior when you’re applying.
Algorithms are a nice skill to have, but also keep in mind that in practice you won’t find yourself writing too much algorithms.
And if you do, you’ll be able to just Google them.