How to hack your way into a programming job with little experience

Jon Tonti
7 min readSep 30, 2015

Are you on track to get a job yet?

Taking the decision to become a developer is exciting. There’s the promise of higher salaries and companies lusting for your skills. The dream of being able to hack together that MVP in your room late at night to launch the next unicorn. Or perhaps it’s just the comfort of starting a career that will keep you and your family in the middle to upper income bracket.

But as challenges arise throughout your learning path, and the more you know the more you realize you “don’t know,” a stark reality begins to set in. You realize again what you knew all along, that “learning to code” although enjoyable and exciting is a means to an end. That end, a job, and a good one. You might panic thinking “I will be going up against ‘real developers’ that have CS degrees from known universities. If I’m self taught, or a bootcamp grad, how will I compare, and how will I get the job?”

Although you have heard and in-part believe the mantra All good developers are self-taught, you still think that’s easy for someone with a CS degree to say.

If you are aiming either to be a self-taught developer or have plans to be a code school grad and are worried about getting a job, don’t fret. We interviewed self-taught developers that have gone on to successful careers working at recognized companies, and one successful freelancer/entrepreneur. We found commonalities regarding the actions they took in the lead up to getting their first programming job, and we’ll share those with you here.

#1 Build Out Your Digital Footprint

If you are becoming a developer, odds are you don’t love marketing. Don’t think of this as the “need” to market yourself, but instead an opportunity to share your code and your passion. You will need a:

  • Stack Overflow profile (have a careers profile even if you don’t contribute to questions)
  • GitHub profile
  • Personal Blog

Both Git and Stack profiles are pretty self-explanatory. Obviously, the more reputation points you have have on Stack and the more contributions you have on Git the better, but just the mere fact of having both profiles active allows a recruiter to find you and check the box that you are registered in relevant developer communities. “I think an appropriate and professional (no meanness, negativity, etc.) digital profile is very important,” said Scott Hanselman, a Principle Program Manager at Microsoft, and self-taught developer, although he did go back at night to get his BS in Software Engineering over time.

A personal blog, or at least the beginnings of a personal blog, was another important component among our interviewees. “I think that having a blog of your own let’s people know that you know what you are doing as a programmer, because they can take a look at your code, what you do, and the way you do it,” said Oscar Bralo, a self-taught programmer that now works at Mediatech Solutions using C#, Python, and doing web security.

Laurence Bradford of Learn to Code With Me took a winding path that started with the aim of becoming a full-stack developer seeking a 9–5, but ended with a career as a freelancer / entrepreneur with clients such as About.com and a revenue stream from her own blog. Even though you may be on the full-stack 9–5 track (as was Laurence), that path may lead you to a different end that fits you even better.

#2 Don’t Worry About not Having a CS Degree — You will be Tested

Really, it actually doesn’t matter, if you know your stuff. You are not trying to get into consulting at a Big 5 firm, the prestige of a particular school or title is not a prerequisite. Similarly, in software, it’s not who you know, it’s what you know.

“Most of the places [companies] I talked to didn’t care about that stuff, they cared about the work you had done,” said Mazin Power, self-taught, and now working as a developer at Just So. “Most people are like…do you have a good attitude, and have you done work that we can look at that shows what you can do?” Power went on to explain that while deep in the interview process for a competitor to Uber, the Tech Lead interviewing him reviewed the work he had done while working on The Odin Project.

Hanselman expressed a similar sentiment,“I never had a company care if I had a degree. I only see that in large companies. Usually if you talk directly to the recruiter it doesn’t come up.”

The overwhelming response from the interviewees is that demonstrable work and being able to pass the coding interview are the most important things. As far as preparation for coding interviews, there’s no magic. Hanselman mentioned that he “studied Code Complete, Programming Pearls, and books on Algorithms,” while Bralo said that he “coded every single day…nothing special, only hard work everyday.”

#3 Take a Low Paid Project and Build Something for Someone Else

“The thing that employers really want to see is that you have done something before, something that is not a personal project,” hinted Power. Power has a friend who is a touring artist that needed a new website. Instead of setting her up with a Wordpress blog, which he said he could have done, he built a fully functional web app from scratch using rails for the sake of learning and producing something he could point to. Mazin noted that “that’s the first question they will ask you at recruitment fairs, they will say ‘you want to get a junior role…what have you done? Have you done anything?’” He remarked that what he built for his friend wasn’t particularly amazing, but “it’s enough to get your foot in the door.”

#4 Be Active in Communities

There is no right community for anyone, but having a community itself is imperative.

“Do it in a team. Start a code club with other juniors. Get a mentor. You can’t do it alone,” explained Hanselman.

Power echoed that sentiment. “Going to Meetups is really fun, you meet people and kind of get a flavor for what working as a developer is like. It definitely helped because it’s one of those things that puts momentum behind you, it keeps you moving.” He said it’s so important because “you have to really be able to motivate yourself to pull this thing off.”

Bradford and Bralo brought the community to them: Bradford started Learn to Code With Me while Bralo started Top Blog Coder. They both publicized their journey into development, which ended up attracting clients / income for Laurence, and mentors / friends for Oscar that kept him going.

#5 Code Everyday — Duh!

When asked about coding routines in the leadup to getting their first development jobs there was no common routine among our interviewees beyond just coding everyday. Most had other jobs or other freelance contracts while training themselves up, but found the time to treat learning to code as a job.

“I worked full-time for a good 9 months everyday,” stated Power. “That was a combination of working for money or working on this [learning development]. I didn’t give myself weekends, I didn’t take holidays, it was work or work, work for money or work to learn how to program.”

“When I started programming, it became one of the most important parts of my life. I was working a different kind of job. I fell in love with programming, so everyday after coming home from my regular job I studied 4 hours per day and more than 10 on weekends. I started with competitive programming because it was funny, and it helped me practice all the time,” added Bralo.

“I didn’t keep a formal schedule. It’s a muscle, though, and you need to exercise it,” said Hanselman.

#6 Anyone Can Do It, If You’ve Got The Heart

Sometimes it’s hard to believe that it’s what people do that makes them successful not who they are. Some people look at software developers and simply assume that they have a natural ability to code and that’s why they are developers. Not so. When we asked Scott if there was something unique about him that enable him to become a successful developer he said “no, with all things you have to do the work. Do 5000–10000 hours.”

Similarly, when Oscar was asked the same question he laughed and said “Unique? Ha ha, a direct NO. I have the opinion that anybody could do what I’ve done, because you only need two things: (1) HARD WORK day and night, and (2) the most important, to LOVE what you do. If you love what you do, then, it doesn’t matter if it takes you 2 years or 4, but you will do it. Oscar said he studied for 2 years before cracking into a programming job, but keep in mind he had a full-time job while studying.

#7 There is Not One Single Path to Becoming a Successful Self-Taught Developer

Self-taught is pretty broad term when thinking about all the resources that you can use to teach yourself development. Our interviewees used web resources, books, coding challenges, and communities to help them learn and stay focused. Scott exclaimed “Read, read, read. Read more code than you write,” while Power, a fan of web resources, said books helped him “fill in a lot of holes” because of their thoroughness and depth. Bralo stated that his main resources were online courses, many of which came from Pluralsight, but you have to keep in mind that he likes competitive coding so his fundamentals were strong.

#8 One Last Piece of Advice

As a final question for our interviewees we asked them for one piece of advice they would give to aspiring software developers looking to take a nontraditional path to their first job as a junior developer. Hanselman was concise with his advice to “learn Javascript and a systems language.” He even wrote a blog post on it.

Bralo and Power echoed persistence and dedication.

“Forget about what people say. If you love what you do, and believe it’s right for you, go for it, fight for it,” remarked Bralo.

“Work your ass off, and don’t give up,” Power added.

--

--