Skip to content
9 min read technology management

Building & Managing Technology Teams in Asia: Setup & Configuration of a Startup Team

In this essay, I discuss what the initial setup and configuration of a technology team should look like in a startup.

How do we set up an engineering or technology team within a startup? What are the pieces that deemed essential or not? Upon hiring your first engineers, what are the best practices for the startup phase before you move into the intermediate setup?

After working, building and managing different engineering teams from startups to corporations, I have gradually come to work out what I deemed as the minimum viable setup, learned a set of best practices on how to scale an engineering team as the company grows. In a nascent environment, the best approach is to adopt the agile software development model in a startup environment, where the engineering team can build a set of features and iterate upon feedback and data from users. However, as the engineering team grows, the priorities of the organisation changes with the complexities of building not just for your customers but also your colleagues in your company.

There is a philosophy which has increasingly become appealing to me in building your engineering team: build something which people within your company love/want/need to use. It sounds simple but it is actually difficult to execute. What’s more interesting is that it aligns the business owners and the engineers in a collective mode of thought and execution. For business owners, it actually demonstrates you whether the word of mouth marketing model will work. Think about it, if people within the company does not want to champion their own products, how are they going to convince other people to champion them? If you are not convinced, try asking your engineers why they just loved Dropbox, Evernote and GitHub and advocate that you should use it.

Why is this important? In a nascent environment, you do not have the luxury of a quality assurance engineer who can devise tests to search for bugs and issues or “dogfooding” the company’s product. So, the early software engineers have to find ways to make testing not part of the hassle but in an automated fashion. In a startup, the test driven development (TDD) [1] is a process that is more crucial for both front-end and back-end engineers.

Setup & Configuration of a Technology/Engineering Team

When you start an engineering team, you need to set it up in a way that are suited to the needs of the organisation. Don’t be dogmatic about it because software development comes in all shapes and sizes. For example, the needs of a business to business (B2B) and a business to consumer (B2C) are very different. If that does not sound so bad, how about adding the complexity of a hardware (car, watch or Google glass) in the process or dealing with mobile operating systems (iOS, Android, Windows Phone 7)?

How should be the initial setup really look like? While I will dedicate a separate post totally on how and what to look out for in hiring engineers, here are some heuristics to how I think about the initial setup which I learn through my years of experience:

The same would work for mobile development, except that you have to bear in mind the same principle of a front-end and backend engineer works as well. The complexity lies in the amount of devices that you need for testing and also making sure that you can provide engineering support if you expand to a second platform. One philosophy I have seen that it has consistently work for mobile developers is the following: always start from one platform (iOS or Android), work out the kinks and issues with the engineers who specialise in one platform before you extend into the rest of the platforms (Windows Phone, Blackberry).

As I have worked in both mobile and web, I have built my framework in thinking about the whole platform as mobile-web such that I see them as one piece rather than separate. To me, the desktop is another screen size and my web or mobile product must be responsive by default. If we are working on native applications, for example, within the iOS or Android framework, our focus is to make sure that we leverage on their software development kits (SDKs) and at the same time, optimise their performance.

In any case, my ideal first configuration is usually a team of four with three software engineers (including the CTO) and one UI/UX designer.

Best practices to build an Engineering Culture

What is important for business owners who are planning to build their engineering teams with the chief technology officer (CTO) is that they need to think about their career path. A lot of Asian business owners tend to treat them as workers rather than craftsman. Without the first step to rectify this cultural attitude, you will lose members of your team every now and then.

Notes:

[1] Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.