How Ellen became a Software Developer without a Computer Science degree
Ellen Macpherson is a Software Developer currently based in the UK who got her start with web development with British Telecom (BT). She studied Politics originally but changed her career and overcame her initial reservations about the tech sector. Check out her exclusive interview for tips about how you can learn to code and get hired.
Hey, so can you give us a short introduction for people who want to know more about you?
Hi 👋 I’m Ellen, an Aussie content creator, software developer and web development instructor. For the past seven years, I’ve been living in the UK but I’m about to pivot homewards to join ThoughtWorks as a Consultant Developer in Melbourne. It’ll be my second role in tech (and my first mid-level one!) after working for a year as an early-career software developer for BT. I also currently teach web development classes on behalf of Code First: Girls.
If you don’t have a CS degree, how did you learn coding? Did you do any particular courses?
I was a pretty late bloomer when it came to tech. My undergraduate degree was in International Relations and Modern History and I also have a Masters in Political Communication. Essentially that means my fake news meter is incredibly accurate, which is a helpful skill in any industry!
I first taught myself to code for my Masters thesis. I was looking at Twitter data for election insights, so I needed to learn a bit of Python. My supervisor suggested I hire someone to write a script for me but I was really stubborn and wanted to try doing it myself. When I had a working program, I was hooked on code! The feeling of doing something you (and let’s face it - everybody else!) never thought you could do was so empowering.
Shortly after I finished my thesis, I spotted a Tweet from Code First: Girls advertising a free Web Development and Python bootcamp in London aiming to get more women into engineering roles. It caught my eye, but I actually scrolled past it the first time I saw it! I didn’t think I was technical enough, and it would be such a huge change from what I’d been doing. But the thought kept niggling at me, so I decided to take the jump and see what was out there in the tech world.
Anyone who’s done a bootcamp knows how tough it is, but going through the experience with a community of talented and supportive women made it a lot easier. To anyone considering a bootcamp: find your people! It’s a really tough journey, especially if you’re a career changer. I can’t overstate the importance of having a network.
How did you get your first programming job?
I was really fortunate on the job front. BT was sponsoring the bootcamp I attended, so I was able to interview with them afterwards. I got the job and started working on the BT TV and Sport apps in March 2019.
I’ve been through a couple of job hunts now, and I will admit that my success with them has probably been due to the extra study and work I’ve put in. There have been a lot of late nights, meetups, side-projects and blogs. Building my online and professional visibility has been so worth it.
Did you have any specific people that inspired you to learn coding?
At first, I was driven by my own ambition to complete my thesis and teach myself a new skill. I never had any tech heroes because I was never really exposed to them until I was considering getting into the industry.
Since then I’ve been inspired to learn more by so many people. One of them is my team lead at work who is an incredibly hard-working and talented developer. The women who I’ve met through Code First Girls, Women Who Code and Ladies that UX have had a huge impact too. They’ve inspired me to try different projects, new tools and to keep pushing myself forward.
I think it also helps that I’ve been surrounded by people who can code but have never done a computer science degree. It’s helped me realise that I don’t need to spend more time at university; the self-learning path is just as valid.
If you want to check out remote coding bootcamps, head on over to my new site, Bootcamp Index!
How has your life changed since becoming a professional programmer?
While the impostor syndrome is often very real, I’ve definitely had a huge growth in confidence overall. To switch careers and learn to program is no mean feat, and I’m so proud of myself for doing it.
Financial stability and opportunity is a huge change. I’ve gone from working multiple jobs to pay the rent to a comfortable salaried position. I know it’s not all about the money, but it definitely helps, even in ways that aren’t as obvious. For instance, I have a pretty regular daily routine now, which is a lot healthier.
The job hunts are a lot more hopeful. As someone who’s looked for jobs in many different fields over the past few years: we’re very lucky to be in the industry we’re in. Places like the UK and Australia have huge skills gaps when it comes to technology and I’ve been able to benefit from that. Where I was looking at maybe 2 - 3 relevant new jobs per day in the industry I used to be in, I see dozens popping up on LinkedIn now. Job hunting still sucks, but at least being in tech gives you choices.
On the less positive side, I read and write less, which I don’t love. I also find it super hard to switch off. Being new in tech, I just want to learn everything. It can be tough at the end of the day to look away from the screen.
What advice do you have for someone who wants to get their first programming job but they don’t have the time or money for a CS degree?
Go with what makes you excited over what the latest buzzwords are. You don’t have to learn the latest trend to get a job in the industry. You’ll always be happier (and you’ll probably make more money, too!) if you choose what makes you excited over learning something because it’s the sexiest part of the industry to be in.
Once you’ve found a programming language/tool you love, get building! Developing your project portfolio is by far the best way to show employers you’d be a great addition to their team. Many employers these days don’t care that you don’t have a degree - they care about your ability to write good software. It also shows a lot of dedication and persistence. If you can finish a project, you’ll have done better than the 90% of software developers who start a million side-projects and give up halfway through!
Try to use those projects to build an online and local community presence. Go to a local meetup and give a lightning talk on how you built your project. Start a blog where you document what you’ve learned. Your interpersonal and networking skills will be just as important as your technical skills in the job search.
And finally, get on Twitter! Tech Twitter is full of so much opportunity, knowledge and community spirit. Both tech roles I’ve succeeded in getting have come from Twitter - one from a Tweet and the other from a DM.
Prepare for technical interviews with Algo Expert- "NOCS" gets you 15% off.
Can you tell us what an average working day looks like for you just now? What are you working on?
I’m working from home, just like everyone else at the moment. It’s a huge change for me, as I love the collaboration that office space allows for. However, I’m lucky enough that work hasn’t changed too much. I’m also fortunate enough to not have too many calls or meetings. About 75% of my day is working in the codebase. The other 25% involves meetings with my team or with the inclusion working group set up by BT.
At the moment I’m working on a greenfield project where I’m the lead developer. It’s really exciting, and its release will be a nice way to finish off a year at BT. I’m also back to working with Python at the moment, so it’s been nice to keep those skills fresh.
Have you ever had imposter syndrome and if so, how have you dealt with it?
Yes! I actually talk about this a lot on the local tech scene. I suffer from impostor syndrome quite a lot. I think it’s common when you’re relatively new to something. However, as a career changer, I’ve gone from being great at the thing I was doing to really sucking at programming and eventually to being decent at programming, but surrounded by people who are fantastic and have been doing it their whole professional careers. That puts me in a uniquely vulnerable position to impostor syndrome.
Firstly, I’m the worst judge of my own professional worth. I know that I’m my own worst critic, so I try to seek out feedback from other people as often as I can. Often the feedback is quite nice, and not at all the bollocking I’m expecting! If there is criticism, I can use it as a helpful objective benchmark to improve, rather than beating myself over the head with a flaw I perceive in myself.
Secondly, I’ve found Dr Valerie Young’s work on Impostor Syndrome really interesting. She defines five types of impostor syndrome. Seeing the many different ways it manifests was so helpful in recognising my negative thought patterns so I could stop them. I’d highly recommend looking up her work.
Lastly, I’ve found that working on a project from start to finish was a great way for me to realise I’m not as much of a fraud as my brain tells me I am. It can be tough at work to see progress if you’re working individual tickets and you’re under pressure. You can’t see the forest for the trees. Coming home and building a WordPress website or a small game really helped me to appreciate my skills a little more, even if I only worked on it for an hour a week.
What are your coding ambitions for the future?
I’d still love to stay in web development. I think it’s the perfect mix of engineering and creativity that I’m after in a career, but there are a few specific interests I’d still love to dive into properly.
I’ve been developing a few WordPress side projects to eventually build my freelancing presence. I know WordPress isn’t sexy anymore 😉but freelancing helps me build contacts with exciting small businesses, freelancers and non-profits. It’s one of those ‘go with what you love’ situations.
Secondly, I’ve been exploring data visualisation since I first started coding, but it’s been tough to find the time to dedicate to getting into it properly. I’d really like to learn D3.js to learn how to make interactive graphics. Good data visualisation is so important in the era we live in, and I’d love to learn how to do it well!
Thirdly, I have absolutely loved teaching web development, so I’m keen to continue down that road. I see it as a potential career avenue in the future. At the moment I’m in the process of taking my regular class format remote, which is challenging, but exciting. Who knows if it’ll lead to a new Udemy course out there in the world?