Hiring a fullstack developer is one of many ways to build a digital product or develop an internal tech capability in your company. Is this approach right for your project or company? Read on for the pros and cons of using this approach.

Fullstack Developers

Fullstack Developers have the capability to address front-end and back-end considerations for software development. In simple language:

  • The front end is everything you can see or interact with on a website or in an application. This generally requires knowledge of HTML, CSS, Javascript and some other frameworks and libraries.
  • The back end is the data, processing and storage that powers the website or application. Back end development requires knowledge of a backend programming language (such as PHP, Python, Java or others) and databases.

To be effective, fullstack developers need to be proficient in front end and back end development. Take the considerations in a website as an example:

Good fullstack developers will also need to know about version control, testing strategies and devops tools.

Using the “Solo Fullstack Developer” Approach

Rather than hiring a team of several developers, this approach sees a single developer tasked with the development and implementation of a digital product like an application or a website. There are pros and cons of using this approach.

The Benefits of the Approach

The use of a solo fullstack developer may create substantial benefits:

  • The project should be cheaper, for a start. Often this is a key consideration.
  • One person will be familiar with all elements of the feature or product, and that person will be clearly responsible for modifications, fixes for bugs and responses to customer requests.
  • This structure should also be efficient, as there should be relatively internal conflict in a team of one!
  • In the event that the developer leaves, another person can step in.

The Risks and Limitations of the Approach

Of course, there are risks that come with this approach.

1) The Project Might Not Be Suitable

Not all projects are suitable for this approach. There is definitely a ‘sweet spot’, namely projects of moderate complexity and duration. In contrast, a single developer faced with a two-year build is likely to stagnate and perhaps never see the job through. This approach is perhaps best for projects requiring 3-6 months work.

2) Compromises May Be Required

Secondly, while a feature implemented by a fullstack developer might work flawlessly, its common that the user experience might not be quite right. This is really the area of expertise provided by a UI/UX designer. This is a good example of the compromises that are involved. Using a larger team of specialists would resolve this.

3) Software is Increasingly Complex

There is a strong argument that development has become much more complex over the past decade. A full stack developer would have been fairly effective in the past with knowledge of HTML5/CSS3, PHP/Python/Ruby, MySQL and Amazon Web Services.

However, it’s likely that a project will require specialized knowledge in all kinds of platforms and frameworks. Think of mobile development platforms like iOS and Android, MV* frameworks such as Angular.js, new object databases such as MongoDB and entirely new approaches like machine learning. Complementary team members may be needed to supplement the core skills provided by a fullstack developer.

4) Key Person Risk

Of course, having a single person with the knowledge and responsibilities for a product has some risk. In the event they leave, you may be faced with a significant delay while they are replaced. Some loss of knowledge may also result in a change in personnel.

When is this Approach Most Appropriate?

The focus on a lone fullstack developer can be a highly successful approach to your early team structure. In fact, many teams start this way!

The approach is most likely to be successful where your project involves an uncomplicated tech stack and you’ve estimated that your Minimum Viable Product will require 3-6 months of work. Best results will require you to have some technical competency and the availability to manage the developer.

An alternative approach is using a small development team. It’ll cost more but is more suitable for some purposes. We discuss the strengths and weaknesses using a small development team here.

Common Profiles for Full Stack Developers

Fullstack developers come in many shapes and sizes, although there are several common profiles. For example:

  • Traditional Fullstack Developers: HTML, CSS, Javascript and at least one back end language like PHP or Java.
  • JavaScript Developers with knowledge of recent frameworks: Although JavaScript was originally intended for front end development, the use of the language continues to evolve through frameworks. A developer with skills in Javascript can now be responsible for both front and back end development though the combination of NodeJS (a back end framework for JavaScript) and either Angular, React or Vue.JS (front end frameworks for JavaScript).
  • Python Developers who specialise in Django: Django is a full-stack open source framework for Python.
  • Ruby Developers: Ruby on Rails is another full-stack open source framework.

Of course, there are many other combinations of programming skills and expertise that can be used by a developer for “full stack” development. Note that becoming a good fullstack developer isn’t easy or fast, but there is a great guide over here at Medium. This guide is also useful if you’re looking to hire a fullstack developer.

Finding Offshore Talent and Getting Started

Your business can save significantly by developing your software offshore. We’re experts in launching and running offshore teams. Find our more about how an offshore software development team might help your project or company.