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?
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?
For further actions, you may consider blocking this person and/or reporting abuse
Jean Vidal -
Shane Wen -
Shinetech Software -
Ravin Rau -
Top comments (82)
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 :)
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
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!
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.
I happen to like your unpopular opinion 😁
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!
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. 🤷♂️
In your opinion, what software field most needs new methods of teaching?
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:
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.
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?
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.
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.
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.
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 :(
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!
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.
We have some test automation people! They're selenium wizards.
Now I want my LinkedIn headline to be Selenium Wizard
There is way more to test automation that just selenium (or other web-ui tests.)
Yes, but most recruiters on LinkedIn do not know that
If you're attempting to attract MORE LinkedIn recruiters, you're doing it wrong. So many InMails get wasted on me weekly.
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.The problem is the learning curve. In webdev it's linear.
I think it's rather mountainous. Something like this:
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.
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.
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.
Because when you want to do something basic you just need to reach for basic information/knowledge/documentation which is always somewhere right there.
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.
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
Before I get hit by argument such as:
Sure, but I think this is what newbies want to do - make something more interactive than terminal if-else game :)
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.
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.
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. 😂
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.
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.
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.
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
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.