DEV Community

Ben Halpern
Ben Halpern

Posted on

Are newer developers pushed too exclusively towards web development?

I get the impression that web development is the overwhelming path of choice for bootcamps, etc. But it's only one field in dev/IT.

I wonder if we could do better to have more diversity in early career education.

Thoughts?

Top comments (82)

Collapse
 
ghost profile image
Ghost • Edited

I think is about: market, ease and "coolness".

As far as I've seen the amount of jobs for webdev/mobile are orders of magnitude bigger than other fields, even desktop programs are now "Apps" written in Electron, nobody cares (for now) about performance, just the amount of LOC/day; the faster way is the web-way.

And that leads to the ease, you can learn enough HTML in an hour and another couple and you are good to go with CSS, is very easy to copy/paste and you can have something very pretty with very little effort, something that would impress in not much time, nobody cares if you optimized a DB query or solved a tough concurrency problem, you need years to make something awesome in C, and that leads to the third point.

Even that awesome thing you did in C will not be appreciated by 99,999999% of the population, you'll probably not make a lot of money either. You can make an embedded system that will save millions, increase production radically but probably nobody will see it, takes a special kind of person to work hard for no recognition nor money, just for the love of it, it also involves a lot more of work and learning, you'll certainly look better in a coffee shop with a MacBook than in a lab with an old Thinkpad, surrounded by oscilloscopes and smelling like soldering. You could solve the traveling salesman problem in log(n) and nobody would give a damn and the one solving it would be likely underpaid and working in a basement for not much, just because s(he) is having too much fun doing it.

And also other branches come from other disciplines, for data analysis you probably are an economist, physicist, astronomer, etc. Robotics you need a lot of electronics and some, mechanics; for other low level stuff you'll probably need the CS degree or a lot of extra dedication; webdev is more straight forward HTML -> CSS -> JS and stay in the front or add PHP/Python/Java/Ruby and go to the back and with the right framework you can skip the basics (I don't recommend it but you could). 6 months of webdev and you can probably start making money; not so fast in other "branches".

But of course depends heavily in each market, probably in China and South Korea they have more focus in other things.

And could be of course also a perception thing, in dev.to clearly the focus is more towards webdev, so more webdev people post here, and because there is more content about it even more people come; maybe is just what we are seeing; in Instructables and Hackaday they may wonder why nobody talks about webdev :)

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Completely Agree, it completely depends on the market & large business
Also an unpopular opinion would be because "JavaScript" has taken the tech market by accident but the only thing you could build with it is Web

Collapse
 
terkwood profile image
Felix Terkhorn

I happen to like your unpopular opinion ๐Ÿ˜

Collapse
 
ghost profile image
Ghost

yes, that's a good point, so much so that it's bleading to the desktop in things like Electron and went to the server as node.js; IT'S SPREADING!

Thread Thread
 
joshuawoodsdev profile image
JoshuaWoods

I am putting off learning JS as long as I can, its a terrible lang. I'm learning Ruby/rails and flutter at the moment.

Collapse
 
pulljosh profile image
Josh Pullen

I feel like web dev is a nice target for beginners because it gives you a pretty quick feeling of making progress due to the emphasis on building a GUI. Game development might be the only area with a more intense focus on beginning with graphics.

Definitely doesn't mean that the world only needs web developers, though!

Collapse
 
ben profile image
Ben Halpern

This is probably true.

But I wouldn't be shocked if the need for the GUI feedback might just be for an absence of creative ways to teach other subjects. ๐Ÿคทโ€โ™‚๏ธ

Collapse
 
sergix profile image
Peyton McGinnis

In your opinion, what software field most needs new methods of teaching?

Collapse
 
htnguy profile image
Hieu Nguyen • Edited

I am a student, so I can honestly say my path is not yet fixed and stone(I hope it remains this way). However, I do noticed while working and searching for computer science internship that most of them are geared towards web development. I believe that is due to several reasons:

  1. The web is the preferred platform for creating highly accessible content and services.
  2. In some respect, it is also much easier to scale, more features can be added, etc ...
  3. homogenized user's experience. Updating a website with new feature and content means all the users will receive the same benefits.
  4. Finally, this is probably one of the main reason: lower barrier of entry. Compared to other careers paths: Some are too old or uses dated technology(think Cobol or Embedded System) while others are too advanced or on the breaking edge of technology. Hence, they require a grasp of the fundamentals ex. machine learning requires a linear algebra, algorithm, data structure, and good analysis skills , all of these things. These skills develop over time and require a huge investment of time.

On the contrary, web dev provides a nice middle ground. It has been around for a long time, so the technologies involving web dev is very diverse. Some are old like php while others are new like React and Node. It is constantly evolving, but there is always something for everyone regardless of your level of experience.

Disclaimer: these are more or less my observations as a computer science student during this time as such, it is subject to change.

Collapse
 
ben profile image
Ben Halpern

Very good points. As a student, how much exposure have you had to the concept of career-pathing in general, is this explicitly discussed much?

Collapse
 
lautarolobo profile image
Lautaro Lobo

I study CS and in 2 years, nothing about career-pathing. Our institute almost asumes that we'll end up doing research, somehow. Usually us as student will talk with different professionals and convince them to come to give a talk or something. Our professors don't talk much about the industry, they probably don't know much because have been in the academic branch for so long.

Collapse
 
lbayliss profile image
Luke Bayliss

While I was a student there was almost no mention of career-pathing. The only exposure we got to the real world was through optional internships. Once you got your paper it was honestly up to you on where you went; not that we really knew where we could go. Most of, if not all, of my cohort were employed by the people we did our internships with.

Collapse
 
cono52 profile image
Conor O'Flanagan

Ye same, when I was in college doing CS, 3 years ago, there was no career-pathing (that i was aware of at least).
It was pure luck my classmate had a parent in a company looking for web dev interns, and were kind enough to think of me.
I got it and it helped soooo much getting a job straight out of college, but of course only in web dev.

Collapse
 
htnguy profile image
Hieu Nguyen • Edited

I had a few classes that attempts to focus on the career side of the whole computer science program, but they are usually very broad and focused more on things that are applicable to any job market: interviews, writing a good resume, etc..

I fully believe that being able to chart your career path or at least a rudimentary map of which direction you are heading in is VERY important. However, it is an opportunity I have not yet received :(

Collapse
 
wisniewski94 profile image
Wiktor Wiล›niewski

The problem is the learning curve. In webdev it's linear.

Collapse
 
mazentouati profile image
Mazen Touati • Edited

I think it's rather mountainous. Something like this:

learning curve

There's a lot of ups and downs during the learning experience as the tech stack is kinda overwhelming and evolving frequently. It happens that sometimes you make progress in a certain subject but you find yourself in need to re-learn the basic to advance and explore new paths you weren't aware of previously.

Collapse
 
ben profile image
Ben Halpern

In webdev it's linear.

Is it though? I feel like you could start in any variety of sub-disciplines of webdev and take the path from there. I don't know if any dev field is definitively linear.

Collapse
 
sergix profile image
Peyton McGinnis

How exactly? I'm not saying your wrong, I'm just curious as to how you arrived at your conjecture that learning web development is linear compared to other fields.

Collapse
 
wisniewski94 profile image
Wiktor Wiล›niewski

Because when you want to do something basic you just need to reach for basic information/knowledge/documentation which is always somewhere right there.

well obviously if you want to write a Hello World in C++ you also have to reach for basic info...

Yeah, right but the amount of work you have to do is a lot different. The thing is JavaScript is a scripting language. My first approach to programming ever was C++ and I failed. When I was 17 I wanted to write a game bot in AutoHotkey (I guess?) which is also scripting language. It was a game-changer, suddenly everything was easy to do. So yeah, I think if you never coded before then scripting language is a good starting point. When we add the number of resources available on the internet it turns out JS HTML and CSS are the best choices IMHO.

dude comparing C++ to JS as an argument to learning curve... Have you ever heard of python before? java maybe?

Sure, I work in Java on a daily basis and I can tell that it's way more complex than JS. I'm not an expert in a Python but the syntax looks webdev friendly.

The good thing about web development is that to make a simple functional interface all you need is actually few lines of code and a browser. And probably notepad. No compilers, no IDEs, nothing. Go on and try to make a GUI in Java or Python or whatever without setting up environment, downloading packages etc :P

Thread Thread
 
wisniewski94 profile image
Wiktor Wiล›niewski • Edited

Before I get hit by argument such as:

but you know world doesn't end on making GUI?

Sure, but I think this is what newbies want to do - make something more interactive than terminal if-else game :)

Thread Thread
 
sergix profile image
Peyton McGinnis • Edited

I mostly agreed with you up until your last point. Of course it's a bit more difficult to write a GUI in Java or Python, because JavaScript is designed for building user interfaces.

In the same way, I could say, "try building an efficient machine learning algorithm in JavaScript instead of Python", because Python is designed for data science.

Thread Thread
 
wisniewski94 profile image
Wiktor Wiล›niewski

You are right, I knew my example wasn't the best! We are talking about learning curve here and I believe that doing anything in a scripting language is easier than in high-level language if you are a beginner and you don't have special requirements.

Python is probably an exception - I don't know, I don't have much experience with python. I tried to learn it but I'm not into data science and all I wanted to do was possible with node.js :P.

Thread Thread
 
sergix profile image
Peyton McGinnis • Edited

Ok, I gotcha, and with that I'd mostly agree.

And same! I've never had to touch Python much, I pretty much use Vue + MongoDB for everything nowadays. ๐Ÿ˜‚

Collapse
 
sirseanofloxley profile image
Sean Allin Newell • Edited

We had a discussion at work recently where our org wanted to be able to respond to Alpine 0 days well; and I was like... Uhh no web dev or app dev in the company can quickly just bang out some C/C++ code for MUSLC and patch our Alpine base container, you be crazy friend.

So yeah, maybe we do need more fields represented!

Collapse
 
ben profile image
Ben Halpern

There are also fields within software that don't require low level languages. Ops/infra, test automation, DBA, etc.

It seems to me that a lot of folks just kind of stumble into these paths rather than being presented with them.

Collapse
 
sirseanofloxley profile image
Sean Allin Newell • Edited

We have some test automation people! They're selenium wizards.

Thread Thread
 
itsasine profile image
ItsASine (Kayla)

Now I want my LinkedIn headline to be Selenium Wizard

Thread Thread
 
elmuerte profile image
Michiel Hendriks

There is way more to test automation that just selenium (or other web-ui tests.)

Thread Thread
 
itsasine profile image
ItsASine (Kayla) • Edited

Yes, but most recruiters on LinkedIn do not know that

Thread Thread
 
pantsme profile image
Antonio Savage

If you're attempting to attract MORE LinkedIn recruiters, you're doing it wrong. So many InMails get wasted on me weekly.

Thread Thread
 
itsasine profile image
ItsASine (Kayla)

Not more, but ideally not ones for manual testing positions. Or Java/C# devs. Selenium Wizard is a clever enough phrase that succulently wraps up what kind of gig to contact about.

Collapse
 
adipolak profile image
Adi Polak

Hi, I'm answering this from my own perspective:

Web development is visual, hence for folks that want to learn to code, it is the fastest way to see progress. Within minutes, one can spin a website.

My first programming language was C. The first thing I learned was the console, and how to print an excellent menu with it. The visual part satisfied me much, and I know I'm progressing.

Later on, I learned about pointers and memory stack and more fun C things, by that time, I was already in love with code and was happy to learn new stuff - as well as debug for days to fix bugs. I passed the getting hooked phase. I coded fun games with complex logic and poor UI - the consol/terminal was my UI, and I was proud of my accomplishments.

Was that sufficient for me to get a job? No, it was only part of my Computer Science Education.

Later on, I continued to Distributed Systems, mainly because I enjoy a good challenge.

Is it rewarding like building a beautifully animated game?
Yes and No, I rarely able to share happiness with most people that surround me daily. ( only at meetups and conferences with like-minded ) but, the compensation is good.

However, my personal mission is to help people get into distributed systems and Big Data development. So a week ago, I asked this on twitter:

Got some input out of it, but it didn't vary much and wasn't rich to draw insights and how I can help.

I hope more people will get into Distributed Systems and Distributed Data.
It is rewarding and holds unique challenges.

Collapse
 
lbeul profile image
Louis

I spent the last two years pivoting from a career in banking to software engineering. While I'm still in school, I'm learning coding & developing applications and programs in my free time.

I think the first touchpoint I've ever had with programming, was creating spreadsheets I'm Excel. Most of my colleagues were 50+ years old and my job was to make a spreadsheet staff planner that was easy to understand and maintain - so, I completely overengineered it with conditional formatting, automated sorting and stuff like that - but it was super fun to build and present. I would even go as far as saying this created my inner motivation to dive deeper into programming.

A year later, after quitting my old job, I started Codecadamy's Python Introduction and found it nothing but boring. All I really did was printing some text so a console or calculating the taxes of some imaginery receipts or stuff like that. I neither felt productive nor excited.

Some months passed and I ditched the whole software thing. Then I stumbled upon HTML and CSS. And boy, that was easy as hell! I mean, I knew it wasn't real programming but was able to build a decent website after one afternoon of doc-skimming and tutorials. After building my first website I knew that this was the kind of thing I enjoy doing! So, I kept on adding stuff to my website. I discovered Bootstrap and my sites went as pretty as those of the big companies! I discovered JS and started to add features that required real programming! I discovered APIs to rebuilt technologies that before seemed like a black box to me. With ReactJS, I was able to create components or, like I explain it to others, create my own, improved HTML tags!
And even today, I'm mindblown with everything I learn. Today I started to play around with Backend WebDev, built my first server with node & express and I really like to learn more about it and going full-stack.

Long story short: Web was and still is the most rewarding journey for learning programmers. Every step gives you visual feedback and that motivates you to keep on learning.

Oh, and it doesn't mean that I won't learn any other thing afterwards - I'm even certain I will give Python a second chance as I'm interested in Web Scraping and building my own ghetto APIs.

In a couple of months I finally start my computer science degree. So I can learn the deeper roots of the stuff I'm working on in my free time and how to make it more productive - maybe I'll end up doing something completely different than web, but still I think it's the best way to start.

Collapse
 
mikedubcurry profile image
Michael Curry

For me, it was more a path of least resistance. I initially wanted to do audio programming and DSP and eventually build a digital synthesizer. Learned python by accident thinking that was the way to go. After realizing I wouldnโ€™t be able to build a plug-in for fl studio with python , I decided to start looking at other ways I could use my new skills so web development looked feasible. I ended up spending more time tinkering with JavaScript and ditched python altogether. After a few years in the game Iโ€™m starting to explore where else I can put JS to work outside the context of the browser and a server, but at the same time wish I spent more time with C++. Now that I have a full time gig, my time is more valuable in terms of what I do outside of work. I can work with the tech I already know and love to better my future career opportunities but also want to seriously start doing some audio programming. Thereโ€™s so much to do in the world of programming but so little time. Might just double down and dive deeper into the web. Who knows

Collapse
 
scrabill profile image
Shannon Crabill

I agree that there should be better diversity. At the same time, web development is a good foundation to pivot to any other field in dev/IT, etc.

There needs to be a good foundation, before you get into the specifics of related disciplines.

Collapse
 
jenc profile image
Jen Chan

I think now there's a huge surge in data science and ML bootcamps though ๐Ÿคท๐Ÿปโ€โ™€๏ธ
At the beginning I knew as an artist i just wanted to make not-breaking web things that would eventually help others, and hopefully in a facile way!

A thing I like to tell others is: figure out what you want to achieve whether it's hardware hacking, physical electronics, animation, mobile apps, robotics , websites, or games, and then work on learning the toolset for that... it would be otherwise too vast to expect to be a polyglot in <18 weeks

Collapse
 
carolstran profile image
Carolyn Stransky

I've also wondered about this! I went to a full-stack development bootcamp and they wanted you to become exactly that... a full-stack developer. In our career classes, they talked about things like frontend vs backend development - but didn't even mention all of the other tech jobs that you can thrive in with a coding education. Things like technical writing, product management, QA engineering, devops, etc.

Collapse
 
awwsmm profile image
Andrew (he/him)

Speaking as someone who's not a web dev, I feel like nearly all introductory material is geared towards web development. I sometimes feel like I'm shouting into the void writing posts in Java and Scala.

Collapse
 
cono52 profile image
Conor O'Flanagan

I feel the same, kinda demotivates from trying to spend to much effort on anything that isn't web related, which is a shame.

Collapse
 
barelyhuman profile image
Reaper

I personally like the idea of going through the web technologies first and then get into proper programming. It's just been my observation that once people get comfortable with the language they've learnt , they stick to it without giving other languages a chance.

I get it, we are talking about all the things people can take up instead of just Web Dev.

So for people reading it, You've got
Embedded Systems Programming, OS Programming, Web Dev, Mobile Dev, Desktop Programming, the list is huge but a lot of these are kinda tricky if you jump into them directly without actually having a base of how programming is to be used in each case.

For CS students it should be comparatively easier since you have the history of each in our curriculum . For others I think it'll be a little more research to deal with.

I do agree with Ben that people should try for the others but I still think that going through the web path makes it a little more easier.

This is the path I would want someone to follow to actually get them to be open to all the possible fields that exist

HTML - gets you used to nesting and hierarchy.

CSS - you start to understand block scopes

JS - Easy to learn(hard to master) and you can get started with the environment really well.

Python - JS has got you hooked to the syntax, now all you need to understand is the program flow and maybe a change of keywords

Ruby - Another language you can pick up after JS

Go/Rust - at this point you understand programming enough to deal with systems level programming, you can literally learn go by trying to do web development and then use the gained knowledge for some other field

Now if we go back the chain, I've got
Web dev down (JS/RUBY/PYTHON, HTML, JS, CSS)
Systems Programming (GO/RUST)
AI/ML (Python / Go / Rust)
Embedded (Go / Rust)

at the end of the day , I think it really is the attitude of the person to grow into different fields, a lot of people stick to the field since it something that's easy and is gives them enough financial support to survive. On the other hand, people who actually grow fond of coding end up following the above path anyways, the order might be different or, they might jump a few of the above based on likes and dislike.

Collapse
 
leob profile image
leob • Edited

Web dev dominates the market, I think that's the main reason. People go after the money, so it makes a lot of sense, economically at least.

Apart from that, assuming that by "web dev" you mean both front end and backend, web dev is of course an incredibly broad subject. Frontend frameworks, Javascript, React/Vue etcetera, CSS, databases, backends, it encompasses a huge range of subjects.

I've done a lot of things in the past - "enterprise development" (Java, Spring), mobile development, old fashioned desktop development, but since I've quit my "boss job" in the office and become a remote freelance developer I'm gradually dumping everything except web dev. Mobile dev is out the window, Java is almost gone ... focusing on web dev just makes a lot of sense.

P.S. two other "big" topic areas are (web) design and data science. Web design is obviously of vital importance already, and I wouldn't be surprised if data science becomes the next big thing, giving web dev a run for its money.

But, both these areas aren't pure "development", they're tangentially "related to" development.

Collapse
 
mustafaanaskh99 profile image
Mustafa Anas

I kinda think web development is more accessible and easier.
Within few months, you can be a productive developer in web. However, I cannot argue that this cannot happen in other fields because I have no idea really. Also, if you tell someone who has nothing to do with computers: "do you want to learn how to make a website?" it sounds doable. But if you say: "do you want to learn how to setup the entire communication system for any company?" or "do you wanna learn how to make computers as smart as humans?" they still sound geeky. Am I making sense? :/