Hidden Complexities of Tech Startups

šŸ‘‹ Hello, welcome to the Startup Hustle! Iā€™m your guide, Matt Watson. I share weekly tips from my 20+ years of startup founder experience and stories from other entrepreneurs from the Startup Hustle podcast.

At Full Scale, we have helped 200+ companies scale their development teams. If you need to hire talented developers for 60% lower costs, click here to learn how!

I am in the Philippines this week, but that didn't stop me from writing this week!

Hello from paradise!

This week's newsletter is about planning for the unexpected when building a new product.

The hardest part of creating software is everything you can't see.

It's the little things that don't seem like a big deal.

Something as simple as billing can be extremely complex with different packages, upgrades, cancellations, etc.

Unexpected things can take weeks to complete.

It's all time and expenses that you never planned for. When you have a burn rate, this can be a huge unplanned expense!

Welcome to software development, where the first 90% of the work takes 90% of the time, and the last 10% also takes 90% of the time.

Things can easily take twice as long as you think they will.

If you are a first time tech entrepreneur, you will quickly learn that the tip of the iceberg is just a fraction of all the work that has to be completed.

It's a painful lesson the first time around.

Even taking people's money can be complicated!

On today's podcast episode I interviewed Nicolas Lijla and we discussed some of the hidden complexities of building software. His company, Younium, does SaaS billing, which can be especially difficult.

Billing: The Unsung Hero

Charging someone $100 a month sounds easy.

Click subscribe, and boom! šŸ’°

But in reality, you have multiple subscription tiers, quarterly and annual payments, custom enterprise plans, and all sorts of add-ons and discounts, not to mention credit cards, ACH, wire transfers, payment terms, etc.

All the billing things! šŸ˜³

As Niclas Lilja, the founder and CEO of Younium, pointed out in our podcast interview, "Billing can be an absolutely absurd nightmare. I've been there before and told people before that sometimes the billing of their software can be more complicated than what their actual software itself is!"

Getting billing right is essential, but it's often underestimated in terms of the time and effort required to build and maintain it.

Onboarding: The First Impression

You never get a second chance to make a first impression, and that's why onboarding is so important. 

It's the process of guiding new users through your product and helping them understand its value. A smooth onboarding experience can make the difference between a loyal customer and a lost opportunity.

Creating an intuitive and engaging onboarding flow takes time and iteration. 

It involves understanding user behavior, identifying friction points, and continuously optimizing the process to ensure that users can quickly and easily get up and running with your product.

Make sure you invest heavily in it.

Localization: Speaking Your Customer's Language

In today's global marketplace, localization is essential for reaching customers around the world. 

It involves adapting your product to different languages, currencies, and cultural norms. This process can be time-consuming and requires attention to detail to ensure that your product resonates with users in different regions.

From translating user interfaces and documentation to implementing region-specific payment methods and compliance requirements, localization is a complex undertaking that requires significant resources and expertise.

Do you know that India swaps commas and periods on numbers? They also have half hour time zones! Localization can be a lot of work.

Targeting and supporting other countries can be a daunting task and not something you should probably do until your company is really ready to grow and expand.

Performance: The Need for Speed

Make it work.
Make it right.
Make it fast.

That is the creed of developing new products.

Once you have it all functioning properly, it takes more time to optimize the performance. 

You don't want to over-optimize for performance if the features are going to be changed or thrown away, so some of it naturally has to be done later.

Users expect your product to be fast, responsive, and reliable. 

Achieving optimal performance requires careful planning, testing, and optimization at every stage of development.

From database queries to caching mechanisms, there are numerous factors that can impact performance. Identifying and addressing performance bottlenecks can be a time-consuming process, but it's essential for delivering a seamless user experience.

You can usually delay this until after you validate the product and start to get into growth mode.

Security & Compliance: Protecting Your Users

Security and compliance are non-negotiable in today's digital landscape. Ensuring that your product is secure and compliant with various regulations, such as GDPR or HIPAA, requires significant time and effort.

From implementing robust security measures to conducting regular audits and penetration testing, security and compliance are ongoing processes that require constant vigilance and updating to stay ahead of evolving threats and regulatory changes.

Things like SOC 2 compliance are time consuming, expensive, and painful. Unfortunately, it can be a requirement for enterprise accounts.

Authentication and Authorization: Controlling Access

Which user can do what in the system?

Is every user an admin and can access the entire system?

In some systems, implementing security can be a massive effort.

For example, at Stackify, we had to specify which users could access specific account resources, on top of having very granular security controls on what actions they could take with the resources.

Complex security can make software extremely complicated.

In the early days, I would avoid it at all costs. A simple admin and non-admin user access level is usually enough.

Resist making it complicated until you know it's a requirement and have reached a strong product market fit.

Documentation: The Unsung Hero

Documentation? What's that?

Documentation is often an afterthought, but it's a critical component of any successful tech product. 

From user guides and API references to internal documentation for developers, creating clear and comprehensive documentation takes time and effort.

Good documentation not only helps users understand and effectively use your product but also streamlines internal processes and reduces the burden on customer support teams. 

It's an investment that pays off in the long run by enabling self-service and reducing the time spent on onboarding and support.

Earlier, I mentioned the importance of really good onboarding. Documentation is also part of that.

The Importance of Investing in the Unseen

Building a successful tech startup requires more than just developing innovative features. 

It involves investing time and resources into the hidden complexities that form the foundation of a robust and scalable product.

From billing and onboarding to localization and performance, these behind-the-scenes aspects may not be visible to customers, but they are critical for the long-term success of your startup.

As you embark on building new products, remember to allocate sufficient time and resources to these hidden complexities. 

These unseen items can also be major sources of technical debt. 

Thanks again to Niclas for being on the show!


or to participate.