8 Habits of Highly Successful Developers
8 Habits of Highly Successful Developers
What best practices developers can turn into habits to drive success in their organizations and careers.
Join the DZone community and get the full member experience.Join For Free
The Agile Zone is brought to you in partnership with Techtown Training. Learn how DevOps and SAFe® can be used either separately or in unison as a way to make your organization more efficient, more effective, and more successful in our SAFe® vs DevOps eBook.
The desire for success is, arguably, part of our genetic make-up. Being successful means being happy, and pretty much everyone strives for happiness. When we become happy, chemicals in our brains reward us with positive feelings and this motivate us to get more.
Being successful in our professional lives usually means delivering quality work, on time, and being recognized for it. For IT developers this is no different. Successful devs write high quality code, do this within budgets, and make stakeholders happy by delivering a great product.
But how does a developer do this? Some people think developers are magicians and by pressing some buttons they let the computer do the magic. The reality is far more complex; we have to write solid code by following certain principles, test our work, and keep up to date with the latest techniques.
So What Does a Developer Need to Do to Become Successful?
1. Testing, testing, and more testing: An important aspect of writing code is to test it. The earlier bugs are discovered in a project, the cheaper it is to fix them. If you only discover a bug during the final phases of a project, resolving it is much more expensive compared to finding it while writing the code. Automated unit tests are sometimes neglected in software projects, but definitely help finding bugs earlier.
2. Prototyping and wireframes: Before one letter of code is written you should be clear what you are actually going to develop. Good prototypes and wireframes will help both the stakeholder and the developer determine what the final product should look like. The earlier discussions are started about features, and possible roadblocks, the better.
One excellent tool for rapidly drafting together a prototype is Indigo Studio; the platform doesn’t require designers to write a line of code and allows users and stakeholders to experience a simplified version of an application before it’s built.
3. Use online communities and forums: A problem shared is a problem halved. When you’re struggling to resolve an issue, don’t waste too much time agonizing over it alone. It’s highly likely that somebody else can help, having experienced the same issue before themselves. Visit online communities like Stackoverflow or TechNet to ask for hints and tips.
4. Make use of tools and utilities: There is a lot of software available that helps developers build even faster. Visual Studio, the must-have tool to develop Microsoft software is already great out-of-the-box, but many other tools and third party add-ins are available to make it even better:
- Resharper to make writing code easier;
- Web Essentials for handy features while creating web apps;
- FxCop/StyleCop for extensive code analysis;
- SPCAF (for SharePoint / Office 365 development).
5. Have a clear vision and end goal: A great app or product starts with an idea and that idea should become an end goal. Without an end goal, there is no clear vision, which is likely to result in a discrepancy between the expectations and the final product. There’s nothing wrong with changing the end goal slightly during the development process, but always stay focused on what the end result will look like.
6. Don’t rush development: Most bugs are introduced when development gets rushed. In every project there will be time pressure at some stage, but successful developers should be able to cope with that and keep delivering high quality software.
Rushing something is never a good idea. Hacks for example might be used to solve a problem instead of writing proper code. However, if this ends up introducing bugs you’ll actually be looking at a longer development time.
7. Learn, get better, know more: IT is a very fast moving world. Knowing how to write code, which add-ins to use, which products are available and so on are all issues that change regularly. Developers need to stay up-to-date by reading blogs, forums, and social networks. Of course, the blog you read depends on the technology you use, but some essential resources about SharePoint / Office 365 include the official General Office Blog and the Office Dev blog.
It’s not only about bits and bytes; reading a book on becoming better is key to getting ahead. We would recommend reading Outliers by Malcolm Gladwell for further tips for success.
8. Don’t be afraid to fail: Even when developers follow the previous seven principles, things can still go wrong. You shouldn’t let it get you down when errors occur - nobody’s perfect, and things do sometimes just go wrong.
It’s important to acknowledge this, to admit failures and to be able to learn from them. Never try to blame somebody else for your own mistakes and people will appreciate when you take responsibility.
The Magic Touch
We’ve discussed eight habits and principles that make a developer successful. They should write solid code, deliver tested functionality, and communicate clearly and honestly with stakeholders, co-workers, and managers.
A great software product starts with a great prototype and Indigo Studio makes it a lot easier to create them and subsequently make the rest of the development process easier. However, it’s not only about computers! Non-technical aspects like not being afraid to fail and reading good books also contribute to the success.
Software developers are people like everyone else, although we can do a little bit of magic from time to time!
Published at DZone with permission of Josh Anderson , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.