Redakted - a blog about all things dev
Things I learned when I started as a dev
27.08.20197 Min Read — In career

Disclaimer

Highly subjective post from the perspective of a junior developer just starting out in the field..

Context

To get into the subject matter, I have to talk a bit about my journey. I started out as a developer 3 years ago; at the time I knew nothing about the JavaScript world that I would later enter. I was a full-time intern while doing my computer science degree. It’s a system called apprenticeship in France, I won’t go into details in this post but you’ll find info here.

In my company, I integrated one of the product development teams under the tutelage of two people. The first one resigned six months in, and I stayed under the second person’s tutelage for the rest of the apprenticeship. He went on to become my mentor and to this day he’s my “Shifu” (teacher, but in Chinese) and friend.

All proceeded relatively well, I hit the 'this' bump hard(JavaScript devs will understand), composition vs inheritance meant something to me, I got lost in Vim (I eventually got out) and learned to use git (kinda, git is still magic to me). One of the highlights is that I got a Pikachu in place of a rubber duck for "duck duck" debugging, I guess you could say it was "pika pika" debugging. [insert pika pika meme]

I fell in love with JavaScript and the rest is history.

All good things have an end

“Shifu” resigned right before I signed on in the company for my first full-time job. “It's a familiar scenario”, they said, “It's a normal part of the cycle”, more experienced colleagues told me, “you'll get used to it eventually since you're just starting out” was one phrase that came out too. Well, spoiler alert, I haven't gotten used to it.

It was a blow, I expected it because we'd talked about it but still it didn't feel good. I felt uncomfortable for a long while after but I convinced myself that it was the impostor syndrome; that I was getting cold feet because I had to figure stuff out without a guiding light or a safety net to catch me if I fell.

Fast forward two years, another colleague resigns. We got along well and more importantly, I learned a lot from him. The uncomfortable feeling rears its head again but this time I knew that it wasn't cold feet. "Why is it bugging me so much?" I asked myself. I got along really well with him, ok, but surely it couldn't be only that since we still kept in touch? Ensue a period of introspection and I finally found an answer: I felt down about losing people who I considered mentors. Realization came late but I eventually understood the underlying truth.

I learned many things from these people and I could ask questions without dreading being ridiculed. We exchanged on a level playing field when it was just a random dev subject. I felt SAFE to ask, question, debate and consequently learn and grow. I could bounce off ideas on them and I was sure that a not-so-bright idea would be identified as such and there would be an explanation for that. People might say "well that's what a normal, more experienced developer should do", that is true but the reality is it's HUGE to a beginner. Confidence is a fickle thing to some, including me, and I cannot stress enough how important it is to know that the person you are interacting with, concerning work that you don't have a mastery of (whether that's even possible is a subject in and of itself), is willing to listen without looking down on you.

Ok, sure, we get it, they were awesome blablablabla, but hey wake up and smell the roses; people have lives, things change, that's the way it is and you can't do anything about it. I get that, I sincerely wished, and still do, the best for them in their career. What I want to talk about is not why or how they left, but the impact their mentorship had and continues to have on me as well as what they taught me.

What I was taught and what I learned

People, in my opinion, inherently want to grow, show that growth and finally be proud of what they have accomplished. The mentorship I received helped me do that. I was given the tools and allowed the freedom to use them on a day to day basis. It didn’t happen all at once. That’s the first thing I want to stress, PATIENCE. I was taught to forgive myself and realized that you don’t just become a programming god, it takes time and that is NORMAL. I repeat, NORMAL, for those juniors devs out there, let that sink in. You shouldn’t try to go faster than the music and it can be very detrimental to your confidence.

While we’re on that subject, CONFIDENCE, that fickle thing, is a double-edged sword. I would be on a high from achieving what I wanted on a task and go straight down because I spent two days on a bug. We as humans are, sometimes (experiences may differ), really good at finding the things that hurt us and ignore the things that can help us smile. Realizing that every error, every misspelled variable, every fuck up is an opportunity for growth has perhaps been my biggest gain. Be confident that you are growing, amass that experience and be sure that one day you’ll move on to bigger and harder problems but that forgotten comma or spelling error will still come back and bite you, only you’ll be better equipped to deal with it.

Organization is important. Note down what you’re doing, what you’re struggling with and anything that seems important. Human memory is not infallible and you can’t remember everything at all times. You’ll be able to refer back to your notes for accurate, in context information when needed. It’s also useful for something else: when you feel like you haven’t done anything, look back at all you wrote and be sure that you’ve put the work in.

Stress is real !!!! Take care of your mental health. Breaks are good, take them as much as you can depending on your work context. “Feeling guilty for taking a break ain’t it chief !”, jokes aside taking a step back actually helps you take further steps forward. When you feel frustrated and can’t seem to get anywhere, breathe, take a stroll, go get coffee or tea and chill for a minute.

Speak up, voice your opinion because others can’t read your mind most of the time. They can help you feel comfortable to talk but don’t shy away if it’s possible (social anxiety is a bitch). Speaking up doesn't work for everyone, there are other solutions out there and you should find the one that fits personally. The key is to communicate with those around you, about what you understand and more importantly about what you do not understand.

Don’t let anybody tell you “soft” skills are not important. First of all, they are not soft and second of all, they are as important, in my opinion, as “hard” skills.

Co-workers don't have to be your friends to have a positive effect on you, anyone whose mindset includes sharing knowledge and elevating others can have that effect. Find those among your colleagues that can help you reach new heights, it’ll be worth the trouble.

“You don’t know what you have until it’s gone” would be an exaggeration but I have to admit that it’s very difficult to measure what effect someone’s absence can have, so profit as much as you can if you have good mentors around you because it doesn’t always last (some say it never does but I dare to believe).

Impact

How has this affected me going forward? Well, several things come to mind.

I’m now mindful of associating people I look up to with a company. What do I mean by that? Well, it’s undeniable that my mentor had a good impact on me but it would be a fallacy to automatically think “this company is great for me”. It may be the case or it may not be, but it surely depends on more factors than just my relationship with one person because you’ll struggle when that person changes jobs.

I think the WHY is more important than the HOW now. Maybe it’s because I’ve been through so much code where I wish I could just ask the previous developer “what was your reasoning for this? What made you take this route rather than another one?”. It may also be because every time I would want to do something that I presented to my mentor, it was always be met with the question “why?”; if you don’t know why, chances are you don’t really know what you’re doing and it’s not going to end well.

Conclusion

What more is there to say? Great people, in my opinion, elevate the ones around them and help them better themselves. I’ve been lucky enough to work with good people who have helped me along and I am thoroughly convinced, now more than ever, that no one can do it alone.

I would like to mentor one day, to pay it forward and help another junior out there. That would be fun, and stressful but, ultimately, it’s worth a try.

Do you relate to this? What about your experience? Hit me up on Twitter or in the comments and take care.

A big thanks to Steven, Sam, Jean-Baptiste for advice and editing.

Photo by Nesa by Makers.