Characteristics of Good Software Developers

Software development (or computer programming) is much like solving the Rubik’s Cube. I’ll explain what I mean.

Boy with rubik’s cube

There are two types of “Rubik’s Cubist”. The first type prefers to find out from others how to solve it (using a standard set of moves), but then practises these moves until they can solve it without fail every time.

The second type takes up the challenge of solving the puzzle from scratch without help. This is obviously complicated and takes time and patience.

Software development is actually a combination of these two processes. The vast majority of programs require quite a lot of standard functions such as file handling functions. The developer needs to know these, just like the first type of cubist needs to know the standard moves.

However, virtually every program has features that are unique to it and that need to be figured out carefully. An example of this would be the high-level structure, which is usually unique to each program. A good developer knows the standard tools and can use them appropriately, but can also solve tricky logic problems that are unique to the program he or she is developing.

Some cubists of the first type have taken things to extremes and solve the cube in just a few seconds, the current world record being 4.9 seconds.

Similarly, the best developers are always keen to do things in the quickest and most efficient way. Interestingly, when speed cubists solve the cube, they study it for perhaps 20 or 30 seconds before starting. In the same way, good developers know that plenty of preparation, in the form of design work, is required before diving into coding.

Finally, the cubist works independently of others, but the best software developers are good at collaborating with other people who are involved with the project as a whole, such as marketing experts, management and sometimes customers and other developers.

So in summary, my characteristics of good software developers are:

  • A good knowledge of their language, including the standard building blocks they will use
  • An ability to solve tricky logic issues
  • A desire to work quickly and efficiently
  • An ability to collaborate effectively with other professionals who are involved in the project

Whilst we can assist with Rubik’s Cube problems, it could be much more useful to you that we are highly skilled LabVIEW programmers, with extensive skills and experience in projects of all sizes. If you’re in need of a LabVIEW solution, contact us on +44 7979 187323 to find out more.