Manage Learn to apply best practices and optimize your operations.

Unlocking the code: How to improve your decision-making skills

Software engineer Sarah Mei says having an appetite for learning helps developers improve their decision-making skills.

It seems some people have a knack for always making the right decision. For developers, critical-decision making is an essential skill for doing a job well. Understanding the process behind honing decision-making skills and cognitive development are two topics software engineer Sarah Mei will discuss during her O'Reilly Fluent 2014 session, Unpacking Technical Decisions.

businessman untangling the decision-making process

Have an appetite for learning

It's a fact that some people pick up on certain concepts faster than others, but that doesn't mean developers are doomed if their genetic makeup doesn't automatically give them an edge. Contrary to popular belief, you can move up the learning curve faster without putting in extensive hours. "Some people talk about this idea that you need 10 thousand hours of a particular activity to get good at it," Mei said, "[But,] it's more related to the types of things you do."

Make sure that your concept is about what your process is.

Sarah Mei

Children who are constantly asking questions may be honing skills that could make them a prized programmer in the future. Developers who are curious seem to have a leg up, Mei said. Instead of just fixing a bug, for example, he or she may also examine the code base.

Possessing a desire to know more tends to go beyond day-to-day tasks and is supplemented by a hunger for formal guidance, too. Attending optional sessions at conferences and learning a new language merely out of desire are a couple of other characteristics that Mei noted development wizards seem to share.

Spicing things up a bit in terms of what a developer is working on and other interests creates a recipe for success. "If you learn things that are similar to what you are actually trying to learn, you end up learning the main concepts faster," she said.

Know the components of decision-making

Where does technical decision making happen? Mei said the process occurs on several levels. On a lower level, it's the idea of where a certain function should go or what a class should be called. On a medium level, it's more about whether a library should be used or built, for example. Decisions regarding language and frameworks are more high-level decisions.

To put things in better perspective, Mei noted how it's not uncommon for developers to have to choose between two very similar libraries for a specific project. To get an idea of how people are making critical decisions, Mei spoke to colleagues and realized there were four different categories of information they look at when determining which library to use.

More on education 
and developing 
decision-making skills

Computing program to boost 'meta skills'

School program aims to fill cyber security skills gap

New computer curriculum enters schools

  • Activity -- What is the documentation quality, release date, number of core requests?
  • Popularity -- How many other people are using the project; how much support is there?
  • Interface -- Can a library do everything needed for the project?
  • Familiarity -- Is the code written in an expected way?

Mei said she often sees people make decisions based purely on whether a library can do what they want, rather than taking into account social factors. "The key thing I think is to make sure that your concept is about what your process is," she said. "It's important to realize that most technical decisions are social in nature and depend more heavily on social data than they do on actual technical data."

While there isn't a guaranteed method to make someone the best developer around, following the aforementioned tips can help someone get on track to be a leader on his or her organization's team.

About the author:
Maxine Giza is the associate site editor for and can be reached at

Follow us on Twitter @SearchSOA and like us on Facebook.

Dig Deeper on Distributed application architecture

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Do you think having strong decision-making skills is critical to your career?
The decisions you make and why you make those decisions are key to everything you do from; being a student, leading a team of IT experts to managing your house hold. Using cause and effect processes provide more satisfying results then knee jerk decisions centered on fixing crisis instead of resolving problems.
We are living in a technologically advanced world, technology is changing by the minute and the flow of information is more direct than indirect. Thus, ones decision making skills must be upgraded to meet the way technology is trended.
Hi DNewby and brollins2, you both bring up good points. Certainly your ability to consistently make the right decision is important for career advancement. While some things you can only know from experience, it's good to find out there are things we can do to speed-up the learning curve! 
I do because you hve the ability to get things done and are empowered to complete and move to the next step when you have decision making skills and use them