Our expertise

As a full-service software consultancy, we at Altitude Labs get lots of questions about developing great websites and scalable applications. We have had the opportunity to ship apps anywhere from version one of an idea to apps with millions of active users. We build highly complex functionality from bespoke content management systems to financial applications. We wrote these web development notes to share our experience with teams who want to learn more about the web development process and running a web development team.

If you’d like to talk to us about your project, please feel free to contact us.

Who should read this?

These notes are on web development. It is written for non-technical leaders, executives and founders. It assumes little to no prior understanding of web development. If you are a technical person, you might also be interested to read our development related articles on our blog.

If you’d like to read about the design side of things, check out our guides on product design, user experience and user interface design or other processes.

What does a web application look like?

A web application is comprised of 2 parts: a web frontend (or client) and a backend (or server). The frontend is the interface that we see and use in our browsers. The backend holds the business logic and deals with any data that needs to be stored, updated and retrieved.

Structure of a web application

The same backend is often used by mobile (iOS and Android) applications and sometimes desktop and other client apps. Hence, it makes sense for backends to be written in a manner that can accommodate the web, mobile and other frontends that will use it.

The best way to achieve this is to separate frontend and backend. The frontend should not be concerned with data storage, so that frontend code remains portable. Likewise, the backend should not be concerned with the user interface, so servers can be simple and easily scaled (see the diagram below).

What language should my app be in?

The short answer is we believe that you should choose the tech stack that you can hire talent for and one that your team is comfortable with. Most frameworks are wicked when they have the right set of people who know how to use them.

Having said that, the chart below was published in 2015 and shows the most popular languages on Github, which will give you a sense of the popularity of various platforms.

Most popular languages for web and mobile development on Github

We at Altitude Labs use full-stack Javascript as our language of choice for web development. For our projects that involve data mining and data science, we use Python.

We use Javascript primarily because it is the only language where you can write in the same language for both frontend and backend. We use Node.js for our backends and frontend frameworks React, Angular, Ember, Backbone or jQuery depending on the project requirements.

Javascript has huge advantages when maintaining a flexible team that we can deploy depending on the nature of the project. It is also increasingly popular today because of single-page apps or client-side apps where there is a greater degree of separation between frontend and backend.

How do we foster engineering culture?

The first thing non-technical leaders need to know about leading a development team is that development is a creative process. Unlike many other professions, engineers are constantly tbrown in situations with new technologies, new requirements and have to design the best way to deal with these uncertainties. As such, engineers need a special environment to tbrive.

We implement sprint-based, iterative development and give our engineers blocks of uninterrupted coding time. We encourage team members to pair programming and work together to tackle problems and conduct code reviews and test-driven development.

We also encourage working closely with our clients. Many of our engagements involve augmenting or acting as project manager for existing development teams. We believe it is the best way to collaborate. We encourage our clients to work alongside us so we can train and learn from each other. We believe that pair programming and tackling problems together leads to better code.

How long and how much does it cost to build?

A lot of people ask how much and how long an app costs to build? The problem with this question is it assumes development is a one-off process, like the construction of a building. Many people compare their ideas to mature websites that have been tbrough several releases with a wide range of features. These apps would cost millions of dollars to create from scratch.

There are four variables at play - cost, time, quality and scope. The principle is that business people can only set any tbree of these variables, the fourth is determined by the development team. When a manager picks the value of all variables at once (i.e. "get all these requirements done by next Friday with 2 developers), code quality is often compromised and the project is often dragged.

Web development should be seen as an iterative process where there is a constant balance between these four variables. To maximise the commercial value of invested development time, the initial prototype should contain a minimum number of features to test the concept with real users and get feedback. This is also known as the minimum viable product (MVP). The next iteration of the product should be based on feedback from the previous version.

Having said that, our experience tells us that the development cost for a first commercial-quality release typically starts at US$100,000 and goes up from there, depending upon the complexity of the design, the platforms, and the various integrations that need to be supported.

How do we hire web developers?

Our principle for hiring web developers is focused on two factors: attitude and ability to learn. This applies to engineers of all levels of seniority. Our interview processes are strongly skewed towards uncovering these character traits.

We have found that resumes and years of experience matter very little when determining how good an engineer is. The best engineers are the ones that are unafraid to tackle new problems and can pick up new concepts quickly.

The other aspect that is important is attitude, which encompasses soft skills including initiative, sense of ownership and ability to work with others. Attitude is incredibly important for engineers to lead others and make an impact beyond themselves.

Further reading

For further reading about our engineering culture, check out:

Back to about us

We'd love to hear about your project!

Let's chat