When I started writing for this blog, I had just come to the end of a 3-month voluntary unemployment period, during which time I had worked hard on building up a portfolio of work that eventually led to landing my first tech job. At the time, I wrote about that journey with the aim of supporting and encouraging others considering a similar path.
Six months have passed since I took my first step onto the tech career ladder, and although it hasn’t been long, I’ve learned a huge amount that I couldn’t possibly have known before I took myself down this rabbit hole. With the benefit of hindsight, I’ve collected some observations and tips for the benefit and interest of anyone hoping to take a similar path.
Asking for help
You’ve just convinced a company to hire you, and now that you’ve started, you might feel that not knowing what you’re doing is a very bad start. Before I landed my first gig, I’d taught myself to write (and had published several) mobile apps, and I thought that I was coming into the job with a wide range of useful skills that would see me hit the ground runnin. Yet after just one day, I felt totally overwhelmed. Almost immediately, I was knee-deep in advanced Git commands, Kibana queries, setting up build servers, understanding cloud architectures, managing CI, Calabash UI tests, and so on, and so on.
Fortunately, there was no shortage of colleagues and mentors whom were more than happy to help get me on my feet. And I’ve since spoken with many other junior devs from other companies who have had a similar experience, so thankfully it seems endemic to the industry, not just my company. It doesn’t make sense to suffer in silence. Your team wants you to succeed, and understands that you won’t know everything, so they see the benefit in answering any questions you have. One particular colleague responded to my apologies for asking stupid questions with “there is no such thing as a stupid question here, only stupid answers”, and that’s resonated with me since, as I continue to soak up as much knowledge from my team as I can.
So ask, and keep asking. It’s expected of you.
The learning curve
As I alluded to in the previous section, be prepared for a very sharp spike in your learning curve. There will be a huge amount to learn not just on your first day, but constantly, as you and your team look into using new technologies or better utilise ones you’re already using.
You can give yourself a little bit of a head-start. Learn version control thoroughly, as you’ll be collaborating with other people on the same code repos, so you’ll need to get familiar with branching and making pull requests. Make sure you’ve studied unit testing, because the code you write to test your apps is more important than the code you write to build your features. Learn about mocking frameworks and experiment with different unit testing frameworks, dependent on your technology of choice. Learn to read and understand stack traces, so that you’ll be able to track down bugs easier.
But even if you master all of the above, you ain’t seen nothin’ yet. You need to be prepared for – and be excited by – the prospect of having to learn new things every day.
Thinking back to my first few days, I remember feeling that I’d managed to convince my new employer that I could actually do a job that I was in fact massively unqualified to do. I thought it was just a matter of time before I was found out, and politely escorted to the exit.
It turns out that a lot of people feel this way, and a lot of the time, I still do. It’s something that I’ve realised I should get used to. With technology improving and evolving faster than ever, the fact is that you’ll probably never become a master of your domain. There’s always way too much more to learn and understand. New frameworks, new ways of thinking, even new platforms. Everyone in your team, from seniors to mid-levels to you, are going through the same thing. It’s just a part of the job, so don’t worry about feeling like you don’t know everything. Because you never will. And that’s OK!
The gender gap
Before I moved into tech, I had been working in the media industry. At all of the places I had worked, women were very well represented – at my previous company, the entire workforce was 55% female, most of my successive line managers were female, and the same was reflected right up to the exec team (I’m only talking about employment figures here – I have no idea about salaries). This was immensely positive and I strongly believe it played a huge role in the company’s impressive successes.
Before I got into tech, I had heard about the under-representation of women in development/engineering roles. But it was still a shock when I attended my first engineering all-hands, where in a room packed with people, I could count the number of women in the room with just my fingers. There are very talented women in my team, and they make up about 30% of the headcount, but their roles mostly cover product management, UX design and QA – only a fraction of the coding engineers are female. A stroll down my office floor paints a similar picture.
This observation has been perhaps the only negative part of software engineering I’ve encountered so far. Reading up on the subject, I think that this is a problem endemic to the west, a cultural stigma which stereotypes programmers as predominantly male. Only 16% of computer science undergraduates in the UK are female, a shocking statistic, whilst in India the balance is more like 50-50. I think our academic systems need shaking up, and many more young people should be exposed to and encouraged to take an interest in engineering and logic-based activities from an earlier age.
A career for life
I made a mistake when I began applying for jobs. At the top of my CV, below my email address, I added my phone number. At the time I figured that it’s just something everyone does, after all it’s much easier to answer any questions a potential employer has if you can converse with them directly. Unfortunately I had underestimated the demand for developers. Tens of recruitment companies grabbed my public CV within hours of me posting it online, and in the beginning it worked in my favour – by the end of the following day I had secured 3 face-to-face interviews and a few telephone interviews, and by the end of the following week I had a choice of job offers. But despite wiping my CV from all of the places I had posted it, 6 months on I still receive a phone call at least once a week, and receive a couple of direct emails per day, all asking if i’d be interested in new opportunities.
It’s a bit annoying, but I don’t mind it so much. It can be very insightful and interesting talking with some recruiters, who are happy to spend time talking to you even when they know you’re not looking to move on any time soon. It gives me a lot of confidence that when the time comes for me to move on from my current job (which I don’t intend to do for a while), all it should take is a few calls and emails at most. I’m in a lucky position, where employers (generally speaking) compete for candidates, rather than the opposite. It also presents the possibility of taking a break from my career, to perhaps travel or learn something new, and then being able to get a job once I’m ready to. It’s very comforting.
Share your experiences
Have you had any different experiences? Do you have any other tips for new techies? Please, share them in the comments, or feel free to ask questions!
Image credit: Tirza van Dijk