Image courtesy of Medium.com
You may have heard about full stack web development but the actual concept around it may not be quite clear. To understand full stack development, we much first understand how websites are built. Full stack development refers to the front end (or the actual website you see when you pull it up in a browser like Chrome), and the back end which consists of the actual server where the website files live and hosting of that website on the web. Depending on your needs and the tech stack you're operating with, this could make the difference between good and bad web design. Fortunately there isn't always a need for full stack development and there is potential to avoid additional cost and complexities when building or managing your company site.
Some of the most common reasons are:
- You will be hosting your own website on your own servers and need them configured properly.
- Your website has complex functionality that uses server side technology.
- Wikipedia defines server side technology as: Server-side scripting is a technique used in web development which involves employing scripts on a web server which produce a response customized for each user's request to the website. The alternative is for the web server itself to deliver a static web page.
- The back end logic of your site requires knowledge of Node.js with Express.js, Ruby with Ruby on Rails or Python with Django and Java with Spring MVC. All advanced programming languages
- Your website requires some sort of database. This can be used for user login verification or any sort of dynamic information architecture.
Fortunately, the majority of company websites don't require such advanced functionalities. Even more so, there are many content management systems (CMS) out there that handle a lot of the back end functionality for you. This is very beneficial because issues like security, website up time, maintenance, etc. are all addressed through the platform that is hosting your website. However these can be limiting since they do not give you access to the back end of your site. This can cause issues for functionality like logins. If your site requires users to log in, you may not be able to accommodate that with your current CMS. That's why it's very important to understand the goals of your website and work with an agency that understands your goals and the limitations you may face with your current tech stack.
However, most developers don't settle for one single programming language. In fact, according to a 2016 Developer Survey, 28% of developers surveyed consider themselves to be full stack developers. That is not to say they are experts in every language. But proficient enough in at least 4 languages to build and sustain a website both from the front and back end.
Considerations to think about when choosing a web development company.
- What do you want your website to do? Is it simply an online brochure or business card to direct people to for credibility? Is it a conversion focused website that is meant to generate leads for your business? Or is it to act as an interactive HUB for users who can perform a number of different activities on your site?
- What resources do you have at your current disposal? Do you have an IT team that can configure a server and build a database for you to host your website? Or are you non-technical, yet know the importance of a website and decided to build it yourself?
- What about maintenance and up time? Is this something you will need to monitor and manage in house?
- Compatibility? As Jonathan Clark with Startup Grind writes "When you hire a web development company, you are hiring a technology partner. " They should demonstrate both expert knowledge and willingness to work within the social constructs of your business. Finding the right partner can build trust and expedite the speed of success, whereas finding the wrong partner can lead to headaches and grind progress to a halt.
Ultimately your website should never been truly finished. It should be a living, breathing sales rep that is constantly working and getting better overtime. Because of this, you may run into situations where you desire certain functionality or enhancements to your site that will require some back end skill sets. So before you decide on a front end or full stack web development company, be sure to spend some time thinking about what your goals and expectations are for your site. Try to think "future state" and account for any scalability you might need. Interview companies to see who can provide the value you're looking for with the expertise needed. If you're only interested in a cheap online brochure type website, a front end developer with a CMS like Wix, WordPress, or other do-it-yourself platforms will be sufficient. But if you're looking for a partner and someone who can help you leverage the power of web for your business, look for those companies that have both front and back end skills because eventually (if you're doing it right) you'll need a full stack support system.