Last week I met my University lecturers when doing my Information Systems course. They asked me what I was doing nowadays. I briefly explained to them why I was in Web Development amongst the more popular choices of ERPs, .NET and JAVA.
A life decision
Like most things in life, I prefer using strategies when taking significant decisions instead of being impulsive and reacting with the moment.
I choose Software Development as a career path because today, software is eating the world. Technology is consistently disrupting traditional businesses - with those who do not adapt, close their doors.
In addition, as a personal choice, this path suits my personality as I don't like repetitive tasks. There is a low barrier for shifting from one technology to another.
The Pareto principle (also known as the 80/20 rule, the law of the vital few, or the principle of factor sparsity) states that, for many events, roughly 80% of the effects come from 20% of the causes.
Compared to numerous white and blue collar jobs requiring plenty of efforts, Software Programming - even in the most stressful moments - is relatively easy in terms of net effort. You work in an office with AC with comfortable equipment while Doctors for instance, while well paid and helping improving patient's heath, usually work for more than 24 consecutive hours with night shifts even on weekends. While one of the noblest jobs, the amount of effort needed is significantly bigger than in Software Development.
Passion vs Purpose
I choose this path because as Ryan Holiday - the author of Ego is the Enemy and The Obstacle is the Way says - it's not about Passion, it's about Purpose.
I like writing. But as a career it's challenging for me to make a decent living as I am not a natural writer. Anybody can write, but writing well takes much more time and effort.
Moreover, professional writers' lifestyle usually goes from one extreme to another; journalists and content creators have to publish content almost everyday which is highly stressful while others, your typical travel blogger is more relaxed, touring the world and making money doing so.
I prefer a lifestyle whereby the stressful parts happen once in a while. I can enjoy a proper work life balance and grow everyday as a craft person.
Imagine going to fish in the nearby lagoon with your newly bought equipment only to find countless of fishermen in their boats already there. They have more resources, plenty of experience and have a better network than you - someone starting out. So how do you compete?
In marketing terms, this is known as the Red Ocean Strategy. You know there is an abundance of fish but too much competition.
Now imagine, fishing somewhere else, where there is less fish but less competition as well - where the Ocean is Blue; hence the name Blue Ocean Strategy.
The same is true for my career. I can choose working with ERP in the dozens of multinationals with thousands of developers, all competing for the same work, same salary, same posts and same parking spots.
Or I can choose one field, still in IT, where there is still demand, yet low competition.
Web Development, especially Full Stack Web Development, has low competition, as is not as demanding on the market, yet provides better perks as it is still an unsaturated market.
PROS over the most in demand tech such as .NET and JAVA:
- if I have a lot of colleagues and other people working in the same technologies as I am, I am disposable and can be easily replaced; not so much being an expert or being good enough in a field that is more difficult to get good developers
- better salary as there are less full stack web developers while the demand is increasing every year (scarcity rule)
- easier to be promoted, hence quicker growth (this also depends on the company policies though, which differs from one to another)
Furthermore, Web Development is used a lot by startups as they are open source and have no licence fees. Working with such companies has a lot of advantages mainly:
- flexibility in working such as remote working
- as is usually less structured, you can work on different types of technologies (therefore the work itself can get less boring)
There can however be plenty of CONS such as not having a work life balance, no parking, noisy open office space among others.
In the field of IT, there are so many choices for different types of people - those who are most interested with numbers, others with repetitive tasks and others with doing stuff with their hands such as IT and network technicians.
For people who prefer programming, this domain itself is vast - with thousands of different mainstream languages and frameworks. Scientists prefer the use of python as it's easy to get started and already have ample libraries for data science. People wanting the whole package of outstanding libraries and GUI choose .NET. Others especially startups prefer open source technologies so as not to get into the expensive licence fees especially those that increase with more users.
As software is eating the world, people from other backgrounds such as Accounting and Engineering are getting into Software Development, as consultant, project managers and even programming.