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 have the capability to address front-end and back-end considerations for software development. In simple language:
- 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:
- 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.