After working as a teacher and translator for several years, Emily embarked on a new phase in her career by learning a different kind of language: programming.
Emily has worked at Drivy for the past year and a half as a Full-Stack Engineer, after attending the intensive Le Wagon bootcamp in Paris. Here, she shares how she began coding and what life is like for a developer at Drivy.
If you’re considering a career change to become a software engineer, hopefully Emily’s story will inspire you to go for it.
I studied modern languages and translation, and after university worked as a teacher and translator. My freelance translation work led me to work with some startups based in Bordeaux. I was intrigued by what the developers were doing and they pointed me in the direction of sites like Pluralsight, CodeCademy and TryRuby. I was pretty certain that I was going to be completely useless - I hadn’t studied maths or science since the age of 15! But initially, it was like learning another language.
Then I heard about Le Wagon, a 9-week intensive bootcamp to learn to code. After Le Wagon I was determined to find an internship because I knew that I had still had lots to learn. I did a 6-month unofficial internship with another startup, and then, after reading Jean’s Story of a Junior Developer, applied to Drivy.
The tech-product team is organised into squads, and I’m in the squad that builds features for owners. Our features focus on acquiring and onboarding new owners, improving fleet quality, and providing tooling for owners. I’m a Full-Stack engineer so often I’ll work on a feature from start to finish, implementing both the client- and server-side code.
Starting out, I was apprehensive about being stuck behind a computer all day but in fact that’s rarely the case… there’s a lot of variety in my days at Drivy. True, some days I might spend the whole day writing code. But there’s always room to ask for help, or to discuss choices and strategies with colleagues.
Other days are a mixture of meetings with product managers to help define feature specs; with members of the design team to discuss implementation of design specs; with my squad to define the roadmap for the coming quarter; or simply with the developers in my squad to elaborate on the technical specs for a feature.
Sometimes I do pair-programming with a more senior developer, which is always an opportunity to learn new tricks. We might refactor something I’ve been working on, build specific skills like writing tests or reviewing pull requests, or doing coding exercises.
Half of my team works remotely, so communication is either be face-to-face or via Slack and video calls. In short, there’s no ‘typical’ day - the only thing that is typical is that I’m constantly learning, and that’s really stimulating.
There are so many things I enjoy about my job: I genuinely go home on a Friday excited to come back on Monday. I enjoy the balance between human interaction, and losing myself in the feature I’m working on. I enjoy solving problems, big and small, and having something to show for my work at the end of the day.
The pleasure I take from coding is similar to the one I take from translation. I find abstractions to map on to real-world problems and create a vocabulary that represents these abstractions in the digital world, respecting coherence within the codebase and the syntax and grammar of Ruby1. I have to think about how the code I write might be interpreted by future developers, and resolve the problem in such a way that leaves future options open. I was surprised to learn that writing code is very creative work.
Working at Drivy is very rewarding because we are encouraged to take responsibility for our work. When I work on a feature, I’m not just integrating technical specs that a senior developer has written for me: I’m encouraged to think about the end needs of the user and the unexpected edge cases that might arise, and challenge the product specs if necessary.
I’m surrounded by very talented and experienced people: it really motivates every day to think that one day I might be able to write code that is as sophisticated (which often means beautifully simple!) as they do. That said, everyone is very humble: sometimes I’ll ask a question or challenge something for being too complex, simply because my repertoire of methods - my ‘vocabulary’ - is less broad. I’m never made to feel that my opinion is less valid because I’m junior, and sometimes my suggestion even gets accepted!
I can’t speak for all women, and I’m not sure binary male-female is helpful in a bid to be more inclusive. The question of equal opportunities for men and women is huge and complex. Suffice to say: the men vastly outnumber the women in the tech team, and that speaks volumes about the inequality of opportunities.
But for me the problem came much earlier. I can remember being told aged 13 that I was good at HTML - but I was never told that it would be a career option for me. I was also good at languages, and instead it was suggested I would make a good teacher! I’m sure that those messages, received at such a formative age, contributed to the self-doubt I experienced (and continue to experience!) in my work.
Too few - I’m the only female developer. There are two women in the data team, one of whom is the Head of Data.
I’ve attended a couple of meetups and conferences since I’ve been in Paris. In all honesty, I haven’t attended as many as I would have liked to. This is for two reasons. Firstly, I love my work but by the end of the day I’m exhausted - the learning curve is still steep. But it’s ok that I have other passions and other things I like doing beyond coding - it took me a long time to accept that.
Secondly, even though everyone at the events I’ve been to has been nothing less than welcoming, I still suffer from a lot of self-doubt! It’s easy to worry that you won’t be taken seriously.
There are also a couple of blogs and newsletters I receive regularly and other resources I’ve come across online when trying to find a solution to a problem. And I read the Drivy engineering blog of course!
I wish I had known that the insecurity and self-doubt will never leave me, but that everyone suffers from that. In fact, I think that can even help make you a good developer, because it means you are constantly asking questions and seeking to improve your knowledge. Being aware of the things you don’t know is really important in keeping up with the changes in tech and sharing knowledge with colleagues.
I worried a lot about my fundamental capacities because of not having a mathematical and scientific background and because of being dyspraxic. I wish I had taken confidence from the fact that my atypical background means I have a unique skill-set that I can bring to my work.
Videla, A., “Programming as translation”, February 2019, https://increment.com/internationalization/programming-as-translation/ ↩