jay's old blog

this blog will be deleted soon - please visit my new blog - https://thesanguinetechtrainer.com

The Appeal and Non-Appeal Of Becoming A Web Developer



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 which involved either dot net, or one of the many Javascript libraries or a 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 and many many Javascript libraries) and then deployed as apps. You could, 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 on the lower side. The bedrocks of web development – HTML, CSS and JavaScript – 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 good stuff.

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!’!!!

As if this is not enough, there must be dozens of JavaScript 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 also good old JavaScript which does a lot of things. Then, there are modules 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 things.

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 replacing developers!

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.

Follow me on twitter, facebook and instagram for more updates. Thanks!

Comments are closed