Stack in simple english means “a pile of objects, specially arranged in a neat or orderly manner” most of us might have heard or used this word during conversations. This simple has also been consistently used in the IT industry over the past few years. While reading articles, job postings, whitepapers or any related material we encounter the word “Technology Stack” very frequently.
Today let us look what does technology stack mean, some popular technology stacks in vogue, and utility of various such stacks and career mapping. Stack or technology stack in IT means a combination of technologies, tools or applications put together to build, complement or accomplish a particular development or programming objective.
Why have stacks being referred to and talked about so much today?
IT industry today is constantly looking for a professional who is the jack of all on the chosen technology work. A professional is expected to know at least most if not all of the technologies involved in the particular work area. Although it is understood that a single person cannot be an expert on all the areas, good know how of all the aspects involved will surely make one more employable and will certainly create more utility value. Thus optimising the organisations time, money and other resources involved in the project.So the next when you are seeking to get into an IT career, start focusing your learning efforts on technology stack and not just a single technology. Let us look into some popular stacks that are in demand.
Web Stack or Web Development Stack
A Full-Stack Web Developer is a professional seeking a career in application development. The developer should possess the ability to work on front-end and back-end portions of an application. Front-end is that part of an application that is visible to the users along with the interaction while the back-end runs the logic related to the business, workflow, databases and servers.
Summarizing the above a full stack developer should know the following
- Operating system like Unix, Windows
- Application Programming language like Java, C, Python
- Database applications like Oracle, MySQL, MongoDB or Cassandra- Web development technologies like HTML, CSS- Server side programming with J2EE, Servlets
- General project management and SDLC know-how
Infrastructure and networking stack
The infrastructure and networking stack is generally preferred when seeking careers into operating systems, networking and server management areas. Although with the advent of open sources there are now multiple combinations of these stacks.
However large companies like Microsoft, IBM or CISCO who work on licensed software promote and create many jobs in these areas.The most popular stack for beginner include WISA – Windows Server (operating system), Internet Information Services (web server), SQL Server (database), ASP.NET (programming language). This is the beginning or first step for career seekers getting into the larger career space of server management, remote infrastructure management (RIM), information security and network security.
Data Science Stack
Data Science is one of the oldest areas of practice in analysis and technology. It has been prominent over the recent years due to evolution of digital technologies, mobility and large volumes of data.
Data Science encompasses multiple discipline in math and science including statistics, this is coupled with data sourcing, data storage, data cleansing, data mining, web scraping, data wrangling, data modelling, data analytics, and data visualization.A full stack Data Scientist should have skill on multiple technologies for performing the above activities. Some of the popular technologies include Python programming, R programming, Big Data with Hadoop, SAS, Scala Programming, Spark, ELK, Splunk, Tableau, Qlikview, NoSQL among many others. Apart from these, knowledge of pure math with statistics and probability will get the foundation strong. Knowledge of businesses, industry practices and workflow will be great advantage for a beginner to get a head start in the race.
Mobile Development Stack
Mobile development is one of the largest job creators in the world. This technology area is often complemented by the web development, but to make careers in this area beginners have to garner other skills specific to mobile programming. Let us have a look below – Mobile device programming with Android or iOS, – Enhancement with cross platform tools like Xamarin, Ionic or Phonegap. – Lightweight mobile web development with technologies like JQuery mobile, Ajax, PHP, – Cloud technologies like Azure, Amazon web services and Heroku, – Databases like MySQL, PostgreSQL and Oracle- Testing with Selenium, TOSCA- SCM with GIT or GITHUB- Continuous Integration with Jenkins
While these are a few popular stacks for learning and getting a good start in IT careers, there are many more flavors and variations.In the next column we will discuss in detail about each of the stacks, how several applications or software cater to various industries. What domain knowledge to seek?