MAY 18, 2019
In the previous part, we looked at different options from the POV of role .
Here we will look at the options from a skill POV.
A common term that you will hear in conversations about software skills is 'Full Stack'. So, what does this really mean?
Generally speaking, every software system will have a user interface (this could be via a web browser, a mobile app or a desktop app), server-side logic which determines the functioning of the system and a database component for storage and retrieval of data. Essentially, a full stack developer is one who is able to work in all three of these areas. The typical skills needed for UI development are: (i) a keen sense of design (the UI is after all, the only gateway to your user or customer- so it better be super easy to use and intuitive), (ii) tools and programming languages like (not limited to) HTML, CSS, Angular, Javascript, (iii) building & deploying mobile apps on Android (Java) or iOS (swift) platforms. This will also involve working closely with graphic artists/designers who build the visual appeal of your UI.
Server-side logic usually requires proficiency in (i) architecting highly available, high-performing and secure solutions, (ii) a robust programming language like (not limited to) Python, Java, Ruby, C++. With databases you have your regular relational databases such as MySQL and NoSQL databases such as MongoDB or DocumentDB - being able to tell which type of db is needed for your solution and how to connect to it and use it is the key,
But, looking at software development only as a 3-tiered stack is myopic. There are many other considerations such as understanding how to write a solution for the cloud, how to consume cloud-based services for your runtime, database etc. Embedded programming is a key skill if you are involved in end-to-end IoT development. Further, analytics, reporting/dashboarding have their own unique value and require a very different type of skill - i.e. to aggregate and visualise data in ways that provide businesses insights that are otherwise not apparent.
Next part: Continuation of the Skill POV.
About the Author :
Nagen Nyamgondalu is the Co-founder & Principal Advisor at Skill Velocity. After over two decades of technology leadership roles in software majors like IBM, and leading a spin-off as Director of Engineering at Honeywell, Nagen bootstrapped the concept of SkillVelocity. A true blue technologist at heart, he has a Masters degree in Software Engineering from Brandeis University, USA.