A piece of advice to new developers
Third post inspired by my experience as a coach at LeWagon Bootcamp - and by some experience with hiring and working with junior developers or more precisely developers looking for their first job.
The second batch of students from LeWagon Brussels Bootcamp has now been released to the world - we had the chance to have more than 100 people for their Demo Day last Friday.
For most of them, it's now the time to get further with their ideas and hopefully make them grow into companies, but for the ones aiming at careers into web development, it's now time to find a job. This post is mainly a summary of discussions I had with several of them - I hope it can be useful to other bootcamp alumni or young developers in general.
Every job posting requires experience!
Short version: they are lying.
Longer version: most companies will require experience, because they create job postings for what they dream of, not what they need. As long as the market stays as it is (experienced profiles are few, busy and expensive), they most probably will have to settle for less than what they said (or be prepared to pay the price and face a recruitment process that may be very long).
So, what do you do? If you find a job posting that looks interesting, go for it. Don't lie, show the experience you have - you have nothing to lose there.
As a (rather limited) sample, my first developer job was advertised as a position for someone with a degree in programming, 3 years of experience and a certification - I had none of that, and I did get the job.
What can I put in my CV/portfolio?
As a bootcamp student, you have something valuable: A GitHub account with the various exercises & projects you built during the bootcamp. The most interesting part is the final project - the last two weeks of LeWagon are dedicated to build a project of the student's choice (in teams). That's a pretty good thing to showcase.
It's imperfect, flawed and the code is probably dirty, but look at it the other way: you are just starting in this industry - we don't expect you to write perfect code, but your project is showing your willingness and capability to deliver.
Also, by just having some code on GitHub, you're putting yourself ahead of 80% of the developers that have nothing to show (mostly because they did work for companies which are not publishing any visible code).
Of course, don't just include your GitHub profile - tell your prospective employer what to look at ("This is the project we made in two weeks - it's helping climbers to find good spots"). A running version of the project is of course even better.
If you're not out of a bootcamp, same advice: try to build something useful to people around you (your family - your sport club - whatever) and showcase it.
What if I don't know (all) the stack?
If the position is entry level, we expect you not to know much. Actually, I used to say that when recruiting juniors, we don't expect them to know anything at all.
In other words, we are looking for attitude/capacity to learn more than specific technologies.
Taking LeWagon example again, we're teaching Ruby On Rails. Now, if a job posting is about Java Web Development, you are already more than half way there:
- You know the concepts of the Web and OO
Your Rails knowledge will probably not be useful, but most web frameworks I've worked with have some kind of controllers - it's just about finding how they are named.
Again, be honest ("No I never developed in Java") but positive - you learned that full stack in 9 weeks, surely with the support of a team, you'll learn what you need very quickly.
Key thing here is that in your first years, you should optimize for learning, not money. Ask about the team you'll be working in - having some senior people there is the best way to learn, mostly by just working with them. I'm lacking formal training in almost all areas that are today my specialty (programming, Agile) - I learned by working with people.
This does not means you should work for nothing (see the next point), but should you have any choice, aim for the place where you think you'll learn the most.
Here in Belgium, we have a disturbing trend of unpaid internships. Even worse, some companies are actually relying on a never-ending stream of interns to actually fill in some of the low-level positions.
Yet, an internship is still the second best thing after a job - you'll be doing real work.
The key here is (again) not the money: it's whether the company has the capacity and willingness to really coach you. It's not easy - I did that, either onboarding young developers or at one time working with an intern. It easily takes 50% of the time of a senior, and to be honest, it's not giving back the same value (experienced developers can work two, three, five times faster than starting ones).
Best situation for both the company and the intern is when the team is actually a bit larger (2-3 developers), because then it's easier for them to share the "load" and for the intern to get quick answers.
So: look for internships, but try to see where/with whom you will be working. If you're going to learn a lot, the money is not really relevant - it's for a limited amount of time, and you'll be better at the end with a good experience than with some hundreds of euros.
Be sure to extract a maximum value: ask them for a recommendation before leaving, and eventually for some contacts in companies that are hiring - in a small country like Belgium, the programming scene is a small, tight-knit world - we know each other.
Finding a first job as a developer, bootcamp or not, is not easy - but let's face it, it is still much easier than in most other industries.
Opinions? Let me know on Twitter!