Computer Nerds

A well rounded Software Developer should be willing to adapt their thinking to the situation. Many developers have worked in a specialised role for too long and are unwilling to change. This is dangerous for the individual and leeds to a number of recognisable characteristics. To illustrate this point, read about the following ‘types’ which I have worked with.

VB Programmers
Don’t understand anything about syntax in C based languages and usually write far too many lines of code to express a simple program. They also don’t bother with good programming principles like SOLID and DRY which seem to flow naturally out of OO languages like C# and Java.

JavaScript Programmers
Sometimes think that JavaScript is similar to Java which is not the case. Java relies heavily on design patterns and OOP practices while these are not encouraged in JavaScript. As a result JavaScript programmers like to put everything into a single file if possible. It is possible to have objects in JavaScript but there are limitations; you cannot define a class in JavaScript.

C and C++ Programmers
These guys are attracted to the idea of writing libraries which can then be used to write useful programs. The libraries are not useful in themselves, they are tools that can be used to write useful programs. This leeds to a culture of “not made here”, where bespoke libraries are used instead of using established libraries which are available (sometimes free). Sometimes they will focus on business ‘rules’ but ignore usability and UI.

Java Programmers
You could say that Java programmers are the opposite of JavaScript programmers in their approach. They normally write many small classes in separate files. This leeds to multiple folders or namespaces which need to be used to categorise the files, making it difficult to navigate around the code. Design patterns are often used which can help to make more readable code.

Non-Programmers
These are often technical support or IT professionals as they like to call themselves. They focus on installing computer hardware and software so they do not worry much about coding. Instead they like to control access to servers and try to get as many passwords as possible. They soon convince themselves that they should be in charge of an organisation without having an understanding of the development process or the workings of the business.

People who do not have an interest in the technical side of their work will often try to get ahead in various ways. This can include claiming credit for others work and hiding critical information or refusing to share information.

Database Analysts
Similarly to non-programmers they like to collect passwords. Naturally database analysts think of everything as a list or a table and do not have much interest in the User Experience.

Web Design and other UI Experts
Often believe that development is quite simple and they could do it ‘if they wanted to’. The fact that their work is highly visible to users means that it appears as if they are very productive. Sometimes they are credited with an entire project even though their contribution is minimal. Unfortunately this encourages them to be arrogant.

C# and Microsoft Generally
Microsoft focuses on providing many tools which aim to increase productivity. As a result the developer can become lazy and forget about the principles of programming and simply make something that works.

Of course not all programmers fit into one of these categories. If you have been programming for years you should try to be diverse even if it does not feel natural. At the end of the day you need to understand different technologies if you want to be a team player.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s