Have a Software Architect in Your Mission Critical Software Startup

Sameera Weerakoon
5 min readJan 13, 2019

One of the best things about IT industry is the low barrier to entry for software startups. Unlike traditional industries, you do not need massive capital expenditure, working infrastructure or large supply chains to deliver your product to the market. Just a well powered computer, maybe a cloud account and a decent internet connection and you are good to go.

Or is it? Is it the case that this is more to do with the type of the software startup and the type of products you are shipping? I think we all know that it is the latter.

Clean codes and neat working space? Not so much! :D

I am currently working in an early-stage Sri Lankan startup that develops mission critical IT/OT software for manufacturing and supply chains sectors. We have been quite happy to exploit the fading barrier between Information Technology and Operational Technology brought by the Fourth Industrial Revolution and has established ourselves among the clients we are currently serving. However, our work has not been without some inherent difficulties we have undergone and I would like to tell you about it in case you and your team have a similar idea.

What they want?

Our target client base has traditional manufacturing supply chains that want to modernize using technology but cannot afford to go for internationally acclaimed specialty products in real-time systems. In case of Sri Lanka, they are usually very bureaucratic with heavy focus on risk-management and have a very structured tender process or strong IT procurement departments.

Imagine we are pitching our manufacturing solution which is a real-time MES system which intends to digitize and optimize the manufacturing function. Some questions they would be asking will be:

“How long have you been in the industry?”

“Are you funded by a reputed company like ABC?”

“How much of experience your development team has?”

“What is your financial capacity?”

This is all well and good for a large company that does not want to make the incorrect decision, but it does put a fresh startups like us that is built by young developers and bootstrapped in a bit of a pickle.

They are probably right!

If you are developing a mission critical product that requires a significant improvement to existing technologies or processes, then you should be able to guarantee that to the client. If you are guaranteeing a 15% reduction in the lead-times of the manufacturing process with your software that will have a 99.99% 365-day 24-hr up-time, you better back it up with a Service Level Agreement. In that case, what will happen if your software does not provide that?

One thing is you have to make sure that your software provides that. This is an issue if your team is made of young developers, and especially coders who are from a self-taught background. They might not be knowledgeable about technology stacks that facilitate such a high-level reliability or Quality-of-Service. Even if your development team is made out of developers from CS background, they might not have the experience in maintaining such a system in a practical setting beyond the traditional class-room learning.

If you fail to deliver the required reliability and QoS, then how are you going to respond? Are you going to accept penalties from your SaaS subscription? If the pricing was done using a traditional Upfront + Service + Maintenance model, how would you accommodate such penalties?

Hire a Software Architect

I am pretty sure you just had a mini-heart attack reading the above sentence. But hear me out.

Yes, you will have a hard time paying the hefty salary which will be around LKR 400,000 per month (~INR 160,000 per month for you Indian folks!). The benefits would be two fold, the actual benefit of having an experienced and seasoned software developer in your team, and the perceived benefit of having a person with such credibility that you can utilize them as a selling point. That big client you are expecting will be comfortable knowing that you are having a seasoned professional in your team despite you being a startup.

However, another option would be to give IOUs instead of paying from the very outset. A lot of experienced software architects are bored of their job, going through the ranks of a big software company for years and years and would love to help out a startup.

You can also hire one on a part-time basis so that they would not have to do the traditional day-to-day work, but will work on mentoring the young developers and establishing the technology stack needed for mission critical requirements.

Get One as a Co-Founder

What a lot of startups do is having one in the team as the tech person during formation. This is a very common practice in South Asia in cases where startups are formed by seasoned businessmen and developers. (Is it the case elsewhere?)

This of course by-passes the requirement to pay monthly salaries to a seasoned developer as the co-founder will be happy to accept shares of the business venture. One of the key challenges to this is to convince such a person to be part of your budding business and being convinced to share your vision for the startup. Another issue would be if you already have enough co-founders in your startup team that another dilution of shareholding would be problematic.

Secondary Benefits Will Outweigh The Primary

Having a software architect in your mission critical startup will be great for your product development. You can strive for a higher reliability and QoS with your products that will satisfy the pressing requirements of big companies, while your software will be developed in the mindset of reliability, performance and most importantly, scalability.

Also, the impact on your credibility when bidding for software projects will be immense where you can say “our startup is co-founded by Mr. ABC who has more than 8yrs experience working for Company XYZ!”.

The benefit of being able to mentor the junior developers and to comment on the business model itself will be immense as they will have a thorough understanding of what is needed for mission critical software development and operation. The junior developers will be able to learn better coding practices and how to think of their product as a system rather than an individual software that will be sold.

So what do you think?

This will not be the usual case for agile startups that develops and ships products with more IT focus than OT focus. Also that will be a starting point for most startups so they can start by selling small products to clients than going to develop an enterprise scale solution from the very outset.

This is my opinion. Of course, not having a software architect or a similar person does not mean that you will not be able to have a successful business selling mission critical software, but it will benefit. What do you think?

--

--

Sameera Weerakoon

I’m an interested in the technology adoption in the modern world and its effects. Also fascinated how consumers make, often irrational decisions about products.