Skills for a full-stack Developer

Skills for a full-stack Developer

Article by Carm Cachia published on Times of Malta on 26.11.2017

ICT Professionals and practitioners are very much in demand all over Europe. The growth of our Digital Economy has pushed the requirement for better and smarter digital professionals and technical practitioners. Nevertheless, this is all positive, and the country has no qualms about it. We have all worked hard to achieve this.

For sure, we recognise the emerging technologies in Artificial Intelligence, cybersecurity, IoT, data science, amongst others. This has changed the skills requirements of the many ICT professionals and practitioners, and many opportunities were created for new roles, that did not exist before, or existed in a different way. This is digital transformation at its best, and the indication is that it will increase even further.

One of the roles that is sounded very frequently is that of a “Full-stack Developer”. This role was added to the other many like-roles, such as software developer, web developer, software engineer, software architect, applications developer and others. Let us look at what are the usual skills required for a Full stack developer.

First, what is a full-stack developer? There are many definitions, and they differ due to the extent on how specialised or how many items are included in the “stack” for which the developer is responsible. However, there is a common understanding that it is someone who is responsible from the front-end to back-end of the software development. And let’s put it this way, in Malta this is not unheard of since many developers are responsible for both. But it is in the knowledge and technology depth that you master which makes a difference. Therefore, a full-stack developer should be knowledgeable about server, network, hosting environment, relational or not databases, API technology, user interface and experience, QA, security, and understanding the customer’s business needs. I must agree that sometimes this may look unattainable, but remember if you are a good and experienced developer you may be one of these! There are definitely available e-learning courses to become a full-stack developer in Coursera, Udacity, Thinkful, and many other learning platforms.

Let’s get a bit technical. It is widely expected that a full-stack developer would be proficient about HTML/CSS, Javascript, Back-end language, database and web storage, HTTP & REST, Web Application Architecture, Git, Algorithms and data structures. Alright, some developer who is reading this might say ‘Hey I know all these’, and this may be true. However, how good a full-stack developer one is will depend on the depth of the knowledge. For example, Javascript may include working with DOM and JSON, functional composition, prototypal inheritance, closures, event delegation, asynchronous control flow, promises, callbacks, and code structure, frameworks like angular and React, Jquery, testing frameworks, ES6, etc. While Back-end languages could include SQL, Python, C#, Javascript, PHP, and others. And the same for the other subject areas.

But do not lose heart, you may still be a full-stack developer, somewhat. If you would like to become even better, then it is important to read more online material on the subject, and to take-on various eLearning courses. Eventually you will also need to get deeper experience. The best full-stack developers have years and years of experience, but they are the masters!

Carm Cachia is Executive coordinator at eSkills Malta Foundation