It has been too long since my last post! I suppose that’s what working full time again does – you find there is far less time to write regular blog posts!
As you will know if you’ve read this blog before (since I mention it in every post!), I took the course at Enspiral Dev Academy (EDA) earlier this year to learn Ruby on Rails. Before that, I was a marketing professional who had graduated with a diploma in Creative Communications (and degrees in English Literature) and had worked in a variety of comms-related roles since 2006. I had never fancied myself particularly technically adept and had therefore never really considered that I would end up doing anything technical for a living. But after feeling a general need to move on from the role I had been in for the last 5 years and not feeling inspired by any other marketing positions, I decided to jump off the deep end and try something completely different. Enter: EDA.
Since my husband, Samson Ootoovak, worked for EDA, I was aware of the course from its very beginning. But it didn’t occur to me to consider it for myself until I had watched the first couple of cohorts – filled with many people who had already had other, unrelated careers and had never coded before, just like me – go through the programme and get jobs afterward. Then it clicked; I could become a programmer too! My general feeling of malaise towards marketing combined with my need to do something new would be cured and fulfilled, simultaneously.
It was probably the most challenging thing I have ever done, made especially so by the fact that it was entirely new territory for me. But I really enjoyed it; it was like trying to figure out a puzzle, only there were so many different ways to put the pieces together (and so many different ways to break it). It was a lot of fun, a lot of work, and really hard.
But one of the hardest parts was the imposter syndrome. I should have expected this, I certainly had imposter syndrome from time to time to varying degrees when I worked in marketing. But at least then I also had the confidence that I knew how to do my job, even if I thought someone else could possibly do it better. But with coding, I had imposter syndrome combined with the fact that I really didn’t know what I was doing. I was learning, but everybody was learning better, faster, easier than I was.
Don’t get me wrong. I celebrated my achievements and was proud of how and what I was learning. But there was also a lot of imposter syndrome-driven comparison as well. I’m told it’s normal – in fact, EDA teaches Engineering Empathy, which covers things like dealing with imposter syndrome and other factors of the human side of software development. I’ve been to talks – Rachel Collingridge from Powershop at the EDA Meetup, for example – that have also discussed this very thing. So I know I’m not alone in this. (Check out Joss Paling’s talk ‘Feeling Like a Better Developer’ – it’s really great.)
I did think it would abate somewhat as I grew more confident in my skills and especially when I got a job in the industry. Silly, naive me. The more I learned in EDA, the more I realised that there was so much I still didn’t know and understand, and so overwhelmingly much still to learn.
I had two months off after graduating from EDA, during which I took a bit of a break and then focused on the job hunt. I also started a personal project and contributed to a couple of other established projects, as well as read up on things and worked on tutorials, but I still felt like I was never doing as much as I should be in order to continue with my post-course/pre-job learning. I think I missed the structure of knowing what I should be working on that EDA provided, and floundered a bit on my own, even if I did keep myself busy.
I was hired by Rabid Technologies as a junior web developer and started work at the end of July. They are a great team and have really made me feel welcome. I’ve been pairing with a very experienced developer to build a web app for a client. It’s got a Rails backend and Backbone.js on the client side with a Sass/Bourbon/Neat front end. I haven’t used most of these things before, so it has been – is – a huge learning curve for me. And while everyone is incredibly supportive and absolutely aware that I am new to this – I mean, let’s face it, I have only been coding for 7 months or so – I get frustrated when things don’t come to me as quickly or easily as they do to my co-workers. All of whom have been programming for many years. It’s not sensible, logical or helpful to feel this way. As my pairing colleague has told me, we use source control for a reason – to take chances and make mistakes. But I feel like it will take a while to fully get my footing in this area, to feel confident enough to make mistakes and roll with and learn from them, instead of feeling stupid and incompetent because of them (I am learning from them as well, of course, but I want to learn from them without all of the baggage).
This is the first time I have been a beginner – professionally, anyway – in a long, long time and I’m sure that’s a huge factor in how I’m feeling. My career until this point always depended on things like communication, writing ability, organisation, etc, and I had grown comfortable with these skills and settled in them. I had 9 years of professional experience using them! Now I am a fish out of water. My new career depends on entirely new things – how well I can put together the puzzle, essentially – and requires constant learning of new ways to assemble it. It is understandable, I think, that it would take a while to feel settled when dealing with so many new things – and all of the attached emotions and reactions that go along with them – at once. I know I have to give myself a break, and I know that I will do a better job of my job when I do.
So, with all of that said, I have some advice for others who are starting out in their first role as a junior developer (either as a career switcher or in their first professional role); these are all things I need to remind myself of as well:
- Learn on your own: read stuff, contribute to projects or start your own, do tutorials. All of it helps with confidence and none of it is a waste of time. But also understand that you can’t possibly learn everything right now. So do what you can and be ok with it. But don’t let it take over every aspect of your life, balance is important.
- There will always be someone else doing something else and it will feel like they are doing more or better than you are. Whether they are or not doesn’t matter. Let them do their thing and you do yours. Again, do what you can and be ok with it.
- You have been hired as a Junior Developer. Keyword: junior. Nobody expects you to have the abilities of a senior. Everyone knows you’re just learning. So don’t put unnecessary expectations on yourself in order to meet imaginary expectations.
- It is ok to make mistakes. I’ll repeat that: it is ok to make mistakes. One more time: IT IS OK TO MAKE MISTAKES.
- Mistakes don’t make you stupid. You are learning and mistakes are part of the learning process. Make them, learn from them, and get comfortable making them. Because this is an industry that requires constant learning so mistakes will be par for the course for the rest of your career. The sooner you can make peace with them, the better. (Even experienced programmers make them; here is a great blog post that talks about mistakes programmers make over and over.)
- It is ok to make mistakes.
I may add more to this list later, but I think that covers it for now. (Joss Paling also gives some great advice for battling imposter syndrome in his talk linked above.) Did you feel similarly when you started as a junior developer? Were you also a career switcher? Do you have any advice for me or other junior developers? Tell me about it in the comments below.
As usual, thanks for reading!