# How to Maintain Consistent Output When Writing Software: 3 Mistakes to Avoid!
When writing software, consistency is key to avoiding bugs and errors, as well as shipping your projects on time. In this article you’ll learn about three common causes of output inconsistency that you should refrain from when building high quality software under a time crunch.
# Mistake 1: Spending too much time visiting distracting websites or video games
One of the most common mistakes that programmers make is not focusing enough. Whether it's because they're distracted by other websites or just because their focus doesn't last long enough, this is a mistake that all programmers need to be aware of and avoid.
To make matters worse, many websites (especially in the social media space) are designed precisely to take your focus away from what you were doing before, and drive as much engagement as possible. Websites to be avoided for this reason include:
- TikTok (particularly addicting as it has a very robust recommendation engine and even hides the clock so that you don't know how long you've been spending scrolling through videos!)
- Reddit (who else finds it too easy to get lost in an interesting comment thread?)
If you lack the self control to avoid visiting these websites on your own, there are several apps that can help you with this. Our favorite is Focus (opens new window) which will allow you to blacklist apps (including video games!) and websites from being opened during certain hours of the day, with configurable breaks as needed. The license fee is reasonable, and many companies will offer to cover the cost for you if they have a decent sized software budget. If not, it's still a worthwhile investment.
Despite the above advice, we do recommend taking multiple breaks throughout the day (a break for lunch is a necessity, as well as a two to three 15-20 minute breaks throughout the workday - all of which can be configured in the Focus app). Remember that working 24/7 is not a reasonable goal to have and your mental health will suffer. Just make sure that you're not spending hours of your day scrolling through social media and overloading your brain with dopamine!
# Mistake 2: Having your attention diverted by endless Slack and email notifications
It’s easy to get distracted by endless Slack and email notifications and then lose focus on what you were originally doing (writing software, in this case). Frustratingly, the majority of these inbounds are typically not exactly high in priority and can wait until the next day - but the Slack notification sound has an effect of making you perceive every request as a fire that must be solved immediately.
With this in mind, and instead of constantly checking your Slack or Email notifications, consider a process where you notify your manager that you'll only be checking those apps at certain times of the day. Once in the morning (9 AM, or whenever you usually begin work) and once in the evening (5 PM, or when you typically end work) is typically a good cadence to maintain as it allows you to maintain a balance of responding to requests in a reasonable timeframe while also completing your work throughout the day.
For truly urgent requests, ask your coworkers to page you instead of sending a Slack message or an email. By paging, we mean that most companies use something like PagerDuty or OpsGenie to notify engineers about active high priority incidents - if yours doesn't, impress your manager by recommending that he or she implements such a workflow!
# Mistake 3: Not keeping track of how you're spending your time
Imagine that you have a project to write some software for your company. You start off on Monday with high hopes and good intentions, but by Friday morning you realize that you've only spent about two hours on the project. We know it can be frustrating to see how fast your time slips away; this is especially true when you don't even notice that your time is slipping away and only recognize this as a problem in hindsight.
How can you take control of your calendar and make sure that you're dedicating time to your most important priorities? Take a look at your past week. Pick out the times when you felt like you got a lot done and compare those to times when you didn't get much done. You might see certain patterns to emerge, such as a recurring meeting that you didn't have much to contribute to, or a certain repetitive task that ended up eating a lot of your time.
For the next week, keep a note of every single time you were doing anything other than writing software or delivering results. You'll want to record the name of the task, as well as the number of minutes it took you. For example:
Week 1 (9/13-9/20): - Coding (2 minutes) - Code reviews for other coworkers (3 hours 30 minutes) - One-on-one meetings with manager (30 minutes) - Status update meetings (12 hours 10 minutes)
In the above example, you'd want to avoid cutting down on your code review time (code reviews for other engineers are an essential activity!), your manager isn't taking up much of your time with one-on-ones, and you definitely don't want to spend less time writing code (assuming you're an individual contributor), but you would want to do a deeper dive on your "project status update" meeting workload. See which meetings took the most amount of time and where you felt you had the least to contribute, and negotiate with the meeting organizers such that you no longer need to attend those meetings. One way to do this is to provide an alternative solution to the meeting organizer - for example, offer to provide a regular update over email or Slack instead of attending a meeting and see how they respond.
# In conclusion
We hope you found our time management tips and tricks useful! We'll be covering these techniques in our course (opens new window) in more detail, and we hope to see you over there as a course member. Until next time!