Keep pushing through

Dear new developer,

One time I was working with an application framework that had poor documentation. I was trying to figure out how to use it to support a client’s project. But it wasn’t working.

I was less experienced and so had no idea why we’d chosen this application framework. I was simply tasked with making this particular feature work. Frankly, I don’t even remember what the feature was!

But I had to make it work. No one could help me (it was new to everyone). There was little documentation, I don’t recall if I filed a support ticket with the vendor, but I certainly should have. I searched the internet intensely. I ended up downloading a java decompiler to learn what I could about the framework and the class in question.

I finally solved the problem by decompiling a few classes. I found a bug in the application framework that I was able to work around. I did my job, even though I had to approach the problem from a non traditional angle.

Note what I didn’t do: I didn’t give up.

Sometimes you just have to keep pushing. Software development is hard.

By definition, the easy stuff is easy to do and therefore gets done relatively quickly. So you’ll send a lot of time on difficult things. Prepare for this and plan to work through it.

Tips for working through hard things:

  • Take breaks
  • Talk to others, whether in person or online
  • Keep thinking of different approaches
  • Remember the end goal

There are going to get hard. In technology there are ways to work smart and hard. Make sure you do both.



Know when to throw in the towel

Dear new developer,

Sometimes, you just have to stop. Stop writing that code. If you’ve been banging your head on a problem, stop. If you’ve been thinking about a bug, stop. If you’ve been writing and writing code but you can’t seem to get anywhere, stop.

Go for a walk. Take a break. Talk to someone. Stroll around your office. Take a few minutes to write up the issue.

All of these actions will let your brain take a break. This often, but not always, brings perspective and a new approach to the issue.

If the problem is really serious, you may need to let it simmer for a day or so. I can’t tell you how many times I’ve gone to sleep with a problem and woken up with a novel approach. Not a solution, but a new way of thinking about it that leads, eventually, to a solution.

So, throwing in the towel, for the short term, is actually a viable problem solving technique. Running repeatedly into a wall is often a sign you need to take a break.