logo-new mail facebook Dribble Social Icon Linkedin Social Icon Twitter Social Icon Github Social Icon Instagram Social Icon Arrow_element diagonal-decor rectangle-decor search arrow circle-flat
Close

DevMynd
Welcome to Tandem. We were formerly known as DevMynd. Read more about our new identity.

Consulting
August 29, 2019

Product development vs consulting: How Tandem does software consulting differently

Senior Software Engineer, Engineering Manager

When you are looking for a development or software engineering job, you are often faced with a choice. Do you want to work for a product-focused or consulting-focused company?

For those unfamiliar with these distinctions, a product-focused company is a company that is building a product and providing it as a service to their customers. Their revenue is made from subscription fees or ad dollars. As a developer at a product-focused company, you are writing the product’s software, working with internal teams at the company to define and deliver features. At a consulting-focused company, your time is the product. Other companies engage with your company and pay for your time to solve problems and build solutions for them. The types of solutions you work on are wide-ranging depending on the types of clients you work with.

Consulting sometimes gets a bad rap in the business and technology worlds. Images of stressed out consultants working long hours, traveling every week, and who feel pressure to promise the moon to clients are common. This can scare away many engineers from what can be an extremely fulfilling and technical career path.

Tandem is a consulting-focused organization, but in my experience we do things quite a bit differently than other consulting companies that I’ve worked for. This leads to a better consultant experience and a higher quality of work life, in my opinion. For full disclosure, I’ve worked at Tandem for almost 2 years and have worked at 3 other consulting firms and 1 product company in the past.

How we staff our projects

Staffing is one of the biggest challenges consulting organizations face. How do you balance your time and the needs of your clients? Every consulting company handles this differently. The most common staffing scenarios I’ve seen are staff augmentation engagements or splitting your consultants’ time based on each client’s budget. Both of these have drawbacks.

As a consultant working in a staff augmentation (or staff aug) role, you are “on loan” to your client for them to use your time as they see fit. This is where the perception of 100% travel and feeling disconnected from your actual coworkers as a consultant can come from. In the other scenario, consultants may split their time between multiple projects, which provides a lot of variety in daily work but also results in a lot of context switching that can make it challenging to keep up. This type of staffing can contribute to the image of the stressed out consultant.

Tandem chooses to staff all of our client projects as if they were a product. We keep our teams 100% in-house. We rarely travel, and if we do, it’s usually only for research or large launches. Having our teams colocated helps streamline communication and fosters a connected culture among our teams. Our teams are not individuals “on loan” to clients, but instead are trusted advisors who plan and prioritize their own work in order to deliver on the needs of the client in the most efficient way.

We dedicate a team of engineers and designers 100% to a single project for its duration. Our engineers do not context switch between multiple projects or clients which helps improve focus, increases productivity, and builds domain expertise. The only exception to that is for our long term clients; we may rotate individuals on a 6-month to yearly basis to ensure that our team is getting the opportunities they need to achieve their career goals. Because we rotate individuals on a semi-regular basis, we have variety in our work and the opportunity to learn new skills built into our process. I think we this gives us the best of both worlds, focus and variety! 

By staffing our projects as if they were products, we ensure domain expertise for our clients—they get access to a dedicated team of experts who have experience planning and managing large software projects—while maintaining our Tandem culture and proactively preventing burnout.

How we bill

Because time is the product in a consultancy, it’s a fact of life that companies need to bill for your time. This can create a lot of headaches for consultants who need to keep track of every task they do and how long they do it, in order to fill out their time entry. 

In addition to timesheet woes, consultants often feel heavy pressure to be billable, or actively working on client work, without being too billable and exceeding estimates. This can lead to a lot of stress, untracked overtime, and lack of learning/professional development time. Because spending an hour to learn a new tech (or write a blog post like this one) isn’t in direct service of a client project and can’t be charged for, some companies deprioritize these activities leading to lower morale and higher rates of burnout.

At Tandem, we bill our clients weekly rather than hourly. We believe that all learning that we do is in service of delivering higher quality code and that all of our clients benefit from us being well-informed and having time to learn new tech. We still have an expectation of delivery (the majority of our time is spent on client work and there is a lot of learning on the job), but we value an hour spent here or there learning about alternative tech and solutions to better advocate for and advise our clients. As a matter of fact, we build team professional development into our company schedule every week.

We also place a premium on work-life balance. By not tracking each task or Jira ticket individually in our time entry, we don’t place pressure on our teams to put in untracked overtime. Leaving time to learn and explore while not requiring stringent time entry so our time can be better focused on the work at hand leads to happier and more productive teams in the long run.

Happier, more productive teams lead to happier, more satisfied clients. Our clients don’t lose any of our time to administrative tasks related to time entry, develop more trust in us as they know that we’re not nickel-and-diming them by charging for time spent answering their questions, and are able to take advantage of cutting-edge technology more quickly since we’re encouraged to explore new tech whenever we have the opportunity.

How we sell

Finally, consulting as a developer can sometimes have the connotation of being “sales-y.” Consultants may be expected to up-sell their clients and be on the lookout for new opportunities. In some cases, compensation may be tied to sales efforts. This can also result in developers spending less time “hands-on-keyboard” than they’d like. And if the company doesn’t include engineers in the room during the sales process at all, you may have a situation where what is sold isn’t possible within the allotted time and can lead to “crunch time” followed by burnout and attrition.

Tandem is extremely intentional about our sales process. We include practitioners in the room (from both engineering and design) to ensure that there are no surprises for either the delivery team or the client, we have the capabilities to deliver, and the estimates are as informed as possible. But the practitioners that are included are people who want to be. We recognize that a benefit for some who choose to become consultants is a chance to learn the business side of the house and to interact with more people than you would at a product company. However, we also recognize those who prefer the wide array of technical challenges in consulting and would prefer not to do sales, and instead focus on solving hard technical problems.

Conclusion

Being in a consulting role exposes you to a wide variety of experiences and provides the opportunity to learn a lot very quickly. Because projects tend to be a bit shorter in a consulting role, you have quicker feedback loops to apply lessons you’ve learned in new situations and see what works and when. You can explore multiple technologies and see the effects of your programming choices (or someone else’s) on code extensibility and refactoring. However, you may also experience more ambiguity and more changes when working with clients than you would with your own internal product team. You need to learn to manage and be flexible with your time and work styles. 

Choosing between consulting and product-focused organizations can be a challenge. Both types of companies have benefits and drawbacks. Often, they are presented as sitting at either end of a table, and you need to pick a side. I know I’m biased, but I think Tandem has found a seat in the middle that takes advantage of benefits at both ends.

Like what you’ve read?  Tandem is hiring!  Check out our open positions here!

Let’s do something great together

We do our best work in close collaboration with our clients. Let’s find some time for you to chat with a member of our team.

Contact Us