Are you looking to hire a Web Developer and need a little background about the role and Web Development in general?
A Web Developer is still one of the most required resources for startups to large enterprises, from social to e-commerce, for any kind of project involving design, coding, maintenance and optimisation of websites and distributed applications in general.
In this brief overview, I will try to point out the most relevant skills and capabilities of a Web Developer, their magic toolbox and the approach they usually adopt on the job, their limits and the tasks you should never assign to a Web Developer.
Did you know that you now hire Web Developers on twago by the hour?
The Full Skillset
From the smallest website to more complex Web Applications, the key resource for building a solution is the Web Developer. He/She has a very deep knowledge about technical and functional components of a dynamic website regarding the front-end and the back-end.
The front-end is considered the most important side for websites or applications with customers as the main target. It is essentially the graphical aspect of the website and the interactions the user can experience directly (like surfing the website, browsing product catalogues, filling forms, downloading brochures). There is only a limited range of features realizable with “pure” front-end.
The back-end is usually the invisible part of a website (but often more complex). It consists in organized code (application-logic), services, databases and other components in order to provide functionalities to the users. The back-end “amount” is very limited in landing pages or simple websites, but really important for web portals or applications that manage data and complex transactions. An example of back-end: it is everything that happens after you buy something on any e-commerce website, like a shopping basket, e-mail notifications, payment steps, etc. If the back-end is missing, nothing will happen when you click “Buy”…
There is really a third skill-set a good Web Developer should have: the basic capabilities for server administration (typically Linux or cloud services) and some knowledge about domains, like registration iter, DNS configuration, email setup, etc.
I personally think a Web Developer should be very strong on front-end. The back-end is not very relevant on common websites and when the complexity increases, this component is normally separated, designed and developed by other specialists, typically software engineers highly specialized in these kind of implementations, involving different technologies, external integrations, services, datasources and databases. Then, I will provide more depth on the front-end.
“A Web Developer is still one of the most required resources for startups to large enterprises, from social to e-commerce, for any kind of project involving design, coding, maintenance and optimisation of websites and distributed applications in general.”
The Web Developer Toolbox
It’s not easy to build a beautiful, interactive and fresh front-end but there are three fundamentals: HTML, CSS and JS. Every Web Developer should know and have great confidence with these technologies, since it’s not enough understanding the basic language patterns. The ability to make them interact perfectly is an art, an experience, a practice.
For a Web Developer, HTML, CSS and JS is like having “Lego” at their disposal, they could really build anything with these tools! Let’s take a closer look at these acronyms and why look to be so powerful.
HTML
HTML is a very old mark-up language, updated very recently with HTML5 (October 2014) from the W3C (World Wide Web Consortium, an international community for Web Development and standardization). The mark-up language allows you to organize and render content (i.e. text, images) to be displayed on web pages. In the last several years, HTML has evolved a lot (from the very old 4.01…) and is very suitable for dynamic content, interactions, video and much more, and still preserving the basics of the “old” generation
Rendering appropriately a web page is not possible with “pure” HTML, since some aspects are required to be separated from the main document: style and interactions.
CSS
For well designed websites, CSS is the answer (the latest update is known as CSS3 but still under development). CSS provides an incredibly large range of graphical and appearance options. Animations, re-usable text styles and image transformations are only few examples. The third keyword is JS, more commonly known as JavaScript.
JS
JavaScript (JS) unlocks range of programming features for web pages and can trigger a series of actions to allow the page to be more interactive (like Google search autocomplete) or more efficient (new components hidden and loaded when necessary) or integrate external services (like social networks via the public javascript APIs) or simply process data you need.
This is basically the meaning of three core technologies for developing websites. For JavaScript there are lots of open source libraries that could be included in the website and get lots of functionalities that are very easy to integrate (JQuery and JQuery UI are the most famous). If the website is well designed and there is no complex logic or big data involved, the majority of the logic could be developed in JavaScript and minimized the back-end logic. In this case, you will get much more scalability (JavaScript runs on users’ PC or smartphone) and the servers will not be overloaded even if your website has millions of visitors for day.
[Tweet “A Guide To Hiring & Working With Skilled #WebDevelopers “]
CMS Comparisons
At this point, it would make sense to say: I could simply install a CMS and manage the website by myself…
Although somewhat true, there are lots of reasons because managing a CMS by ourselves is not a good option. First, you should learn to configure, use and maintain the solution you choose. Looks very easy, but without solid background on the CMS, the website will be just copied from another template, lacking of customization and graphical capabilities so the result won’t be very professional and won’t impact appropriately on users.
Either a CMS could be a good option or a start point for developing a website, in my experience Web Developers are fairly reluctant on using them. I think there are several reasons, technical or not, and could be classified on the project size:
1) For basic websites or landing pages, the CMS is not useful, it is too much powerful and complex. Setup and graphical customizations could be more time consuming than developing the pages “from the scratch” or starting from a good HTML5 template.
2) Medium complexity websites are the right target for CMS. If requested features can rely on additional plugins simple to configure and the website architecture/graphics are not too fuzzy, building the website with a CMS could be really efficient. The final great advantage is that future administration of website (new articles, new sections, webmaster’s tasks, etc) and the updates will be quite easy for non-expert users through the classical CMS features.
3) For big portals or ad-hoc solutions, especially if scalability required, the affinity of a Web Developer will probably match again a custom development, not based on CMS… rather on some development framework that could speed-up the implementation but not so restrictive as the CMS could be.
Coming back to a general consideration, some CMS are really good for light customizations and can rely on wide range of graphical templates (again available for changes). The Web Developer’s skills are incredibly compatible for managing a CMS, from its setup to customizations, since the front-ends are based on the well-known HTML/CSS/JS trilogy, and the back-end, useful for relevant customizations like functional plugins, is usually based on PHP.
Regarding performances, CMS are usually (significantly) slower than any ad-hoc website and vulnerability will be higher (hackers consider popular CMS as target very often) assuming your ad-hoc web site was developed considering basic security policies.
Then it is important to know if your Web Developer is going to use a CMS or not for your website. Tradeoffs are various and every project could have a different answer…
What a Web Developer can do efficiently (and what they can’t…)
A Web Developer skilled on native development (HTML/JS/CSS and likely some back-end languages) is surely in the best condition to build amazing websites, either based on CMS or not, considering multiple and transversal targets:
- Functionality: the website will be implemented as you require, feature by feature, with the full capability of customization.
- Graphics: website design will follow CSS standards and your specification or mock-up (if available). Please remember the Web Developer is not a graphic designer or an artist, so better to have clear ideas or provide graphic files to the professional.
- Performance: working directly on the basic algorithms, especially if not using a CMS, the Web Developer can speed-up and optimize everything (front-end and back end interactions) and make your website very fast.
- Security: a good Web Developer usually implements a security assessment of the website (client-side, server-side, databases, etc.). If you do not have a bank application, you can feel sure…
- Scalability: also if not a software architect, theWeb Developer should have in mind the leverages to guarantee the website is “up and running” also if thousands and thousands of users are visiting the site simultaneously.
- Maintenance: if you need to have maintained, bug-free and continuously updated website, ask for a maintenance plan so your developer will take care of the website and its infrastructure.
- Marketing: there are developers that are also experts in web marketing and SEO (Search Engine Optimization). However ensure to have the website analytics in place, in order to monitor by yourself relevant statistics about visits and visitors.
The Web Developer is a powerful and very flexible resource that can deliver what you need on a limited budget. If you provide accurate specifications and do not exceed with extra requests “at runtime”, you will be extremely satisfied – and your customers will be too!
Do you have a project or idea that needs a little Web Development?