Photo by Drew Beamer on Unsplash
Habits of Effectively Successive Developers
As a software engineer, it’s important to build good habits
Working hard and dedicating yourself to a goal isn't an overnight process; it takes time and dedication. It is imperative that you have a passion for programming and should be willing to go beyond normal boundaries to improve yourself to make your mark in the software development industry. You must be prepared to change whatever aspects of your habits need to change.
It is the basis of every successful developer's success. Let's look at some of the key habits of successful developers that you can follow to reach the top of your career
Writing Clean Code
It is important to write clean code as a first good habit that will improve your chances of becoming a successful developer. Coding standards are up to you, but make sure your code is readable by humans. As technology changes rapidly, there may be times when it's necessary to make changes to your code. As a result, ensure your code is maintainable enough so those who may need to modify it in the future can do so. Van Rossum has said it himself during his time at Dropbox:
“Maintainable code is more important than clever code.”
Learning Continuously
The phenomenon of ‘the survival of the fittest works in the software ecosystem too. If you want to survive in this competitive world, you have to continuously improve. Employers today want their workforce to be up-to-date with industry standards and software technologies. Thus, to keep pace with the advancements, you can join skill enhancement programs, online training, read tutorials, watch videos, etc. Upskilling yourself will definitely be a turning point in your career as a software developer.
Discipline and Persistence
Adapting to discipline and persistence are other success-oriented habits every developer should have. Being disciplined will enable you to finish the task at hand on time. Persistence is one of the virtues of successful developers that allows them to beat all odds and finish their work before the deadline no matter what obstacles they encounter.
Knowing your forte
Everyone cannot do everything. You may be very good at developing UI and UX, but not so good at creating the back-end of an application. To succeed in anything they do, successful software developers know their strengths and work around them.
Just stick to what you are good at
Open to new things
As a developer, it may be necessary to go the extra mile in researching and exploring every aspect of technology in order to meet a client's expectations. The term "impossible" isn't in the developer's dictionary once the requirement document is closed. It is the quality that makes successful developers follow this rule to the letter, and that is the quality that makes them succeed.
Paying attention to detail
Developers know that the key to writing a perfect code or managing a project successfully is paying attention to the client's requirements and working accordingly. The last thing you want to do is to keep reworking a piece of code because you forgot to add a semicolon when terminating a line. Keeping your eyes open and paying attention to the details of the code and the project as a whole will help you to become a successful developer.
Keeping an end product mindset
You can't hit a target you can't see. In order to achieve your goals, you must clearly determine where you are going and what you really want in the end. Developing a project with this mantra in mind is the key to success as a developer.
Don’t Repeat Yourself (DRY)
Beginners often repeat code, doing the same or almost the same things. Say you want to open a file and read its contents. You can write a few lines and do so easily. But if you need to read another file and get the contents of that one as well, don’t write the same code to open this different file. Or worse: copy-paste it!
Instead, you should realize that you can create a function instead. Two significant advantages here are:
- Less code is easier to maintain and debug.
- Small functions are easy to test
- A well-named function is a form of documentation
Pro tip: Some IDEs detect duplicate code and warn you about it, and some even help you extract methods or functions from the duplications.
You aren’t gonna need it(YAGNI)
Don’t write code that you don’t need right now. It’s tempting to write some extra code because you think you will need it later on. The problem here is twofold.
- You probably don’t need it after all. Now there’s code just sitting there unused, and nobody dares to remove it because who knows what will break if they do.
- Unused code does not get updated. It can introduce bugs and security vulnerabilities that didn’t have to be there in the first place.
Save yourself the time; you aren’t gonna need it!
Document Your Code
There are three ways to document code:
- Use comments inside of your code.
- Writing documentation in a separate document.
- Writing self-documenting code.
- To start with comments: use them sparsely. Only use comments where clarification is needed and do not state the obvious.
Writing documentation can be beneficial. Think of all those GitHub repositories. It has become a de facto standard to include a README.md file at the root of your project.
This file describes a few essential things:
- What is this code? What problem does it solve?
- How can you start working on this code? Include specific instructions to create a development environment, if any.
- How do end-users use the software?
- Offer related links, like more documentation, background info, etcetera.
- Where and how should people ask for help?
Asking for Help: The Right Way
A professional only asks for help after extensively trying to find an answer in other ways. Before you ask a question:
- Read the documentation — also called RTFM, short for “read the f*ing manual.”
- Search Google for the answer if the documentation is not clear enough or does not solve your problem.
If that didn’t help, consider where to ask for help first:
- A bug tracker is not the place to ask questions that are not about (potential) bugs.
- A developer mailing group is intended for developers working on the product, not developers using the product.
- Many projects have a page instructing you how and where to ask questions.
- There are large Facebook groups dedicated to specific programming languages and technologies to ask more general questions. In my experience, they can be messy and have a lot of noise, but often you’ll get your answer, so it’s worth checking those out.
Finally, before writing down your question, take these points in mind:
- Be kind, be grateful. The people that answer you and try to help you often do so in their spare time, for free.
- Be as detailed as possible. Provide context: what are you working on, why, and what have you tried so far?
- Include error messages, (parts of) log files, and the code giving the problem. Don’t dump entire files. Only include what is needed to get proper help.
- In general, be respectful of other people’s time.
If you liked this article, here are some book titles that will help you become a better software engineer:
- The Pragmatic Programmer — From Journeyman to Master
- The Mythical Man-Month — Essays on Software Engineering
- Clean Code — A Handbook of Agile Software Craftsmanship
- The Clean Coder — A Code of Conduct for Professional Programmers
- Clean Architecture — A Craftsman’s Guide to Software Structure and Design