coMakeIT - Xebia Logo

There are many who feel the excitement of being part of a software development team where you get to create something, solve problems and get to learn new technologies. Just like a coin has two sides, the experience and the excitement in software development can become a little too much and change to frustration just as easily. Some of the reasons for frustrations are beyond your control but some can be dealt with as you get more experienced in your domain. Here are some of the extremely frustrating aspects of software development in no particular order.

  1. Ambiguous requirements are the bane for a development team. It is difficult to produce software when there is little or no clarity on what has to be developed.
  2. Concentration on process but not on actual development is something that happens easily. Some teams when adopting a methodology like Agile or Lean make a common mistake to focus more on planning or meetings. This diverts their attention from using those meetings as tools to increase their productivity.
  3. Maintaining legacy code that’s poorly documented or of low standard is another aspect of software development that is disturbing. If you talk to any development team, you will find a couple of members who have worked with such code and the problems they faced.
  4. Performing too many manual steps from coding to creating a build. This could be because of the tool or the process used in the company but can be annoying anyway!breaking_computer-1
  5. Using third party API’s that has little or no documentation. So if you encounter a problem there is no one out there who can help you. Instead, you will find that there are others who are looking around for the same answers as well!
  6. Having work sitting in a queue, either waiting for the system to complete some processing or waiting for other dependencies to resolve can be quite frustrating. This is especially true when queries are run on huge databases or codebases made on certain technologies like Microsoft Dynamics AX etc. are being built.
  7. Proprietary/open source software upgrades that happen during development always cause nightmares. All the planning you did has to be redone to incorporate the hot fixes and/or upgrades.
  8. Believe it or not, some people swear by the CTRL+C and CTRL+V key combination when working. But when others work on the same code, they would usually find that the original context/code was not changed. If you are not careful to check on the code that you are going to work on, your tests will fail and so will the build.
  9. Working with individuals rather than the team can be extremely frustrating. Ever met a person who puts his or her own needs before the commitment made as a team? Such individuals can bring down the team morale and sometimes, even the team/individual productivity gets affected.
  10. A typically frustrating day in a developer’s day will include his/her monitor flashing at least 50- 100 errors on code compilation. This happens sometimes with some intrinsic or automatic software updates that took place or when another person worked on that piece of code without your knowledge.

The list mentioned above does not cover all frustrations that are normally experienced. It can be baffling at times to deal with tools, people and also the work culture of companies. But do not worry; this need not be the case every time. Try taking up the following points to see an improvement in such cases.

Have a positive attitude and adapt the tips above to overcome your frustrations!

[contact-form-7 id=”21071″ title=”Eight secrets to finding the best software developers”]