One simple thing you can do to make yourself an amazing software developer
You’re getting there with the technical knowledge. There’s always more to learn, but you’re on top of your game, you know how to get started and you know how to move on when you’re stuck.
You’re moving fast with regards to dealing with projects. Estimating, managing tasks, dealing with requirements. All pretty new stuff, but you’re getting there.
You’re comfortable dealing with clients. It’s hard at times, sometimes it feels like they talk a different language, but you’re making yourself understood and they’re happy.
But in this age of job insecurity, there’s still a nagging doubt.
How can I get better?
How can I deal with the inevitable interruptions that stop me getting on with things?
How can I get more done?
There’s one habit, that’s takes almost no time and is really easy to follow that makes a massive difference to your working life.
It helps you learn from your mistakes. Quickly resume after an interruption. Plan your day and reduce the wasted time.
And it’s so simple, you’ll be shocked.
Write it down
Open your text editor, create a file for this week.
Write in “Monday”.
Then type up what you expect your task list for Monday to be.
Today, need to work on X, Y and Z. X is particularly important as I’m demoing it on Wednesday
As you work on stuff, write down what you are doing, along with the time.
9:35 Starting on X; looks like I need to do X1, X2 and X3 to get it done. Looks pretty easy.
9:50 X1 completed. Easy. Starting on X2.
10:10 Just spent 15 minutes on the phone with George. Emergency, need to work on Q
There are two things going on here. Firstly, you’re recording how long you spend on stuff. Even if you don’t need to do timesheets, it can be useful as a quick indicator of what’s taking your time. Secondly, when you do get interrupted (thanks George), you know exactly where you are.
11:45 Finished off Q. Back to X2.
One of the biggest problems with interruptions isn’t the time they take; it’s the time to get back up to speed. A few notes along the way make a huge difference in restoring that velocity.
As an aside, this technique also saved me from a lawsuit.
The client was unhappy at some performance aspects of the system we had written. I knew that they often forgot to run the nightly backups (it was a manual process — don’t ask why) and instead would run them during the day, which in turn, locked the database tables. So my notes were scattered with “They’ve complained about performance again — checked the backup server — looks like they forgot to do it overnight once more”.
We had an emergency meeting with them, they threatened to sue over the performance issues and I produced a file listing the dates of the performance issues with my notes alongside about the backups being run at the wrong time (all it took was a quick search through my notes folder for the word “performance”).
They backed down immediately (and we fired them as clients soon after).
There’s also a matter of historical interest. I like to go back and see what I was doing this day a year ago or even further back. It’s amazing what you forget (I was working on what?) and even more amazing to see what you have learnt (why on earth was I doing it that way?).
But, writing stuff out like this is a habit.
It takes time to get into it, and sometimes it feels like a waste of time.
But it’s one of the most valuable things you can do.
Learning from your past mistakes and experiences.
And being better organised in your day to day work.
Meaning you get more done. And your clients love you for it.