Why am I starting this post with such a silly question? Of course software developers know how to use software! Or maybe not…?
Am I a good developer?
What makes it for a good developer, anyway?
For many years I’ve focused quite a bit on programming languages, IDE’s, patterns, and all those things that are definitely fun for most developers. Mastering those things, however, does NOT turn someone into a great developer. Knowing those things well is very important, but there’s more to it.
I’ve seen developers who…
- spend a lot of time building applications, but not using software productively themselves;
- seem uncomfortable using their own tools, not learning the bare minimum in their IDE for things like quick file lookup, code navigation, code completion, etc;
- don’t adjust their environment in order to reduce the friction when getting things done;
- don’t take the time to understand what it is that they need to get done.
What is it that I’m building?
Most developers are supposed to develop the software designed to automate somebody’s tasks, workflows, etc (others may be building games and such, which is a different story). I believe a good software developer should be able to understand the business, identify its needs, and then think of good solutions. Sounds simple, but I keep seeing cases where people start to code without really understand what needs to be built.
Am I productive?
When a developer doesn’t bother about automating repetitive tasks of his or her own, the likelihood of achieving success doing that for the client is very slim.
I used to do a presentation on “productivity”. I talked about tools and add-ons, but just spitting out code as fast as possible doesn’t mean we’re productive, so I also talked about the mindset and techniques I use, while always asking myself “why am I doing this again?”.
My conclusion (for the time being)…
I have had clients tell me they decided to hire me after seeing how I use technology. They say they see me using my smartphone, my tablet, and my computers in ways they haven’t thought of. They say they believe I use these things not because they’re “cool”, “flashy”, “trendy”, but because I focus on the benefits and results instead. They believe that if I’m able to automate my life this way, I’m qualified to automate theirs, too.
These are things that keep coming back to me and I feel like I need to explore more into it, as it’s giving me good results.