Collaborative Consulting

Overcoming startup instability

Brandon Konkle
Ecliptic

--

Despite its many challenges, working in the startup world can be very exciting and enjoyable. I love the culture of innovation, the fast-paced experimentation, and the diverse challenges commonly found at startup engineering teams. The downside to all of that rapid change, however, is that startup employees don’t enjoy the same (somewhat debatable) career stability that employees of large, established enterprises do.

Unstable is the default channel

Situations at startups can change rather quickly for a variety of reasons including fluctuating budgets, organizational difficulties, and general market instability. As companies become successful they often have to reorganize to meet the demands of a rapidly growing business, which can shake up teams and prompt developers to start listening more closely to the constant stream of recruiters trying to get their attention. Operating budgets can fluctuate wildly from one year to the next, which can impact everything from project planning to personnel growth and retention. The average startup employee often has to deal with frequent health insurance and retirement plan transitions, complicated taxes, and a myriad of other challenges.

Individual engineers aren’t the only ones to feel the pain from this situation, however. Turnover can be high as employees fear market instability or are lured away by other startups that just closed a big investment round. Struggling companies often deal with lynchpin members of the team leaving at times of high demand in the job market, meaning it’s even more difficult for your team to find a replacement. Projects are delayed, investors are unhappy, and engineering leadership takes a reputation hit.

An idealist vision

It doesn’t have to be this way! I have a vision for a truly flexible engineering ecosystem; one that is agile in the face of changing market conditions, that doesn’t load down emerging businesses with large engineering teams and fast burn rates, and that doesn’t disrupt or sacrifice fundamental employee benefits. I believe that consulting, when approached in the right way, could be a great solution to many of these difficulties. With a cooperative model, consultancies and startups can work together to manage the ups and downs that come with the territory.

In this model a startup would typically employ a core team of engineers (or a single core engineer, depending on the size), and maintain relationships with trusted consultancies to help augment the team when needed. When the next great business opportunity comes along, leadership doesn’t have to borrow a page from the video game industry and hire a huge amount of people, driving them in a death march of overtime towards the inevitable layoffs at the end of the Big Project™. Instead startups can be honest and up-front about the fact that this is an engagement that will have an end date. They don’t have to deal with constant interviewing and turnover or fear layoffs because of business performance.

Consultancies can maintain their own core team of engineers, recruiting and training Junior engineers as an investment. Their rate starts out at a deep discount, and as they learn from the senior engineers and clients that they work with their rate grows. This gives the consultancy a strong return on that investment, which has the added benefit of encouraging the company to hire well. As they grow in experience they may discover they really love working with a particular client or in a particular industry, and they could make the decision to leave the consultancy and join the core team at a startup (contracts can support this in a fair way for all parties).

Trust is the key

None of this works if you can’t find contractors or clients you can trust. I’m sure this is why our industry is set up the way it is, and it’s going to continue to be a challenge. There are many ways to mitigate this risk, and a big one I’m working on is the idea of a “developer network,” or a larger collective built on relationships and trust. I’ve been slowly testing out the idea with Gabe Greenberg, the founder of G2i and a popular member of the Reactiflux community. We’re hoping to grow a network of engineers and clients we trust, and help make connections to keep things running smoothly.

I think one of the big things holding us back from this model of close collaboration with consultants in the industry is the emphasis on fixed bids. All the startup podcasts and advice blogs tell us that we need to get away from trading time for money, but for agile startup projects I’ve actually found that to be the best way to structure an engagement.

Hourly or weekly contracts allow us to embrace uncertainty, operate within ambiguity in a productive way, and work with clients collaboratively. Many of our clients are aiming to shake up industries with original ideas and new strategies. We deal with a lot of unknowns as we prove out new technologies and apply them in unprecedented ways, and we work closely with clients to weigh different approaches and help them make the best decisions for their business.

Fixed bids can often make it hard to work this way. Requirements have to be thoroughly spelled out during lengthy discovery periods, and unknowns have to be quantified with low-fidelity guesses that nevertheless have to go through a formal change process before they can respond to changing conditions. High-level estimates are certainly useful for planning and keeping everyone on the same page, but structuring contracts based on them is similar to gambling. Both sides have to keep their own best interests in mind, hoping to gain enough of an advantage in contract terms to offset any potential setbacks in their ability to predict the future.

There are a variety of reasons that fixed bids may sometimes be the right choice, but in our experience it hasn’t been the ideal way to work closely with our clients and change course quickly as we learn during a project.

So how does Ecliptic work?

I started Ecliptic for a few reasons. One was to build a strong team around React and push the envelope of cross-platform apps. Another, however, was to find a way to continue engaging with the startup world that I love so much without navigating so much instability.

To do this, we’re taking strong influence from my time working with a fantastic Python consultancy, Lincoln Loop. Following their example we embraced a radically open “collectivist” mentality; we pool our consulting income in a business account that the team can view, take a regular salary that is openly disclosed to the team, and make business decisions together. I believe it actually takes strong leadership to make mostly-flat organizational structures like this work, and I endeavor to live up to the great examples I’ve learned from over the years.

So how does this affect instability? It doesn’t — but it does help us and our clients deal with it in a much healthier way! My brother and I get the opportunity to work with a variety of exceptional companies — but we get to keep the same insurance and retirement plans, and take advantage of awesome services like Gusto to make managing payroll and benefits easy.

We’d love to hear from you!

There are certainly other ways to tackle this problem and many of the other challenges I’ve mentioned here. I’d love to hear your thoughts here on Medium, or through social media like Twitter. You can also find us on our brand new Gitter chat community or send us an email! If you like the way we work and want to partner with us on your next project, you can set up a meeting with me here and I’d be glad to talk!

--

--

Brandon Konkle
Ecliptic

Founder and Lead Developer at @eclipticdev, @reasonml acolyte, supporter of social justice, enthusiastic nerd, loving husband & father.