Every type of career has its own unwritten secrets, and you likely won’t have a chance to hear them by accident without an experienced mentor. So what are the software development rules that you don’t even know? In this article, we will show you some. Hope that every piece of this will benefit you with your coding activity.
The 5 Best Software Development Rules That You Can’t Avoid
- Everything is likely to happen for a reason.
- It’s critical to ask the right question.
- Consider your team’s availability to handle urgent and unexpected issues.
- Maintaining regular backup is a must.
- Don’t forget to relax and refresh your mind.
1. Everything is likely to happen for a reason
We all know that feedbacks are important because they help developers can write better code. However, the responses are not always accurate. People sometimes do not understand the whole context behind an action, and they judge and make decisions with the information they don’t have.
This assumption is toxic to either the developer or the team. Bad feedback is not constructive. And at the same time, they make others less confident in their work and worsen a person’s performance. As a result, the team’s productivity decreases as well.
That’s why the first software development rule every code critic should understand is “Before criticizing people’s code, recognize that maybe they did it for a reason.”
How can we avoid those out-of-context comments?
Before making any criticism, make sure you ask for clarifications first with questions like:
- What was the intent here?
- Why did you do it that way?
Thanks to those simple yet pertinent questions, you have a chance to know more about people’s work. And if there are better ways to write codes, explain the reason, and then tell them how to improve it.
2. It’s critical to ask the right question
“A senior developer is just a developer that learned to ask the right questions by understanding the problem better.” – this is a well-stated comment made by user Domitrius’s mentor on dev.to.
In other words, when we are able to ask the right questions in a certain circumstance, the process runs more effectively because we will get better answers more quickly and more often so that issues are solved faster.
Furthermore, corresponding questions save time and effort. Meanwhile, bad questions start unproductive conversations which cause frustration and conflict between team members.
How to avoid this problem?
Below are six steps to ask good questions suggested by Designveloper:
- Step 1: Read through your code, again and again, to look for typos and syntax errors.
- Step 2: Find all confusing lines. Use every debugging tool you know to understand those lines of code. The more you know your code, the clearer the question will be.
- Step 3: Now you probably have some pieces of knowledge of your code and are able to form a simple question, however, it’s always necessary to check the issue out on Google first.
Here is a fun quote from Matt Studdert, the creator of Frontend Mentor, about this: “Good developers are also, very often, good Googlers”. So, don’t be ashamed when heading to Google and doing some research on your problem, chances are that there was someone else who did suffer the same issue. But do you know how to structure a decent request to get the best of this most popular search tool?
A good question will consist of 2 factors: the programming language (library/framework), and the spoken word question or error message.
Big tip: Don’t forget to change the words of your research to get more results.
- Step 4: Put your buggy code away from the project. This action helps you to focus on the stubborn issue and also helps others to solve the problem faster.
- Step 5: Now make sure you have standardized your code and ensure those lines of code have issues so that your saviors won’t go mad because of the messy code or having had to find the problem while there is not.
- Step 6: Help others understand more about your process by describing every bit and piece step you have made so far. Answer the questions below to write a better description:
- What do you know about the problem?
- Did you include screenshots of the issue/error?
- Which code creates the issue?
A clear description is important because people cannot contact you to ask for every detail. After completing those steps, remember to keep every update and be polite to people who spend their precious time helping you.
3. Consider your team’s availability to handle urgent and unexpected issues
Or you will know it by the legendary name “Don’t release on Friday”, but in this case, we want to make it more general.
- Firstly, if you have no idea how “Release on Friday” would affect your team, here they are:
- You will have only half a workday to fix issues and problems arising.
- There is not a lot of time to explain new features, and functions to clients and users.
- Your team members are not always available to answer questions on Friday.
- And obviously, people are not so productive when it’s almost the weekend.
- You don’t have time to work on support activity when there is a bunch of it after every release.
The same goes for other events when your men are not available.
Think of this yourself, you cannot work productively when there is other fascinating stuff to take care of, especially when enjoying a holiday. We at Designveloper know this by heart and there won’t be such things as deploying on Friday or the weekend. That sound interesting, right? We are recruiting for various positions here.
Quick fact: Do you know that the Dev teams of Apple always release on Tuesdays so that they have more time for the final check on Monday?
Jon Skeet agreed with this statement, how about you, share your thoughts below.
4. Maintaining regular backup is a must
Have you ever gone through a situation where all of your dedicated code just disappeared and then you had to start the project from the beginning? The reason may be varied. It could be a fresh guy who accidentally destroyed or deleted everything, or there was a glitch with the database. We could never know what would happen, right?
How to come out of this?
Whatever comes, your code and other resources like database, cryptographic keys, configuration files, VM images, images/videos, etc. should be accessed in the event of an emergency. As a result, our software could run well as normal and would not affect our client or the internal team.
Furthermore, it’s important to back up your progress and all resources so that it won’t cost you a ton of time and effort to recreate them
Nonetheless, we as developers and project managers could easily take care of all the data and progress.
Git is an awesome software when it comes to project backup but this tool is simply not enough. We also need one (or even more, nothing is too redundant, you know) external hardware device to store your project and data.
5. Don’t forget to relax and refresh your mind
According to research by Sleep Foundation in December 2014, “poor sleep is linked to poor health, mood disorders, and low productivity”. That’s why our final recommendation for you is to sleep and relax (exercise, eat, drink, whatever activity you enjoy in general) a bit more.
Furthermore, as stated in Tuck’s article, people who lacked sleep were less motivated in their work, they could not effectively focus, remember, and make good decisions.
As a developer
I was used to sleepless nights and tried to finish every project in the middle of the night, but soon, things got stuck, and ideas could not come to my mind. That’s when I decided to take a step back to sleep and relax more.
You may think working more means that you contribute more, but sadly, it does not. A search conducted by the RAND Corporation revealed that sleep deprivation cost 1 million lost working days.
What’s more? Getting away from your work for a while allows you to keep your mind fresh and gives you a new angle for analyzing stubborn bugs.
As a result, your brain is productive enough to squash current bugs. Plus, when the mind is not cloudy, chances are that your code will contain less buggy stuff to fix in the next few days.
Conclusion
What are other software development rules that you are thinking of? Please share your experience in the comment section. We are looking forward to it!
And if you are one of those companies who is looking for an outsourcing partner, here is our portfolio. Designveloper is the leading software development company in Ho Chi Minh City, Vietnam, founded in early 2013 with a team of professional and enthusiastic Web developers, Mobile developers, UI/UX designers, and VOIP experts.
You’re a passerby? Visit us every week to read more and more articles like this one or follow us on Twitter or Facebook.