One of the many nice things about being a trainer is that I
get to understand what is happening with folks, because when certain
technologies are demanded, I get enquiries about stuff they wish to learn.
That, indirectly, ties into what are the technologies being used. Over the last
few months, the number of enquiries related to building apps that run within a
web, in other words, web apps, are picking up speed. I must have dealt with at
least a dozen students who asked for some work of web development training
combination of both.
That makes me ask a question, one that gets asked a lot by
students, why become a web developer? Alternatively, the question also implies,
why not become a web developer? I will try to explain the situation to the best
of my ability.
First up, web development is going to only increase in
relevance as time grows. That is tied to the growth of mobile devices. Come to
think of it, mobile devices are like everywhere now. At the same time, larger
screen devices aren’t going anywhere. I use mobile devices, tablets, desktop PC
and laptops with varying time spent, to get my work done and earn a living. A
lot of times, I am using some variation of the same service to get work done.
That is where web apps become important. The appeal of web
apps is that they run using the rules established for web browsers. That thing
about web browsers is that they have a web engine, which in turn can work with
these rules and regulations (or technology framework or web platform or…well,
there are just so many words) and get things to work. This means, as long as
this ‘web engine’ is running, the web app would run. This is where all those ‘hybrid’
apps and development tools become suddenly relevant. Hybrid apps are those that
are (usually, because the web is such a stickler for using all kind of crazy
words without standardizing it first) build using web technologies (HTML, CSS
technically, build a code, that can then run on the browser, android, iOS platforms
with minimal changes.
This is where the opportunity to become a web developer arises.
Let’s talk about the good stuff first. Unlike say, android development or
windows development or iOS development, the tools needed to learn web
development are pretty simple. An old laptop that costs less than rupees 10000
can be used (with some tradeoffs) to learn essential web development. That’s
kind of neat isn’t it? When I started windows phone development, I spent a fortune
(Windows Pro license, windows phone, a PC that can run the emulator, the
developer license) to actually start learning the whole thing.
With web development, the costs of actual development are
low. Along with this, the actual time it takes to learn web development is also
are quite easy to become familiar with. A decent student, with enough dedication
can become familiar enough to write basic apps in a matter of months. Becoming
an expert is another story altogether.
With the mobile devices becoming truly ever prevalent and
now in everybody and their mother’s hands, there is dearth of work. That means,
even decent skills is enough to land some kind of employment. This is all the
The two bad stuff, can get pretty sad for everybody
involved. There is such a thing called platform diversity. You know how there
are so many versions of android that plays havoc with android developers? You
know how game developers complain about developing for windows, when compared
to building for a Xbox One? Again, diversity of platform is the problem. Now
expand that to include the web engine which should run on everything from PCs
to mobiles to tablets to mobile devices. Then, there are so many operating
systems. Even the same browser will exhibit different behavior on different
platforms. Then, screen resolutions that vary like crazy. This is what is
called a messed up kitchen, and this is also where you look at things and go, ‘This
is Heavy doc!’!!!
libraries out there. Every company wants people to use their own library.
Facebook wants people to use React JS. Microsoft wants people to use TypeScript.
Then there is jQuery, which has its own agenda. Don’t forget the visual
enhancements provided by Bootstrap which also does some script work. There is
that are in turn used by these libraries, and many of them are self-tested with
or without update support.
When I think about all this, all I can think of is a house
of cards. It gets scary, and that is why developers should be scared. Or at
least worried. There is just too much to keep track of, and more importantly,
you never when something (like a module, or a library) will suddenly become not
available, and then your app simply stops working! This happens with any
software, but at least with a windows environment or an android, there is a big
company in charge, which can usually provide some kind of a normalcy by fixing
With web, everybody owns some piece of something. In other
words, when things go bad, nobody will take responsibility or will not be
required take ownership. It can get crazy, but the web is a crazy world.
The second problem is an offshoot of the lower learning
costs that I talked about. When costs are low, the barriers of entry also
reduce. That means, more people will try and become part of the party. When
there are too many people standing in queue to join a party (that is looking
for employment) the party organizers (in this case organizers) have more
choice. More choice means less pay. This also means less security when it comes
to jobs. Given the ever changing nature of the web, folks who just finished learning
something must be ready to learn again, or else, someone younger, cheaper and
equipped with the latest skills will replace them. Heck, automation (the irony
being that they were build using these web languages) itself will begin
If you are looking to enter this crazy world of web
development, the key is to look at how talented or desperate you are. If it is
the former, you will make a killing. If it is the latter, god help you.