We live in a time where information is everywhere.
Information about everything. How to make perfect pasta. When to plant potatoes. Which exercises build muscle the fastest. Even how to start a company, and how to run it.
This is all truly great stuff that blurs the lines between education and entertainment. You can learn how to do something, from an experienced practitioner, and usually for free.
But the reality of software startups is almost always shielded from you.
The hard work and the failures of tech startups are rarely shouted from the rooftops, and when they are, it all seems so inevitable and obvious. We only tend to see the ones that make it, and assume that they’re the best. The ones that fail? They didn’t have “the formula”, or the “mindset”. Or the product.
Survivorship bias leads us to believe that you must do things a certain way in order to succeed. You’ve got to have all that trendy startup stuff – open-plan offices, a dog, flexible working, unlimited time off, beer fridges, ping pong, and above all, total freedom.
This is your company culture, right? Isn’t this how all the best software companies motivate their teams to produce their best work, and ship fast?
Not really. Because nobody tells you how bad it can get when this culture of freedom collapses in on itself, trapping those within it in a cycle of burnout.
A well-intended culture of freedom, styled after the “best in the business”, can turn sour. Usually, it’s slow and insidious. Like boiling a frog slowly, employees don’t immediately leap out when it all gets too hot to handle.
Take flexible working hours, as an example. It’s such a great concept on paper – and in bigger organisations, it works well.
But employees in startups more regularly feel a sense of duty – to always “be on”; emails, Slacks, WhatsApp groups – notifications are constantly pinging. And not just in work hours. At bedtime, on weekends, during annual leave… It’s never-ending, and always urgent, somehow.
Flexible working practices can work brilliantly at established software firms, where there’s plenty of headroom. At a startup, with only a handful of developers and coders, it’s a one-way, fast-track ticket to crunch and burnout. Employees can suffer in silence during phases of growth, stretched to their limits, working all hours.
But you’ve got unlimited paid time off, so that’ll balance it out… right?
Well, only if there’s enough staff to cover the employees taking unlimited PTO. And if they’re even willing to take it.
Have you heard of “option paralysis”?
When humans are presented with unlimited choice, we can become paralysed by the options, never choosing anything for fear of making the wrong choice.
Unlimited time off can have the same effect on our brains.
Imagine sitting down for a meal at a restaurant, and being presented with an enormous menu. Tens of pages of dishes, and each one sounds completely delicious. How long will it take you to order?
Now imagine you’re at a food truck that sells tacos. Just tacos. There are 3 toppings. How long are you going to take to order?
The point of all of this is: there is such a thing as too much freedom in software startups. But the very things that make startups attractive to talented devs and coders – like agility and autonomy – need a level of freedom.
So how do you balance it?
The answer is to maintain the sense of freedom, but contain all activity within a structure. There must be processes, and clearly defined boundaries. That structure will look different at every software startup; because all of them have learned in very different (often painful) ways, that one size does not fit all.
It’s the ugly stuff that nobody talks about. The pain of growth. The lessons learned.
You need to be able to work as a team, at all times – even if that means taking a long break to be at your best. Above all, you need to define your processes, and your workflows.
Reduce burden, improve productivity, and give freedom to innovate within frameworks and allotted time.
Shipping software fast means using time where it counts, and front-loading releases for the best outcomes.
1. To ship software fast, implement code reviews. More often than not, the biggest problems come from code that wasn’t reviewed before launch.
2. Measure everything you possibly can, both in-house and user metrics. What’s the development lifecycle? Where are the bottlenecks? How are users interacting with the software – and have there been any dramatic changes in usage since the last version was shipped? Keep watching those metrics – because they’ll guide improvements in speed and quality.
3. Roll out slower. This sounds really counterintuitive – if you want to ship software fast, why would you push for a slow rollout? Well – by introducing changes to a smaller group of users first, you can track their experience, perform A/B testing, and limit the number of incident reports – allowing your team to work faster overall.
Another, and an increasingly popular answer to the growth problems startups face, is to expand your team on a per-project basis.
Hiring experienced, ready-to-go contractors allows startups to scale up and down with requirement – and the freelancers you hire in can impart valuable knowledge onto your core team.
ClearHub helps software startups in the most important phases of growth, to hire DevOps contractors and consultants, and seasoned practitioners, who can jump on a task and just get it done.
We find the people who push teams forward and pick up the slack during heavy workloads.
Read more – How to manage a mix of staff and contractors
We’ve got decades of experience in enabling fledgling software teams to become industry leaders. And we do that by placing the right talent at the right company,
Let’s do it for you. To get started, call +44 (0) 2381 157811 or send your message to info@clearhub.tech.
ClearHub 2024 © All rights reserved | Privacy Policy | Trust Center | Modern Slavery Statement | Cookie Overview
Cookie | Duration | Description |
---|---|---|
_ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
_ga_BHWFTMS5QE | 2 years | This cookie is installed by Google Analytics. |
_gat_UA-91023414-2 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
_hjAbsoluteSessionInProgress | 30 minutes | Hotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie. |
_hjFirstSeen | 30 minutes | Hotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user. |
_hjIncludedInPageviewSample | 2 minutes | Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit. |
_hjIncludedInSessionSample | 2 minutes | Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit. |
CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
Cookie | Duration | Description |
---|---|---|
bcookie | 2 years | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
bscookie | 2 years | LinkedIn sets this cookie to store performed actions on the website. |
lang | session | LinkedIn sets this cookie to remember a user's language setting. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
TawkConnectionTime | session | Tawk.to, a live chat functionality, sets this cookie. For improved service, this cookie helps remember users so that previous chats can be linked together. |
UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
Cookie | Duration | Description |
---|---|---|
_GRECAPTCHA | 5 months 27 days | This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks. |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
_hjSession_1670766 | 30 minutes | No description |
_hjSessionUser_1670766 | 1 year | No description |
_referrer | 1 year | No description available. |
_utmz_cf7 | 1 year | No description available. |
AnalyticsSyncHistory | 1 month | No description |
li_gc | 2 years | No description |
popForm | 1 day | No description |
twk_idm_key | session | No description |
Cookie | Duration | Description |
---|---|---|
_fbp | 3 months | This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website. |
fr | 3 months | Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin. |
test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |