Click here to Skip to main content
15,072,051 members
Articles / All Topics
Technical Blog
Posted 6 Nov 2014

Tagged as


3 bookmarked

5 More Questions Developers Should Be Asking Themselves

Rate me:
Please Sign up or sign in to vote.
4.60/5 (3 votes)
6 Nov 2014CPOL3 min read
Here are 5 more questions developers should be asking themselves


Apparently 10 wasn’t enough.

Thanks to some great feedback on my last post, you guys forced me to add 5 more questions. I really wanted to keep the count below 10, but it hard to argue against the wisdom of the crowd.

So let's get right to it…

Am I Learning the Right Things?

I assume you are already actively learning.

You wouldn’t be reading this post if you didn’t want to learn. Are you learning the right things though?

People often tell me: “I’m learning a new language” and they invariably mention another language just like the one they already know. If you have a toolbox full of hammers rather invest in a screwdriver.

If you know OO, learn a functional language. I recommend Haskell since there is no way to cheat, be warned, your brain might melt a little.

If you have those 2 under the belt, check out a logical language like Prolog. Make sure you know a dynamic language like Ruby. And if you get a chance, check out APL. It’s beautiful.

How Can I Make This More Transparent?

The hardest part of fixing a problem is finding it.

Do everything in your power to make your solutions transparent. Write lavish logs, throw exceptional exceptions, make your code clean and sparkly.

Every time you struggle to find a problem, make sure the next guy can find it with less effort.

What is the Return On Effort?

Everything comes at a cost. Not writing that unit test buys you a few minutes right now but at what cost later on? Taking a week to research existing algorithms might save you 3 months in development time by the end of the project.

If it takes you 20 minutes to do a deployment and you do 10 deployments a week, how long until taking those 3 hours to automate it is paid back?

That plugin framework that might possibly save you 2 days one day. Does it make the things you do everyday take 5 minutes longer? How long until those 5 minutes add up to more than those mythical 2 days?

This is a marathon, not a sprint.

Am I Solving the Right Problem?

Writing a script to periodically restart a service to improve stability is awesome. What’s even more awesome is fixing the memory leaks that make the service crash.

Created a marvellous multi threaded app to generate 20 concurrent crystal reports? Nice! Why not investigate a switch to XSL-FO so each report doesn’t take 3 years to generate.

Question everything.

If you get a set of requirements that don’t solve the right problem. Speak up! You are more than a code typist, you are a problem solver.

Does Anybody Care?

This is probably the most important one of the lot.

If what you are building doesn’t make somebody's life better, gives them more time, saves them money.

Why are you doing it?

Start Today

I know this list is long and it might seem like a lot to take in.

You don’t have to do it all at once though. Try this; find somebody you work with who is also on a mission to be the best they can be. Pick one question per week and commit to asking each other that question at least once a day. Think about your answers, be honest, be better.

Good luck!

This article was originally posted at


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Stephen C Young
Architect Allan Gray
South Africa South Africa
Since I was young I always preferred teaching myself to learning from a structured syllabus.

This didn’t always make me popular with my teachers. I guess sleeping through the whole of Romeo and Juliet in an English class doesn’t make a great impression. On the other hand I formed an obsession with always researching something.

Over the years these obsessions would jump from topic to topic ranging from physics to lean manufacturing. Photography to functional programming. Cognition to physiology and strength training. Kitesurfing to fire poi. My obsessions may be random but are always led by my curiosity.

Over time I noticed that I was forming connections and finding patterns in unrelated fields and using knowledge I gained from studying the rudiments of things like cognitive psychology when trying to figure out why I was seeing certain behaviours in the teams I was working in.

I'm interested in communicating those underlying principles and connections in a way that is useful to others.

I have been working as a programmer, architect and manager for the last 12 years so there is a strong bias to helping junior programmers and software development teams improve.

I focus on underlying principles and not technologies.

Comments and Discussions

QuestionNice Pin
Santosh K. Tripathi17-Nov-14 20:21
professionalSantosh K. Tripathi17-Nov-14 20:21 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.