Friday 15 February 2013

Attitudes of a Great Software Developer !!!


Software development is an art, not just a science.  You can learn all the technicalities of software development, but you need to be absolutely passionate about coding and perceive it as an art to be extremely good at it.  If you are one such person, I will introduce you to the journey of becoming a "Great Developer".  The objective of a Great Developer, as i name him/her is to make his/her art as beautiful as possible and make it the best.

In my own thoughts, I will share some attitudes which a great developer should have apart from the general expectations of being technically and analytically sound, understanding requirements in detail, good design skills, etc.

Image Courtesy: minfullychange.blogspot.com
 

Attitude #1 -  A bug is a question of my ability to write good code


Fixing bugs is part and parcel of a software developer's activities.  A bug is obviously the worst enemy of a Developer.  But how many developers think in the following lines while fixing the defects

  • What I could have done to avoid this bug in the first place?
  • How did I allow this bug to escape my eyes?
  • OK, something wrong has happened this time.  How do I avoid the same mistake next time? What steps do I need to take?
Truth is very few developers think on those lines.


A  person willing to be a great developer should consider a bug as a threat to his position, as a threat to his credibility, as a threat to his programming skills.  That is the attitude that will make him/her a great developer.

Attitude #2 - Mr. Tester, I challenge you to find bugs in my code


How many developers have this attitude?  Many developers think that the job of the testers is to find bugs.  Yes.  Obviously, but that doesn't mean as developers, we can take bugs for granted.

A great developer or a person willing to be a great developer should
always invite / challenge the tester to find bugs in his/her code.  He should have so much confidence in his code that he can challenge in such a way.

Attitude #3 - No compromise on code quality


Code quality should be of prime importance to a developer.  That will include following the right coding standards, making the code more maintainable using proper design and code refactoring, etc, etc.  But how many of us compromise code quality for many reasons best known to us?

I can quote an instance in my project to explain this.  I was leading a team of developers and we were working on fixing something in the very last hours of a Friday night.  We had to give a build on Monday.  All of us were looking into the problem.  I got curious as I saw the problem and started getting my hands dirty in the code.  Time went by and only the last 5 mins were left for everyone's cab.  It was a make or break.  We had to come the next day, if that was not solved today.  I did something at that time, which absolutely infuriated all my team members.  Unable to see the clarity in the running code, I refactored a bunch of lines at that last minute.  Everyone were so pissed of, that they started scolding me :-) asking if it was so important at that moment.  I answered "Yes, it is that important".  Of course we worked the next day for other reasons, but the whole point was even though I had an option of fixing  the code in the running code, I chose to refactor the code not compromising on the code quality.


A great developer or a person willing to become a great developer should never compromise on the code quality, no matter what.

Attitude #4 - Confident but not arrogant


A great developer or a person willing to be a great developer should be absolutely confident of his abilities but should not be arrogant towards fellow developers and testers.  He should always remember that he is part of a team that is working towards a common goal of shipping a project on time with good quality.

Attitude #5 - Acknowledge the Tester

It can happen that despite all the hard work and efforts put in by the great developer, a great tester can still find defects in his code.  In those cases, acknowledge the great tester.

A great developer or a person willing to be a great developer should always acknowledge the tester for the bug that he found.  He/she should remember that the bug is the enemy, and not the tester :-)

With this I conclude this post, hope you find it informative.  Thanks for the read.  Cheers.

If you found this post useful, please share it with your friends.  You can also stay updated with the latest blog post by simply submitting your email id to the right in the section "Get Updates by Email"

If you liked this post, you will also like my free Ebook "Programmer's Motivation for Beginners" which is available at http://programmersmotivation.com.

About the Author

Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing.  He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC.  He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing.  He blogs at  AgileDevTest Blog.  He is also an author of a free Ebook "Programmer's Motivation for Beginners".  Connect with him on Google+

62 comments:

  1. Very good article; I'm hoping to be a great developer.

    ReplyDelete
  2. Excellent Oizen !! Good luck !! Welcome to the rare group :-)

    - Rajaraman R
    TDM Blog

    ReplyDelete
  3. Thank you for sharing this helpful content. It can be useful to those who are looking for Top Mobile app development company from where you can hire best mobile app developers who helps you to get the best mobile apps which gives high return on your investment.

    ReplyDelete
  4. Щастя і щастя прийдуть до вас, велике спасибі

    bon mat xa

    máy ngâm chân giải độc

    bồn matxa chân

    bồn mát xa chân

    ReplyDelete
  5. Vi lägger alltid kundförmåner först.
    Våra produkter är: Van điện từ Tân Bình

    ReplyDelete
  6. WTF....!!!!!

    ADS..... petty shame workm hard and make profit don't post ads like mobile appication devolopers india web dev india ........ thgats so funnyyy

    ReplyDelete
  7. Thanks for sharing this article. iOS app development are now trending and easy to develop app. To get the best services, choose iOS App Development Company In UK . They have expert team with 24*7 customer support.

    ReplyDelete
  8. Seems like you are fond of writing since a long, therefore your posted content is well formulated in a proper way of writing. It's an amazing experience to read your blog post as you have shared a piece of meaningful and required information with the use of proper statics and beautiful words. Thanks for sharing!!

    ROR Development Company India

    ReplyDelete
  9. Easily, the article is actually the best topic on this registry related issue. I fit in with your conclusions and will eagerly look forward to your next updates. Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates.
    software developer eastern europe

    ReplyDelete
  10. Situs hondaqq ialah agen poker v partner kami yang sama seperti bandar poker v lainnya yaitu gelangqq, gesitqq, seniqq, pokerwalet, dan sbototo

    ReplyDelete
  11. Acetech meets every requirement of your company be it software product or a unique solution. The company offers end to end Custom software development services in USA to fit in any environment.

    ReplyDelete
  12. Many thanks for the exciting blog posting! Simply put your blog post to my favorite blog list and will look forward for additional updates. Simply wanted to write down a word in order to say thanks to you for those wonderful tips.
    Visit us:
    Premium Lanyards

    ReplyDelete
  13. If you are in the painting business, it is important to have a website. It can help people trust your company more and know about what services you offer. You can also use the website to schedule appointments with customers online. If you want to know how we can help create an outstanding website for your painting business, contact us!

    website developer

    ReplyDelete
  14. Do you need a Wordpress website at an affordable cost? Hiring web developers in India can help you get a quality website at cheap price. But not all web developers are same in India. Here is the list of 9 questions which you must ask before you hire a WordPress web developer in India for your website development.

    Visit here:- hiring Indian developers

    ReplyDelete
  15. Thanks for sharing nice information. At ORP Versatile Mobitech provides custom software development services in Texas
    , USA for the unique needs and challenges of your business. We build intuitive, secure custom applications to enhance user experience.
    software development companies in USA
    Mobile app development company USA
    web design company in USA

    ReplyDelete
  16. Excellent tips and blog for sharing such useful information! Nowadays Mobile app development is one of the most trending businesses going on. For our customers, Mobile app circular engaging and result-oriented web applications. We publish informative and insightful news, reviews, analyses and opinion pieces on a mobile app topics, bringing you the latest in technological innovation breakthroughs.

    ReplyDelete
  17. I think this is often associated with informative and knowledgeable posts. However, I prefer to thank you for the efforts you have created in penning this blog. Visit here: Mobile App Development Company.

    ReplyDelete
  18. The world of the Internet is big and competitive, especially in modern markets, where businesses are very active and inefficient, making them difficult and attracting more and more users to them. If you wish to hire dedicated developers but are not entirely sure, let us help. This aspect is connected with dedicated development team .

    ReplyDelete
  19. Nice post. I was checking constantly this blog and I am impressed! Extremely helpful information specially software development I care for such info a lot.
    Android App Development Company, New York USA
    Custom Software Development Company, New York USA

    ReplyDelete
  20. According to a consumer survey conducted in the USA, it is reported that a quarter of adults use more than one health tracking application. So, in the past year, one-third of the positions have already recommended that patients use healthcare apps. Therefore, in the coming years, it is estimated that wellness and fitness apps will be triple. A Dedicated Development Team and its performance will be key for medical apps.
    Please visit: CRM Consulting

    ReplyDelete
  21. You can use a recruitment software for effective recruitment. First, let’s look at the differences between Gen Z and other age groups. We consider anyone born between 1995 and 2010 as Gen Z. This is “special” in the first place because they are very tech-savvy and were taken with a tech gadget in their hands.

    ReplyDelete
  22. These are good things to keep in mind. Thanks!

    ReplyDelete
  23. Minor corrections, edits and changes are widespread until the end. Most entrepreneurs prefer to choose a model of time and materials to hire a dedicated development team. Therefore, don’t get caught up in the fixed price setting. So, hire a dedicated software development team
    wisely.

    ReplyDelete
  24. In Vietnam, this is becoming increasingly popular. So, a salient feature of Vietnam’s software development services is that they are cost-effective. Low quality and reasonable price without compromise. You can find experienced dedicated software development for your needs.

    ReplyDelete
  25. Thanks for sharing your amazing work .....Its very useful and nice blog post... here some useful links for final year students to complete their projects on time ieee robotics projects

    ReplyDelete
  26. This comment has been removed by the author.

    ReplyDelete
  27. This comment has been removed by the author.

    ReplyDelete
  28. Thanks for sharing this informative article on Attitudes of a Great Software Developer.If you want to Hire Indian Programmer for your project. Please visit us.

    ReplyDelete
  29. Nice post.
    Thank you for sharing such valuable insights with us.
    Looking for the top mobile app development company in India? Explore innovation with us. Transform your ideas into stellar mobile solutions. Connect with our expertise for a digital breakthrough.

    ReplyDelete
  30. Your articles have become a cornerstone for those seeking reliable information across a multitude of domains. Thank you for being a consistent and trustworthy source.

    Black Marble in Muweillah

    ReplyDelete