A Non Technical Co-Founder’s Guide to Hiring a Digital Agency

Vincent W Profeta
5 min readJul 14, 2021

--

Beginning an engagement with an agency to build your web or mobile application MVP can be a very exciting time, however, it is important to have a very good understanding of the deliverable. An MVP (Minimum viable product) is a basic, launchable version of a product that supports minimal yet must-have features. An MVP is created to enable faster time to market, attract early adopters and achieve product-market fit early on.

I recently had a group of non-technical co-founders ask me to review a SOW from an agency to build an application very similar to Digital Ocean’s Community Forums (https://www.digitalocean.com/community).

If you are a non technical team, there are a number of reasons why you should get a sensible idea of the technology choices made for your application. But one of the most important being the question of who will help build and maintain your system once the initial work is completed?

You might think to work with the agency that initially built your application long term. Although possible, it will be slow to iterate and very costly. Your first goal after initially launching your MVP should be to build & iterate quickly, as your initial assumptions about product market fit will most likely be incorrect.

Reid Hoffman, the co-founder and executive chairman of LinkedIn said: “If you are not embarrassed by your first product, you launched too late.

the point is, don’t INITIALLY spend a bunch of time and money on the perfect product.

So, what should you do?

Get A More Detailed Scope & Architecture Plan

Make sure to get a detailed scope and architecture plan on the build of the app, website, and backend services. Then, compare with the current talent market based on that plan. For instance, if the plan is to build a full suite system: server, iOS, Android, web; and the decision is to use Python for the server, Kotlin for Android, Swift for iOS, JavaScript for web and it’s all on AWS, the reality is you will probably need to hire at least 3 developers to maintain it in house. This is quite overkill for your MVP, and more expensive to maintain.

Many of these languages used on the front end, can also be used for the backend. Consolidate technologies in the beginning and then use the best tool for the job later on.

For your front end- Website App.

Which library? For example, if it is a website do they plan on using React for the front end? And if so, which framework? Next.js, Create React App, Gatsby, Remix, all have their own pros and cons depending on your business needs. I will not go into the details of these, but you can find more information in a future post, or with some quick googling.

Other questions to consider:

  • Which styling framework + design system will they use?
  • Do they plan on using Typescript if its a website?
  • Which state management patterns will they use?
  • Will the app be server rendered, statically hosted, or rendered client side?

There are a number of different client side frameworks that can be used, some more popular than others: React, Vue, Angular to name the big 3. Picking the right tool for the job makes the most sense, so just pick React :)

For your backend

There are so many options for this and it all really depends on your business needs. Some popular languages, and the ones I have experience with are Node, Go Lang, Python, Java, PHP, Ruby….. the list goes on. In this case, the agency suggested Node, which is a JavaScript language built on google’s v8 web engine.

For MVP projects, though debatable, most projects succeed using JavaScript. Why? Because it is easier to find one developer to work on both the front end and back end since they are written in the same language. Obviously, this is not the best choice in every scenario, but there are ways to run more complex job based processes without having to architect the whole application around this one task.

Your Mobile App

There are apps that require significant rendering power and graphics processing, but many just involve basic data views. In this case, a list of articles and article details. There are some other nuances but the gist of it is not too different from medium.com.

You could reach for Native iOS or Native Android if you have a forgiving budget, a more complicated UI, and a need for top performance. However, most do not need or have all of this. And, instead of having to hire 2 roles for iOS & Android you could go with the something like React Native or Flutter. This is considered a hybrid approach, or “Write Once, Run Everywhere.” Also, keep in mind that React Native is also JavaScript :).

Think about it: You could only need 1 relatively talented person building your Web App, Server, and Mobile App, which is often called a “Full-Stack” developer….more on that in another post.

This is not to say that developers don’t know multiple languages, because good developers do and will choose the right tool for the job. But remember, you are non-technical cofounders looking to build your dream….simplify and then hire when you hit scale.

Hosting & Database

This is not a one size fits all approach, and it is by far the most confusing and costly part of the process. There are so many options across multiple big tech companies: Google, Microsoft, Amazon. Most people choose AWS or Amazon Web Services, and I’m not sure if it is actually any better than their competitors. AWS has LOADS of features and products making it quite difficult to navigate and figure out which is the best for you.

For people that don’t have their own infrastructure engineer, I usually suggest Managed Services such as Heroku. There many other hosting services to choose from, and I will cover that in a different post.

Let’s take Heroku, it is built on top of AWS and owned/managed by Salesforce. Heroku lets you easily create servers and infrastructure through an intuitive PaaS product. Within 5 minutes I have secure servers, databases, logging, CDN, analytics… all setup in their platform UI. For an MVP lacking technical resources, this is a great option. You can always migrate later if you outgrow it. And yes, you pay slightly more for this, HOWEVER, it’s managed! That means you do not need to hire a DB engineer plus, if something happens to your Postgres DB; they fix it for you. You also have the ability to create larger servers to handle your scale, or you can choose to auto scale. It’s not perfect, but its way better than having an expensive “Oh shit our servers are down” guy on your payroll.

To Wrap Things Up

An MVP empowers you to discover and learn from your users with a prototype version of your product, without overspending valuable time and funds. When working with an Agency it is important to really do your research after receiving a proposal. Often times they will make decisions that best fit them, but could be detrimental to you in the long term. Get a second opinion on proposals and do research on your own.

Best of Luck!

--

--

Vincent W Profeta

A full-stack developer with experience building/designing/leading web and mobile javascript applications from concept to scale.