5 Must have skills for Software Developer

5 Must have skills for Software Developer

Problem Solving Skills:

On day to day basis, developers are handed over myriad problems to solve. Each could have different ways to solve. Using the various programming tools, techniques and creativity, developers need to solve the problem. Problem-solving skills are core to a software developer. Without it, developers are more likely to write code which fails to give desired outcomes. A good way to learn the best practices of software development is by learning from the suggestions of the experienced developers. Read and subscribe to various different technical blogs. Also, there are many sites that provide free training programs like coursera and udemy. Sign up and start learning.

Business Skills:

Understanding business significance of an application is something lot of developer don’t understand. Understanding the needs of client and business can give a wealth of insight into developing the application. A lot of developers often overlook the importance of business skills.

Communication and Interpersonal Skills:

ALL Most developers, use a lot of technical jargons dealing with non-technical stakeholders. Software developers must be able to communicate (both verbal and written) the information clearly to their stakeholders using simple words and non-technical jargons. Written communication skills matter a lot and have greatest impact when documenting and code commenting the application.

Programming Competency:

Well, if you cannot code you are not a software developer. This is supposed to sound obvious. As a software developer, you should be aware of multiple web, mobile and desktop frameworks and languages. You don’t need to be good at all of them. But you should have some basic understanding of them. One very important soft skill a developer should possess is – A good eye for detail. Few other specific skills (not a complete list) that a developer should have:

  • Security
    • Understanding Security has become such a fundamental skill a developer need to possess that it cannot be emphasized enough. With numerous security breaches happening, you need to defend your application from them. Developer should be writing defensive code from the ground up. Security should not be an after thought. As developer, get a thorough understanding of (not a complete list):

And so much more that we will need a separate blog post for that. You can start by reading Google’s Security handbook, The Web Application Hacker’s Handbook and  OWASP development guide – covers Web Site security from top to bottom.

  • Performance
    • Building a website that will potentially have millions of users? You really need to start thinking about performance and scaling in such projects. Please note I am not advocating, that you forget about scaling and performance when dealing with small applications. All I am trying to emphasize upon is the need for it is huge when dealing with big sites. Few considerations:
      • Implement caching and use HTTP caching
      • Optimize images
      • gzip/deflate content
      • CSS Image Sprites
      • Minification tools
      • CDN use for static contents

Visit Yahoo’s Exceptional Performance site which has lots of great guidelines, including improving front-end performance. Also, check out Google’s Page Speed, another tool for performance profiling.

Keep Learning:

Software industry is growing constantly, so a culture of continuous learning must be embraced. New and updated languages, platforms, tooling, framework, patterns and softwares keep popping up literally every day. A passionate software developer must possess the zeal for learning the new trends and upgrading their skills. Some of the sites offer free courses online. Please register and make use of them: