How to survive in a startup and deliver great results

Written by theever | Published 2017/04/07
Tech Story Tags: software-development | testing | startup | software-engineering

TLDRvia the TL;DR App

We can all agree that being a software engineer can be stressful sometimes. But what happens when the stress becomes more than you can handle? For the last few months I’ve been in a constant state of stress as I’ve been responsible for the release of a product that is very important for me and my career. The livelihood of many people depended on the results I delivered.

In the software business having multiple layers of quality assurance is always good, but when you are working in a startup which doesn’t necessarily have the resources for the QA layer of the development process, you may end up relying heavily on the software engineers. This, of course, will put an immense pressure on them. Finding effective ways to manage both the quality of what you deliver and the burnout your team experiences throughout the process is crucial.

Here’s a list of the things which helped me to both survive and deliver great results:

  1. Always write unit tests for the modules which other people might potentially modify. It seems that most of the issues arise when a team member assumes a function works in a specific way and modifies it to fit his case, yet in the process he doesn’t account for the assumptions you’ve made when you wrote the function in the first place.
  2. Always write unit tests for the critical modules of your application. You don’t want to build your house on sand, only to find it crash when you need it the most.
  3. Have someone review your work in ANY way. Most of the time you won’t be able to write unit tests, so any feedback on your work is always a plus.
  4. Develop the skeleton of your application first. This means that you should plan for the necessary abstractions before you start writing any business logic in your application. You probably won’t be able to account for all the use cases but if you have a good discussion with your team then you should be able to hit all the important use cases of every module.
  5. Do not focus on debugging code that is not behaving as expected. If you have code that behaves in a way you cannot quite grasp, just delete it if you can and write it from scratch ( this time giving it more thought ). Debugging is a devil in disguise, one, which masks logical errors and can cause you to miss some important points while you slowly click F10 to move to the next line.
  6. Take time to relax. That’s right, if you do not relax you might be causing your organization more trouble than good without intending to. The deadlines are usually pressing you hard and you don’t have a lot of time to waste, but keep in mind that writing bad code is worse than not writing any code at all.

Those are the main things that I tried to account for as much as I could in the development process.

If you have any additional ideas that helped you deliver a quality product, please feel free to write them below.

Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.

To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.

If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!


Published by HackerNoon on 2017/04/07