Daydream Driven Development
So, I’m a Developer now! Most people wouldn’t know why that’s significant to me, rewind 18 months… and I would’ve told you I was a Marketing Manager. I was working as a CRM Strategist and fell out of love with my job, and I was daydreaming about becoming a developer. My work life balance was out of sync and I was struggling to cope with the increasing pressure and high demands. It was tough. I decided to change my career and here are some of the things I have learned over the last year.
1. Coding isn’t easy, no matter what anyone says
The number of times at meetups, conferences I would hear experienced developers say, “it’s that simple”, or “it’s as easy as that”. I’ve been guilty of doing this in the past when talking to a colleague, I would say to them how easy it was to build an email template from scratch, or it was easy to think of content for each email. Truth is, it wasn’t easy, it just gets easier with practice and time.
One of my most memorable “it’s easy moments” was when I was told how easy it was to invoke a method and instantiate a class, not knowing what those terminologies meant my anxiety would peak and I'd feel a bit silly. When you’re starting out and still learning to code, easy doesn’t cross your mind. I think the look on my face would give the game away, I’d stay like a rabbit in headlights, panicked. Since starting out with getting to grips with the code I have always joked that I’m having to manipulate my brain into thinking differently, almost breaking it to allow me to understand what on earth my code was doing. I went from ‘Hello World’ apps to looking at a real-world codebase in a matter of months and I can honestly say, it wasn’t easy.
I did find a way to overcome the complexities of code, which has helped make it a bit easier, I do this by keeping a glossary of “terminology”. In the beginning, I carried a little notebook around with my own code dictionary, adding new words which I didn’t quite know.
Invoke = Call
Instantiate = Creates an object, which is an instance of the class
Thank you, Google!
One of the biggest hurdles I had to face, was getting to know the correct terminology that wasn’t “thingy-ma-bob”, “whatcha-ma-call-it” or “that thing”. I would feel nervous talking about my code, or reviewing other people’s code because I wasn’t sure what the correct words to explain what I was trying to say were, a great example of this was the time I told my colleague I had learnt what “Lamb expressions” did the night before or another occasion where I told a friend “I’d had a go at the backend” which was met with fits of laughter.
I have since learnt and understand the terminology better and can confidently hold my own in meetings and stand-ups. However, I still have the odd slip-up… which has led to a few raised eyebrows.
3. Mistakes are ok
Making mistakes can be stressful, nobody likes to make them. I really struggled with the smallest mistake, I’d end up feeling anxious about owning up to them. Part of learning means that mistakes are going to happen, they’re not a bad thing. Unless you drop a live database table but are you even a real developer if you’ve not dropped a live table in SQL? I’ve learned this the hard way. My first code review I hid behind my monitor nervous about the outcome, as I was worried it would be called a fraud, I wasn’t and the feedback was more than helpful and taught me how to improve my code.
Another key part of learning from your mistakes is knowing that not everything or everyone is perfect. There’s a famous saying about practicing makes perfect. I disagree, practice makes you better at something, it doesn’t necessarily mean it’ll make you perfect. In my eyes perfect doesn’t exist anymore and it’s taken a long time for me to realise that! If I’m struggling to get to grips with something I usually reach out to other developers, my colleagues, read the docs again, look up my question on Stack Overflow, or watch a tutorial.
An excellent piece of advice I was given by a developer when I first started out was to embrace your mistakes as they’ll help you learn, think differently and improve!
4. Being mindful
Imposter Syndrome would sometimes rear its ugly head, during these times I would close the laptop lid and take some time out. After getting my job in Software Development, I struggled to deal with feeling like a fraud as in a few short months I had gone from writing ‘Hello World’ apps at home, making and breaking things to sitting amongst a team of qualified developers pretending I wasn’t doubting my own abilities. Even now Impostor Syndrome takes hold of me and eats away at my confidence, I don’t think it ever goes away, but now that I recognise the signs, I use the below strategy to put it back in the box:
- Nobody is perfect and everybody makes mistakes, even the seasoned pros!
- Stop comparing yourself to everybody else. We’re all unique, and we each have a unique set of skills, deal with it!
- BUT understand that nobody really knows what they’re doing
- Fake it ‘til you make it!
- Ride the way, as this will pass… be patient!
There are a lot of tips of being more mindful, I use an app called Stop, Breathe & Think to guide me toward a happy, more mindful headspace.
5. Find a mentor, become a mentor
“A mentor is someone who allows you to see the hope inside yourself.” — Oprah Winfrey
Over the last few months, I have become a mentor for some developers starting out. I’ve found that being the mentor has helped me to become a better teacher and developer. I find that I’m a lot more patient when it comes to solving problems and instead of tackling a problem from the get-go, I break the problem down into smaller manageable tasks. I’ve taught this to my mentees as, like me, you always want to run before you can walk. Going back to basics has also helped me stop being lazy with my HTML/CSS and to actually take time on making sure the structure and semantics are correct.
When reflecting on the past 12 months, I can’t believe how far I’ve come as a developer and a person. I could have added more to this article, but I think I may have hit my limit on word count. I have incredible memories; there have been tears and it’s all been so worth it. Being a developer isn’t easy, and at times you can feel like you want to throw in the towel, and then you have times when you don’t want the bubble to burst because you’re having the best time doing what you love.
Having a support network around me has helped me to continue with my desire and the drive to be a good developer, and making friends with so many Umbraco developers has also helped me to gain confidence in using the platform. The community have welcomed me with open arms since day one - no questions asked! I will continue to learn as much as I can and evolve and give back to the community and to help those #CodeNewbies that may need my help.
I’d love to hear about your most memorable moments during your career, or if you’re starting out and would like a mentor my DMs are always open, you can find me on Twitter @HolaJacquie, reach out and I’d be happy to talk more!
Jacquie is on Twitter as @HolaJacquie