Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Dev Report mobile

Day One as a Junior Developer: What I Wish I Knew

5 April 2019 , by Justin Gregan

For graduates new to the workplace, it can be tough to know what is expected and when it's okay to ask for help. The junior years of work are pivotal in the establishment of a career, and you can save yourself time and struggles if you lay down solid fundamentals from the get-go. Here's what I've learned from the working world thus far, and what you can look at doing to ensure that you level up as fast as you can.


I have been working at Garmin for about two years now, and am nearing the end of my time as a junior engineer. While it feels like time has flown by, I've had some experiences that have forced me to adapt. There was the time I asked to move desks in an attempt to escape the distractions around me, and ended up separating myself from the team by becoming a lone-wolf. Then, there was the time I went through a whole month of feeling like I knew nothing because I was caught up on a challenging task and didn't ask for help from my more-experienced colleagues early enough.

Overall, I can identify six significant challenges that I have had to overcome as a junior software engineer. They are:

  1. Learning to adjust my expectations
  2. Ensuring I had good relationships with my team members
  3. Balancing my successes and failures
  4. Focusing on not losing myself in the workplace
  5. Believing in myself, or speaking up when I had a good idea
  6. Structuring my off-time to prevent burn-out

I'm going to take you through each point in a bit more detail, so that I can explain what experiences were responsible for me overcoming each of these challenges.

Tip 1: Adjust your expectations (ノಠ益ಠ)ノ彡 ┻━┻

From the days leading up to my first steps as a toddler, to the day I graduated from university, life has been a sequence of relatively short-term challenges and accomplishments. Paired with my upbringing in a "westernised-superhero-propagandistic-society", I had developed a set of mighty aspirations that needed to be realised ASAP!

Cue my first day of work: I had managed to convince a collection of people who knew more than me, that I would add value to their company - and there I was! Now it was time to begin the unleashing of my pure awesomeness. I decided that I'd run at 80% to make the transition to management in a few months seem natural. My thinking? "I'll probably be a junior for like a few weeks, and then I'll know everything and be promoted".

6 months later: I felt like I had been scurrying through the muddy trenches of World War I. I couldn't quite recall my name, time was not something that I was aware of, and I felt like I knew nothing. Perhaps that's a bit of an exaggeration, but I'm sure it's relatable. Nonetheless, there I was, exhausted and frustrated. I just couldn't seem to work fluidly, and it felt like every few steps worth of progress required a hike-up-Kilimanjaro's worth of effort. I wasn't in a good mind space.

The age-old saying, "You get out what you put in", did not make the cut for my motivational wallpapers at this stage. My progress definitely did not reflect the amount of effort I was putting in.

In short, I'd been trying to stream 4k content on a South African ADSL line from 2009. I wanted too much, too soon, and I wanted it before my infrastructure could sustainably support it.

After meeting with my manager for my mid-year performance review, I found out that they were already aware of this, and even expected it. Apparently it was completely normal to require some time to adapt to a new environment and start performing at my best. So, I adjusted my expectations by extending deadlines to a more-realistic timeframe, which in turn relaxed some of the psychological pressure I had been feeling about not meeting my personal work goals.

Through this, I learnt that it's important to align my expectations with reality. I was still new to the workplace, and it'd take time to develop my technical confidence.

Hacks to help you set realistic goals

  1. With each new goal I set for myself, I focus on ensuring that my expectations are realistic by doing a little reality-check:
  • Does this goal line up with my expectations for myself?
  • Do I have experience in this field or is it something completely new to me?
  • Does this goal depend on any other goals being achieved first?
  • What's the shortest time that I need to achieve this goal?
  • What's the longest time I should spend on this goal?
  1. Once I've answered these questions, I use them to set realistic expectations for myself and my team.
  2. Ask a few trusted peers for an opinion on some of the expectations you have for yourself:
  • Do they think you're prepared to achieve this goal?
  • Do they think your time estimates sound feasible?

Even if that peer has a pessimistic response, it still holds value as an opinion from another perspective other than your own.

What you have achieved in the past is a good benchmark to use when aiming to raise the bar for your future expectations. Having faced and conquered challenges before, use this personal track record to help you predict what you're capable of, and what you should aim for.

Tip 2: Value relationships with team members ٩(^ᴗ^

In my final year of studies, I was in search of methods to improve my productivity. I came across a book called Deep Work: Rules for Focused Success in a Distracted World by Cal Newport. This book defines "deep work" as: "The ability to focus, without distraction, on a cognitively demanding task." I made an effort to apply this philosophy in my own life. While this was achievable in my final year at university, I found it hard to make that happen at work, since I was working as part of a team, and in an open-office working space.

In an attempt to improve my journey towards focus, I got myself a set of noise-cancelling headphones and a secluded desk in the office. This was great! I was able to get reacquainted with the state of deep-work.

This was great from a "distractions management" perspective, but only syncing with the team at the daily meetings resulted in two main problems:

  1. I was relying on my own interpretation of how to solve problems, rather than seeking advice from more experienced members in the team.
  2. Still-developing relationships began to deteriorate because of reduced daily communication with my fellow team members.

This meant that it took me longer to find working (and not-always ideal) solutions to problems. I also received some feedback stating that I had isolated myself too much, and that I'd benefit from consulting the team more frequently. This would help me correct my path sooner, without too much backtracking.

While productivity may be at an all-time high when you're flying solo, ultimately the team is the collective intelligence and work-horse. So, communication with other team members is important; they are there to support you, as well as benefit from your support.

Hacks for building team relationships

Try to have ~45 minute periods of isolated work between check-in and sync-up times with the team. This is not a perfect art, but having a structure to aim towards did help me structure my mind and work goals for the day.

Make an effort to care less about how many of your own tasks you've finished and rather about what goals the team is working to achieve. By offering help to others, and receiving help from others, I was able to gain a better perspective on the problems at hand, as well as trust that the team had my back. I found that attending more meetings gave me a better feel for what my colleagues were working on.

Organise an out-of-work activity for some/all of your team members. This low-pressure time of interaction will lay important foundations for you to build your professional interactions on.

Start giving out high-fives to team members if you feel they have done something of value. Try to encourage other team members to get involved in this too. The sense of affirmation from peers feels great, and high-fives really energise the team.

Tip 3: Balance your successes and failures ⊹╰(⌣ʟ⌣)╯⊹

At around the 11-month mark, something about my work mentality was bugging me. There were moments where I really wasn't enjoying what I was doing, or even making the kinds of contributions to the team that I wanted to make. But, at the same time, also instances when I was surging with intuition and confidence. This inconsistent behaviour caught my attention.

I was listening to a motivational podcast the one morning at work, and then it hit me! I had been previously downplaying this swinging of emotions as a consequence of LIFE. Once I placed these respective periods into chronological context, I noticed a pattern:

  • When I had really excelled at a specific task, I took a sense of confidence and intuition into "battle" with me for the next task that dared to challenge my "supreme intellect". A bit over the top, I know, but that's how it felt!
  • When I really sucked at a specific task, my sense of confidence and willingness to risk an attempt at a new solution was seemingly non-existent.

Relating this back to my engineering background, I couldn't help but think of three-phase electricity:

Imagine the three different waveforms below are work tasks, and the Y-axis is the magnitude of your confidence and intuition levels. If two tasks are boosting your confidence levels, and the one task that you are really struggling with is sapping your confidence levels, you can still average it out to a decent feel-good level.


Using this analogy, I came to understand that it is important to consider my ratio of successes and failures. If I tried to balance my successes and failures at work, then I could build on and maintain my confidence boost from successes, while tackling new, difficult challenges.

It was here where I learnt how important mastering your own psychology is in the journey of owning your career. I just needed to keep an average net success rate. Even if I couldn't always achieve this perfect balance, just aiming for it helped with my understanding and management of my fluctuations in confidence.

Hacks for balancing success and failure

Celebrate your successes, even small ones, in an effort to increase your mind's desire to succeed. My celebrations usually range from something as small as giving the closest person to me a high-five, to making a plan to spend the weekend at some new location in the beautiful Western Cape surrounds. Realising a sense of achievement definitely helps me maintain my confidence levels better.

Anticipate when you should take on new challenges. Remember that, just like equities in the stock market, your confidence and mood are always going to be cyclic to an extent. Understanding where you are in this cycle will help you manage your challenges, and work towards a long-term gain.

Have a hobby or other activity outside of work which you can maintain your proficiency in. Then, even when work gets you down, you'll always have something to fuel your self-worth, esteem and confidence.

Tip 4: Don't lose yourself in the workplace ( ⌐▨_▨)

During my interview, aside from ensuring I was being respectful, I didn't really restrain any of my quirky behaviour. This slight eccentricity, paired with the necessary qualifications, seemed to actually enhance my value to the team. But, during my internship, I was actually being less of the "me" that everyone was fond of at the interview. Stress got the better of me, and I kept trying super hard to be the model employee.

In hindsight, I realised that the level of pressure I was experiencing was proportional to the level of impressionability I was exhibiting. It seemed like I was copying my colleagues' habits and personalities a bit too much. My manager at the time, who shared similar philosophies on work life, approached me one day and said something along the lines of:

"Don't lose what makes you, you. Everyone brings something different to the team, and it's like that on purpose!"

I learnt that I should try to adopt those traits which are valued by my peers, but that I should also focus on keeping my own good traits and personality as well.

Hacks for not losing yourself in the workplace

Consider asking some peers/friends what they find most unique about you. You can try this with your own personal friend group, and then also with some professional peers. Then, compare them to see if you're holding anything back that would enhance your working environment and aim to share it.

Adjust the areas which you're receiving feedback on, without losing your personality in the process.

Take note of how your peers are interacting with you on a daily basis, and compare these interactions over periods of time. This lets you get a feel for what type of person you are establishing yourself to be in the workplace.

Tip 5: Believe in yourself; speak up!ヽ(^o^)ノ

I am, by nature, a "thinker", which means that I always seem to have a bunch of ideas swirling around in my head. Some brilliant, and others... well, I'm just going to say "not yet supported by our current technology".

There was a stage where I had some really cool ideas about team dynamics, and the work we were covering. But since I was the "new guy" in the team, and already felt a bit out of my league in terms of technical capability, I worried that my new colleagues wouldn't value these ideas. So, I didn't mention most of them.

As time went on, I noticed other team members bringing up some of the ideas I had been thinking of. Some were good and appreciated by the team, and some were bad, and discarded. Wait… Some. Were. GOOD!

I watched as value was added to the team, value I couldn't really claim to have contributed to. This was quite frustrating; but I realised that, because I didn't mention anything before someone else, I had no one but myself to blame.

Breaking the events down, this was the general structure:

Good idea Appreciation and better team
Bad idea Acknowledgement and constructive feedback from team

I don't know about you, but I can't spot a scenario where myself or the team would lose out derp. This reminded me that we live in an age where thinking is valued, and that I shouldn't hold back from sharing my "thinking" with people. I'll most likely have some valuable thoughts to share. I've gotten this far, so I must be capable of having some good ideas and making some good decisions, right?

Hacks to help you speak up

Share your thoughts more openly at work because, even if some won't be adopted, they will most-likely still add more value than sharing nothing at all.

Make an effort to really consider what feedback you are receiving on the ideas that you share. Don't get offended by someone else shooting down your "golden idea". Your idea doesn't have to be revolutionary every time, just something which can make life easier for someone.

Try to organise "limitless" brainstorming sessions with your team. Set a problem and try to find solutions. That's right, no limits! This should help break the ice for sharing ideas in the future, because the team will become used to sharing ideas with each other. You might also be surprised at how applicable some solutions can be when approached from this perspective.

Tip 6: Try to avoid burning out ヾ(- _ -;)

I came into the workplace with the desire to do awesomeness. However, I carried with this notion many habits from my university lifestyle, like procrastinating and pulling all-nighters. I also hadn't yet built enough valuable experience in the specific field I was now working in. Oh, and "leave"? Pssh… you mean "my finite annual freedom"? This is gold, and I must accumulate and store this! Ha, please don't do that! This was just the mindset I was in at the time.

I found adapting to a 40+ hour work week from a final-year university setting quite challenging to begin with.

In my first 6 months of work, I didn't plan a proper break, I worked overtime regularly and kept work in my mind over weekends. My general morale and productivity dropped significantly. I began to resent my work somewhat, as I felt it was taking up too much of my time.

NOTE: If you ever find yourself resenting work, act quickly! You need to resolve whatever is causing this resentment. Failure to do so will result in you subconsciously being less involved in your role.

I let my mind ponder on this problem. The conclusion I came to, after consulting many-a-webpage and person, is that I had been trying to sprint a marathon. I wasn't pacing myself, and went all-in too soon. Naturally, if I extended this metaphor, it'd result in me not finishing the marathon if I didn't begin pacing myself.

This is a realistic, and rather terrifying, realisation when related back to real-life, because I wasn't quite sure whether I was going to last in the workplace. (*ಠ_ಠ;)

Hacks to avoid burnout

In an attempt to avoid my "sprint-a-marathon strategy", I suggest doing the following:

  • Communicate with your team as soon as you think you aren't going to finish your tasks.
  • Take a break and breathe. It may feel counter-intuitive, but sometimes to increase your productivity, you need to take a proper break. Make an effort to enjoy life, youth and your health. Go explore and experience all that our world has to offer!
  • Make an effort to work at a sustainable pace more consistently, rather than have spikes of productivity, followed by exhaustion.

While I still do experience days when I'm really not feeling great about work, I believe that this is normal. Overall, my feeling about work in general has improved because of this mid-marathon strategy change.

Justin Gregan is currently a software engineer at Garmin. He mainly develops firmware for a consumer-grade, bicycle radar known as the Varia series within the Garmin product ecosystem. In his personal time, he is a tinkerer, an FPV mini-quad flyer, and a socialiser. He believes that the more perspectives one can have on a specific topic, the better one stands to understand that topic. One of the topics in his personal inventory is, of course, life. ( ͡°ᴗ ͡°)━☆゚.*・。


Recent posts

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.