What I do When I'm Stuck As A Developer

What I do When I'm Stuck As A Developer

10 Helpful Tips About How I Get Out Of A Sticky Situation While Developing Software

Β·

7 min read

The relationship we developers have with software development has to be arguably the most toxic thing out there πŸ˜…. Software developers have a love-hate relationship with their profession, so much so that watching a stuck developer sulk can be quite amusing (as long as the developer doesn't catch you observing πŸ˜‚).

Make no mistake though, it's not always highs and lows. However, most of one's character development (and experience) comes from the highs and the lows, not the parts where you have everything figured out and it's like a walk in the park. Today I'll be focusing on the days when software development drives me up a wall and how I wiggle my way out.

Picture of a MacBook with tan-colored notes sticking out underneath it I generally believe that debugging is one way developers make lemonade when the machine gives us lemons 🀣. While mistakes happen, the process of handling them and communicating during and after debugging with stakeholders (or your friends πŸ˜‰) can earn you points, especially with testers.

I've found that being able to explain what went wrong and how you fixed it to a tester gives them confidence in your skill and can help smooth things over. Now that we have all that preamble out of the way, let's get down to the crux of this article. I think a listicle will suffice for this.

A picture of a flying owl

  • Review The Basics

    I can't count how many times I have wasted hours on a bug only to find out that the mistake was very simple, a lot of developers hardly think to do this first, we humans are known to see our work from the lens of what we thought we did rather than what we did, a lot of times these mistakes come from boilerplate code we've written so frequently we don't think we can make mistakes withπŸ˜‚.

A study revealed that even well-known platforms like Wikipedia and Encyclopedia Britannica make an average of 2.92 and 3.86 mistakes per article respectively. If they can make mistakes, why can't you? 😏.

A developer who has more experience in writing code than I have in being alive (🀧) wrote an insightful piece that helps put a number to how many times we're likely to make these basic mistakes. I personally have lost tons of hours to mistakes that came from a missing letter 😣.

Another reason why reviewing the basics is important is because if you're a newbie or working with newbies, you need to stop making assumptions as to what they know. I once spent some time debugging the HTML page of a newbie developer only to find out it wasn't working because there was no HTML tag in the code. Because I assumed, I didn't think to even look at the code, I kept mouthing off different solutions that couldn't work because, without the HTML tag, the machine didn't even know to interpret the code as a webpage!

A picture of two guys sitting opposite each other wearing the same style of clothing albeit with somewhat different colours

  • Compare Text

    When writing code or following along with a tutorial, there are times when you need to reproduce some text exactly as seen, if the text is fairly voluminous and/or is an encrypted string of letters, it can be somewhat difficult to notice subtle differences between what you wanted to write and what you should have written.

Luckily, tools like this can help spot these differences quickly. As much as possible, you should avoid trusting your eyes when it comes to comparing the content of two files or strings because we have a way of seeing what we want to see rather than what is.

A picture of a red, slightly bigger taxi cab in front of a black, smaller taxi cab

  • Compare Versions

    As developers, we leverage a lot of tools, SDKs, packages, and the likes, so much so that we often underestimate the consequences of installing the latest versions of our favorite tools. For newbies especially this can be a huge mistake. When leveraging tools that you're used to using, or are using for the first time (while following a tutorial), it's important to take notice of the version you're used to using or the version used by the tutor.

Often, the reason why code that should work doesn't work is that the tools you're utilizing are a different version of the tools you should be utilizing. Aside from software development, you need to be familiar with software versions in order to implement software supply chain security and protect your code (and organization) from exploitation πŸ˜“.

One Caucasian male and female looking at a MacBook

  • Get An Extra Pair of Eyes

    There's only so much you can see on your own, asking for help isn't always a copout, there are some challenges that can't be compared using tools, and you need someone to spot these extra evasive mistakes. I once had challenges with an API till a colleague pointed out that there was a typo in a particular payload parameter that was preventing me from retrieving value (for that parameter).

An image of the power button sign

  • Restart Your IDE/Code Editor

    I know this sounds funny, but it works. A lot of times, your code has no bugs, your code editor/ IDE (Integrated Development Environment) is probably just hallucinating πŸ˜‚. If you're very sure you did nothing wrong, or you're seeing so many errors that don't make sense, try restarting your tool.

I think we take for granted the number of complex operations our computers (and tools) carry out in order to respond to our orders. At times, this can be overwhelming for the machine which is why restarting seems to solve a lot of problems (even PC problems).

A picture of a boy sitting on rocky shore by the ocean

  • Clear Your Head

    Some bugs can wear the mind really thin especially when it's a project that has been fraught with many challenges. To avoid losing your cool, it may sometimes help to go for a walk, and if you feel too exhausted to do this, try going to the bathroom and washing your face, I find it just as refreshing.

pencil on a paper

  • Use A Formatter

    We exchange information across the internet in various ways, sometimes your work may involve composing these exchanges using JSON, XML, XAML, and the likes. You're likely to make mistakes and it's ok. If your payload isn't delivering, I suggest you try using a formatter like this to help evaluate the payload you're trying to send and offer corrections.

The silhoutte of a man pulling up another man while rock climbing

  • Seek Help

    Strength in numbers is really a thing in this line of work. Asking for an extra set of eyes on work you've done is a lot different from asking for help. At times your code isn't efficient enough, at times a code snippet or two is all you need, at other times the error you're battling with is something that someone else has surmounted and can show you how to.

Online communities like Stack Overflow, social media group chats of like-minded developers, or your colleagues at work can bail you out of a tough situation and save you hours of beating yourself up πŸ˜….

A pair of glasses in the middle of an opened book

  • Read The Documentation

    I hear some developers will rather chew sand than do this πŸ˜‚. I think as a developer, one has to get comfortable with reading documentation on the programming language and/or tool you're trying to leverage. Your ability to grow is somewhat nestled in how well you can feed straight from the source.

french bulldog sleeping

  • Sleep

    Yes, sleep πŸ˜‚ and I'm not the only one who feels this way. Sleep is one of the best debuggers out there! sometimes your mind is exhausted, and if you can get just a bit of shut-eye, your subconscious can ruminate on the code long enough for you to either wake up with a solution or wake up feeling refreshed to soldier on in your battle of resolve against the machine 🀣.

A picture of a girl holding balloons that look like planets

Finally...

This isn't an exhaustive list, you're welcome to add yours in the comment section. Ultimately, your experience with software development is greatly influenced by how well you ride out the lows, some days you'll feel like you can do this forever, other days you'll feel like you can't take it anymore. Software development takes a huge toll on the mind, hopefully this article takes some load off you 😊.