How I landed my first Javascript Development Job and got 6 figures for it, without having to apply to a single job. Yes, the jobs came to me. At some weeks I was doing 3-4 interviews over the phone; I ended up getting a couple of offers both offering 6-figures per year in compensation. Here is how I did it.

Developing Early Hatred of Programming

My parents made a HUGE mistake when I was 15 years old.

They got me my first computer (This was not a mistake), but then they put me in a beginners course to learning computers. Turns out, it was a programming course. Yup, it was a bad idea for a kid like me, who didn’t know how to use a computer yet.

Well, they didn’t know any better. They trusted the lady who recommended the course.

I went through the agony “Trying” to learning programming when I actually didn’t even know the basics of computers. It was brutal

  • The instructions went over my head,
  • I could not understand the assignments,
  • My code was buggy,
  • It was a hit or miss to make even the simplest things to work
  • I would stare at the screen for hours, and would be glad when the session was over.

Thank God, the tests were multiple-choice questions! With some guessing and sneaking over other students answers, I barely passed the class.

From that point on, I hated programming and thought I would never do it in my life.

Subconsciously, I developed this belief “Coding is not for me”.

Exactly 10 years later, I found myself wanting to learn coding.

Remember, I didn’t have to learn to code, no one asked me to, somehow I badly wanted to learn to coder. I chose to become a coder.

I went from someone who literally hated programming, to someone who loves programming and landed a six-figure job as a first-time developer.

Self-fulfilling prophecy “Coding is not for me”

In early 2011, I was building a tech company. As a single-founder of the company and on a shoe-string budget. I had a single developer working for me. Funds were running out, and I didn’t have a stable developer working for the company.

I knew HTML and CSS (Due to my Photoshop and Web Design Background), but coding is different, very different.

I was in a vulnerable state! I was running a tech startup and I didn’t understand its tech. pretty bad. I didn’t have a co-founder to complement me in my skills, a technical co-founder would have been nice. This meant that I was totally not in control of how the technology ran.

My different developers could:

  1. lie to me on how long a certain assignment took
  2. take down the website and hold me hostage
  3. be unavailable due to any emergency
  4. simply produce low-quality buggy application and justify how hard that bug is to fix due (hiding their poor skill-set)

With that, I had a low budget to sustain even a single developer on a full-time basis. This forced me to learn Ruby On Rails. The framework we used for our startup at that time. Yes, at that time I was forced to learn.

I bought a Rails course from Udemy, I read the Rails Tutorials on the official site, I read a popular book on rails twice and followed its instructions at least 6 times. No exaggerations. This helped me at least understand what was going on. 3-4 months into this and I still could not develop event the smallest enhancements to my web app. I didn’t have the confidence, resourcefulness or the understanding to code. I was at the mercy of my developers.

I could definitely conduct a conversation about coding, that would have sounded very intelligent on the surface, but honestly I didn’t have anything to show for it.

I gave up on Rails in late 2013.

My self-imposed belief “Coding is not for me” became a self-fulfilling prophecy.

Discovering Javascript

There is a beautiful stopwatch app, I installed from the Chrome App Store. I really like it since it helps me stay productive. This app was missing a feature. What if I could record my tasks while I time myself. The task feature was missing from this stopwatch app.

I thought to myself, what if I created my own app with this feature that I want. On second thought I said, “forget it Aziz! you can design websites, but coding an app is not for you. Self-imposed belief talked me out of it once again.

Around the same time, I stumbled upon a course on jQuery – a popular Javascript library which is very easy to use. I don’t know what had me take that course, but I took it. Immediately, for the first time in my life, the instructions made sense to me. I could internalize the concepts. If my code broke, I could easily troubleshoot and fix the problem. It clicked for me.

Part of the reason is that Javascript is a very flexible language, and when used correctly, it can make you a very powerful developer.

Due to my fear of coding, I had avoided Javascript as well. Besides, historically Javascript had a bad rep in the developer community. But since the launch of Douglas Crockford’s book “Javascript: The Good Parts” in 2008, the Javascript community was getting the attention it deserved.

Not just that, Node JS was getting popular in the community. Node JS enabled Javascript to be run outside the browser, like any other language. This meant that now Javascript could be used to replace tasks done with Ruby, Python, Java, C#, Php, Go, Perl or any other language imaginable.

Listen: This is not a small thing, its a breakthrough.

Typically you need to know HTML, CSS, Javascript plus another server-side language (ruby, python, C#, PHP etc.) to build a full fledge application.

Now you don’t have to learn anything more than HTML CSS and Javascript.

Plus, if you use this stack only, You can build Windows 8 Apps, Kiosk App (Like I built for United Airlines Airport terminal), TV App, Mobile App, Web Application. You name it. HTML CSS and Javascript combination is the most powerful and versatile web stack.

The tables turned, I wanted to Learn to Code Now

Now I wanted to learn coding, I wanted to build that StopWatch Task app, I wanted to be fully express my ideas because now I saw I could be that person who can actually realize my ideas into reality without relying on other people and without going through the agony of hiring.

I was the master of my journey and destiny again.

But there was a problem. There was not a single resource on the internet that could teach me Javascript in a structured way – In a way that the learning gets internalized fast. Just like that jQuery course! I searched for months, read many blogs, tutorials and exercise, but I could not get confidence. That is when I subconsciously began to distinguish patterns on what makes a great developer, vs what makes a developer wannabe.

I began to learn and implement my code in a structured manner, and soon got the confidence to update my resume, and start interviewing.

At that point, I also came up with the Idea of iLoveCoding. A website that would teach in a way the got me to love coding, in a way that speeds up learning, in a way that makes a developer great.

Jumping Into the Water, and then learn to Swim

I had a ton of experience designing websites, but designing and developing are two totally different skill. In fact, you will notice that most developers are not designers and most designers are not developers. I decided to jump into the job market and test the waters. I updated my resume and there were a few key things I got right

Focus on your Website Design and Development experience

Now I had done, E-Marketing, Project Management, Web Designing and had run multiple startups as well. In all of my experiences, I had touched the web. I updated my resume and focused my experience to highlight all the ways I had worked on Websites.

  • Using a Content Management System, like Drupal, WordPress, Joomla, Adobe CQ etc.
  • Designing Websites, in Photoshop, HTML and CSS
  • Some jQuery copy pasting I did to make some Web features work
  • Strategizing Website Design
  • Managing Agencies in Web Development and Website Migration Projects.
  • Managing Teams to build Web Applications and enhancing its features.
  • Search Engine Optimization

Now the above is good, because, it highlights I am in the Web Business, but It doesn’t highlight my development skills.

List your Development Skills in the Skills section

A typical resume has at least these two section – EDUCATION and EXPERIENCE. I added another section called SKILLS at the bottom of my resume. I put the names of all the Javascript Frameworks I was learning, and the ones I was getting familiarizing with even the slightest bit. Of course, I didn’t have any meaningful projects built with these technologies, but I had to tell what I knew.

I later realized, separating the skills section from the experience, while making the experience section focus on the web projects, gave the impression to the robotic recruiters that I knew these technologies and have been implementing it for many years. Most of these recruiters don’t even know that a lot of the Javascript frameworks are not even a couple of years old.

I updated my resume ethically, didn’t exaggerate, nor lied. If I didn’t know EmberJS, it was not in my resume. If I started learning it, it made its way into my resume. There is absolutely no point in lying, Truth always comes to the surface without exception. If I was asked in detail about my experience with that particular technology, I would tell them.

Attracting Recruiter Calls with my Secret Weapon

My secret weapon: Dice.com. Forget Monster.com and CareerBuilder.com. I applied to dozens of jobs via them to no avail. But with Dice.com, I didn’t apply to jobs, the jobs came to me. I completed my profile on Dice.com, uploaded my resume and I was done. Dice.com has become a very popular job search site in the technology space. Big corporations want talent faster then the HR department can hire. So they hire these recruiting companies to do the work for them. 60% of these recruiters are robotic. They don’t know technology and its jargon. They don’t know the difference between Java and Javascript. They don’t know what the heck is AngularJs, NodeJs, Jquery, or names of other technologies.

These recruiters are given a job description from the big companies, and they scan for keywords within the job description. Next, they go to Dice.com and find any and all resume’s they can find which has the keywords in them. Yes, they are humans, so they try their best with their limited knowledge to find a good match. Next, they start making the calls to potential job candidates (like me).

Since there is more demand for a Skilled Javascript Developer then there is supply, a Javascript Developer gets a ton of calls from recruiters desperate to place you at a job. They are literally working for you. It’s in their interest that you get placed, so they can earn their commission.

Although there are many robotic recruiters, the successful ones are aware about the technology and market they are recruiting for. They are not professional technologists, but they know enough to intelligently screen people.

Since there is more demand for a Skilled Javascript Developer then there is supply, a Javascript Developer gets a ton of calls from recruiters desperate to place you at a job.

Giving 3-4 Interview per week

The market was in my favor. Some days I would get 10-15 calls and emails. In the slow days, I would get 5. About 30% of these inquiries were total mismatch for my skills. Even then, I was so much in demand, that I would screen based on money and location. It was natural that I would pass the initial screening because I was passionately learning about Javascript and its framework. Next, I would be scheduled for an interview with the companies who were hiring. Passing those interviews was more effort.

I failed half the interviews I did in the beginning. They asked me technical questions, gave me code tests etc. and with every subsequent interview, I would get better. Listen, highly paid professionals were spending an hour at a time with me and that cost me nothing. They were helping me get better and practice interviews for free. The interviews I failed, I categorize them as practice interviews.

With time, I got better with coding and my interviews started to get a little better. Now I was passing more interviews and I was going to the offer stage. Finally, I got 2 offers at the same time, both offering me 6-figure compensation per year, and I had the liberty to choose. I accepted one of the offers, and I was officially a Sr. Developer for a Fortune 1000 company.

I  did approximately 12 interviews, and in my busiest week, I did 4 interviews. The market wanted a person with my skill-set so badly that I never had to apply to a single job.

The plethora of jobs in the market allowed me the luxury that I could do an interview, fail at it and still not be worried about missing an opportunity. I knew the next opportunity was going to come to me the next day.

Commanding 6-figures

Here is why being a fresh Developer, with little to no experience, I still managed to command a 6-figure income.

  1. The market for a Javascript Developer is Booming, Its very difficult to find a good Javascript developer. Companies have to pay more to attract quality talent.
  2. I negotiated my income with the recruiting agency before my resume was submitted to the Company. Recruiting agencies are given a budget by the company. So they are really upfront about the numbers from the first conversation. If they don’t bring it up, I brought it up early before I gave any interviews.
  3. I gauged the market, by letting the recruiting agency give me their number first. I kept my mouth shut when I was asked for my expected income. When they told me their number, I was happy to learn it was already high. There were many lower income jobs as well. I screened them out from my initial conversation. I knew from so many calls, what the market rate was.
  4. I was open to Full-time, contract and contract-to-hire positions, which typically pay more. Yes, contact jobs do not offer Employee benefits, but the rate of a contractor is high enough to justify the benefits not being included. (I did my math, let me know if you’d like to learn about that more.)

Contact positions have a finite term. You could have a 3 month, 6 month or 1 year contract. Personally, these contracts ALWAYS renew, because they need people, and the work is there. I felt no difference working as a contractor vs a full-time employee in the 3 companies I contracted at.

Your path could be faster. What I learned from my journey to learn to code, is all in iLoveCoding Tutorials and Screencasts. Join iLoveCoding Pro today, and accelerate your path to becoming a Great Developer.

Author:

I, Aziz Ali, am a Serial Entrepreneur, Geek and a Learn-a-holic. I went from someone who literally hated programming to someone who now loves to code. Aziz went from the mindset of “Coding is not me” to becoming a Great coder, and now I welcome any coding challenge. I have launch dozens of websites, Worked with 3 Fortune 1000 Companies; Developed the United Airlines Airport Terminal Application, Developer Mobile Web Apps for CVS Health – All via Javascript and its awesome frameworks.