Tuesday 21 March 2017

10 things every software developer should do

If you recently joined the world of professional software developers you may think, thanks to your education and/or training in computer science and programming, that you have it all figured out. Developers who have been around the block a few times, though, want you to know that there are a bunch of things you should know about the business of writing code  and increase productivity for a living that you can’t learn from a university course or a coding academy.
A successful software engineer knows and uses design patterns, actively refactors code, writes unit tests and religiously seeks simplicity. Beyond the basic methods, there are concepts that good software engineers know about. However, as software developers, you can make some small changes in your daily work routines that are bound to enhance your way of working along with improved outcomes. In order to streamline your workflow in an effective manner as well as to ensure quick and smooth movement of the software development cycle. Here are the most tips for software engineering -

1. Understand the Big Picture - A big part of software development, of course, is knowing programming languages. But, as several people shared with me, developers also need to know about what's going on lower down the stack. This means that instead of putting all your focus on the small and scattered tasks that you are handling, allow your mind to look at the bigger picture from a bird’s eye view. Although, smaller tasks will keep you engaged, they might even be responsible for your loss of focus. On the other hand, trying to understand the bigger benefits that are waiting to happen will keep your motivation levels high.

2. Plan your Day - Instead, of jumping in to accomplish the task that comes to your notice first, it really helps to plan your day in advance. Prioritize the various tasks that you need to complete within a given day and start with the one which ranks high on this priority list. Work in 60-9- minute intervals with enough breaks in between so that your mind gets time to relax.

3. Basics of Project Management - Even you don't like to work as a project manager; you work most of the time in teams and at least have to organize your own tasks. To get along with your technical leads you should understand their wording and way of thinking. Spend time to learn about management, because sometimes you should manage these guys.

4. Understand the Business of your Customer - How can you design and implement good software without deep understanding of the purpose or use? The answer is easy: "If you don't know the WHAT, you can't decide about the HOW." A deep understanding of your customer's and/or user's business will lead to better requirements, designs, implementations and tests. Most of the software's functionality creates no business value. The challenge is to select the functionality which creates business value. The better you know the business the higher is the probability to implement the best system.

5. Understand the Infrastructure - I spend my first 10 years in IT without thinking more than a minute about infrastructure. It was not necessary, because I didn't work in an enterprise environment. At the moment I work for a bank (sorry for these Lehman Brothers stocks, nobody asked me). In a bank you have a lot of these infrastructure people. They are really different from software engineers. But, I don't like to discuss here the differences and possibilities to get along with them. 

6. Do Research before Writing the Code - Instead of directly sitting down to create a code, it always helps to conduct some research first. You may come across an umpteen number of open source libraries but each one of them may not be what you are looking for.
7. Focus on One Task at a Time - Although, most of us have developed a habit of switching from one task to another at lightning speed and doing everything all at once, this actually contributes to a serious loss in productivity. Instead, focus on completing one thing at a time and you will find that you are able to accomplish much more during a day as compared to when you were multi-tasking.

8. Take Frequent Short Breaks - Avoid working at a stretch. Instead, take frequent breaks between work intervals like have a snack, go for a walk or do something that is not related to your work. This will help you relax and freshen up your brain so that you can get back to work with renewed vitality.

9. Respecting Co-Workers, Testers and QA Engineers - Productivity is found to breed in an environment that stands on the foundations of mutual trust and respect. Within a professional setting, no matter how important an assignment you are handling or how good developer you are, it never hurts to be respectful towards the people who work along with you. Always remember, web development goes hand in hand with testing and quality analysis, so you are not alone in the game.

10. Do Not bring your Work Problems to Home - Finally, make every possible effort to disconnect your professional and personal lives. No matter how hard a day you had at work, simply forget about it once you reach home. This will help your mind to relax completely by focusing on things other than work.

0 comments: