We've recently worked with James Collins, following company redundancies, and successfully secured James numerous interviews and several job offers. James has gone on to join Yoox Net-A-Porter as a Full Stack Developer. Tom sat down with James to get a better understanding of his career path and to gain some insight in to how others taking a similar journey can succeed.
Thanks for taking the time to speak James. One of the things that stood out most to me when I first approached you, was your lack of a “traditional” degree, considering the job you do. Not one to obsess about academics myself, I’d love to know how you got into the space? How did you get into development without gaining a degree?
It really all began by doing website builds on the side for friends and family, in around 2010. Originally as a way to make money, I started out by editing themes (which also saves you time, and lets the client get a better end product than I could build from scratch at that point!) and it was also great way to properly gauge my interest in developing. It allowed me discover new technologies and utilise the vast amount of free information that is very readily available online, instead of committing to a coding “boot camp”, which are typically quite expensive. There are countless sources like MeetUps and forums and friends you can speak to, to gain further insight as well. Use it all!
You found your first job with Dojo, over a year ago, and speak very highly about the time you spent at a start-up. How has your career benefited from working in such an environment?
The main answer is that at a start-up, you get a lot of “hands-on” exposure to a very wide range of things across the stack, architecture and general problem-solving, which gives you a great full-stack knowledge, and a lot to talk about when it came to future interviews. The exposure also meant I could see what my future interests were (based on actually trying it!).
You’ve mentioned previously that Greenfield work meant you had more time producing code, rather than stumbling across bugs all the time, slowing down your personal development.
Indeed, at a young start up, there aren’t usually any legacy code limitations (a complete rewrite of everything came out with a version 3 of the app – and that was just after the first year of the company being founded!), so time wasn’t spent architecting ways around limitations, or waiting on different departments etc. – that combined with the fact there will usually be at least a few more developers senior than you at a tech start up, you will learn very fast.
What do you think was the most important part of your onboarding at Dojo, considering your experience?
I wouldn’t say there was much of an on boarding process, but I didn’t know what to expect anyway, and assumed the process was all part of the “tech culture” that you hear about. There’s lots of self-starting and hard work, with not much structure, with targets and priorities changing all the time. However, this lack of structure gave me the freedom to learn exactly what I wanted, which ultimately turned out really well for me.
Is there a benefit to learning only what you need to learn as you come across problems?
For me, it worked really well as I work very effectively in those conditions (when I see a real need to learn something), and I am quite resourceful when it comes to doing stuff on my own. So in my opinion, yes, there is a benefit to learning what you need as you encounter problems, as in the real world of developing, building real applications, that’s how it usually is. Having fundamental knowledge usually helps diagnose faster, but in the end, you’re usually Googling for solutions (that wouldn’t be part of a computer science syllabus)
What are some the biggest challenges you faced and how did you overcome them?
With regards to finding my first development job - it’s hard to not get disheartened by rejections. Regarding my first role, it was mainly not knowing so many things when I joined, and having to work very hard to “stay 1 step ahead” so I could be working effectively. Getting stuck on big requirement coding/architectural problems, e.g: server side rendering, Google SEO etc. (which had business impact), with no one to help, but full responsibility for the issues, I just had to brute force them by myself which got frustrating at times.
What would you say to a Junior Developer working in any company at the moment, looking to make the most of their time but also keeping an eye on their next move?
Get yourself out there. Go to meetups to learn about topics. Create an app or something that will allow you to make mistakes and learn from it and play with new tech/tools. A role in a larger company will naturally give you less exposure to a broader range of technologies.
To keep up to date, you can revert back to MeetUps, the internet, you’re network/colleagues. But in my mind, the main one is to have something interesting going on the side - make an app or web application, ideally related to one of your interests (in my case this was cars - carspot.io). The end result is far more useful than any coding tests or code on GitHub. Most interviews I had ended up almost talking entirely about it (Dojo included) and it’s a way to show you’re interested in the full stack (which is what most start-ups need, a bit of a generalist). You will also pick up lots of real world “production” issues and experience which will improve your knowledge on more relevant things that companies ask in interviews than what you would learn in a programming book. Most companies asked “how would you make a website load faster” – you wouldn’t see that in a JavaScript book, but implementing caching, CDN, learning to minify code etc (which you would probably do if you’re building a “production” grade app) will give you all the relevant knowledge, and you can then demonstrate further knowledge with actual experience of implementation.
The reason you changed jobs recently was due to redundancies. What would you say to someone else in a similar position? Naturally, it is a stressful time but what have you learnt having gone through the whole ordeal?
You can start by speaking to Tom at Burns Sheehan! Keep calm, no need to panic, but start the process early (with jobs you’re not really that concerned whether it goes your way or not, for practice) because the fact at most start-ups, the people doing the hiring (including the developers) are pretty busy the timeline isn’t always that quick. And then when you feel ready, apply to your favourites.
Thanks James. It’s great to get your insight as to how your career has developed. Is there anything you would like to add?
I definitely for me, think the start-up and then into bigger company was the best career path to take. You’ll probably learn faster, and be using more cutting edge technologies, which makes it fun. There’s obviously a trade-off between structure and compensation (and in my case, job security!) between a start-up and a bigger company though. I personally couldn’t imagine going the other way, as taking a pay cut (or passing over a much higher paid opportunity) in London is a tough pill to swallow! I think at the end of the day, it all really boils down to personal preference, and the companies in question. Also (from my knowledge/experience) lots of people in start-ups tend to be much younger/newer to the market, and so doing it first, your colleagues are likely to be in a similar situation to you!
Are you looking for your next move? Take a look at our jobs page, or if you're simply browsing you can read other posts from our blog here.
You Might Also Like:
The Road To Product Management: An Interview With Carlos Silva, VP of Product at Jinn
Lessons I've Learn From Working With Mobile Development Teams
A Niche Within A Niche - Can Developers Keep Up With Constantly Changing Frameworks?