Web Development vs Software Development

Hi all, trying to change my career path; im self taught and I love development. my question is should i go for Web (Javascript, html, css) or software (c++, python, react.js); what would you recommend and pros and cons ..

16 comments · 81% upvoted · other discussions

comments

dmazzoni

I think your categorization is a little funny.

First of all, it's all software. Websites are software, apps are software, server code is software. Any code that runs is software.

Second, React.js is very much a web frontend framework. It's something you'd probably want to learn if you're going down the web route.

Also, there are so many possible directions to go! Here are just a few:

  • Mobile apps: either an Android specialist, an iOS specialist, or a cross-platform mobile app specialist. Tablet apps are yet another subspecialty.
  • Desktop software - stuff that runs on Windows / Mac
  • Back-end - the stuff behind the scenes of large websites; working with databases and such
  • Embedded - the code that runs inside the tiny computers in small devices like dishwashers, drones, children's toys, electric toothbrushes, you name it.
  • Robotics - writing code to make arms and legs move and respond to the environment
  • Security - finding vulnerabilities in software, and designing better software that's resistant to hacking
  • Enterprise - the software that's used inside of large businesses, the stuff that ordinary end-users never see directly
  • Finance - software that places stock trades or moves money between bank accounts
  • Science - software that simulates physical phenomena or analyzes data from sensors, etc.
AnUglyDumpling

And data science!

dmazzoni

Very true.

I kind of deliberately tried to avoid things that I think are a bit overhyped right now in terms of actual numbers of job openings vs interest.

Notice I didn't include blockchain in that list.

Leeoku

Look at what's in demand in you area. Then balance with what you enjoy. You can definitely do full stack js and be marketable

JBarCode

I feel like web dev is easier to break into and you will have no problem making a portfolio of projects before people are willing to pay you. Are you a member of a group that needs help maintaining a website? It's that easy to start a meaningful portfolio. As you get better, you can continue onto Angular, Vue, or other frameworks.

With C++ and Python they don't really do anything by themselves. With python are you trying to build tests (hard), backend servers (this is the one for people to break into the market), data science, machine learning. You'll have a another choice and it can be hard to break into those markets.

Similarly, C++ requires a lot of experience and skill in other areas (finance, engineering, etc.) to do something useful with it. It's hard to imagine learning it from scratch and doing something productive with it any time soon. I learned a lot from C++, but never program with it. If any of this sounds like you, then go for it!

Personally, I really like Flutter/Dart + Firebase for making IOS/Android apps and they are improving web app / desktop apps all the time. If I was starting from scratch, I'd probably choose that because it's just one language. Not easy, but should be marketable for a long time to come.

All this said, I'm in the C++, Python camp because my background in engineering. I build the backend stuff and outsource the frontend code. I'd love to hear from more self-taught devs that can confirm that web dev is easier to break into w/o formal education.

deuce-95

I'd love to hear from more self-taught devs that can confirm that web dev is easier to break into w/o formal education.

Just look at all those coding bootcamps.

gfstool

If you want a sustainable, growing field to go into....the future is all about data and automation. Give Data Analytics/Science/Engineering a look. I changed careers a few years ago and went into Data Analytics, learning SQL, SSIS(ETL) & SSRS(building reports). Power BI has basically replaced SSRS these days and SSRS will probably be extinct in a few years. I mostly do ETL work but I’m in a Data Science program and I’m about to finish 1st part, Python basics, including web scraping, APIs, etc. The 2nd part will be implementing algorithms & then there’s a 3rd part. I’ll be done and in the market by January. Other data tools you could add to your Arsenal to make yourself more marketable would be Qlikview & Tableau. Anything you choose will be good but if you want to ride the wave of data dependence, it’s only the beginning and will grow exponentially over the next 10yrs and there isn’t enough workers to fill positions right now. The bulk of learning is on the job anyways.

illuminatedtiger

The distinctions you've drawn seem a bit off.

Why is React not in the web development bucket? You do realise that it's a library right?

elconcarne

What are you interested in working on? Video games, internet of things, web sites, mobile apps, machine automation?

CodeTinkerer

It's all software. Web development is a subfield of software development with its own technologies that need to be mastered. It's a bit like saying should I do sports or should I learn golf. Golf is a sport with its own set of skills while sports is a pretty generic umbrella.

Yes, most general software development ignores web related stuff (though it doesn't have to).

IntermediateSwimmer

In case you are not aware, react.js is essentially just a javascript library/framework, so classifying react in software but javascript in Web looks silly

v3ritas1989

If you want to stay sane, don´t do web! Or if, only at a company with actual people who know their stuff from whom you can quickly learn the ropes, setups, envs and tricks on a high niveau.

magentaitsnotme

why web development is bad?? explain it please

[deleted]

Your categories are a bit of Like react.js is more web dev But no worries we were all beginners at one point.

I suggest you try out both and just see what fits you. I have interests in so much fields but once i had done a deep dive in most of them i realised a backend web development place was the place for me So i suggest you just learn and see what you like and dont like.

But dont worry if you suddenly realise ag dang im actually starting to prefer something else no worries you can just make the switch

Thats the beauty of programming. As said im a backend programmer but am starting to lean a bit toward mobile development so who knows i might make the switch in a while

So have fun and learn Good luck

kyle_sallee

POSIX system administration is the most challenging and has the most varied tasks. Web development is straight forward. It is more like painting a picture. The data with style is presented. Software development is a daily grind. A software developer will dream code.

A senior software engineer will end up doing any or all of that.

Web pages often have CGI, computer gateway interface, forms interaction, etc... To be able to do web CGI programming skills are required.

System administrators do not always get decent pay.

I learned programming, system administration, websites in that order. System administration could be skipped. But websites afore programming if learned then some insurmountable challenges will become.

And becoming a DBA specialist, database administrator also is possible. They learn SQL, structure query language. It pays good, but they don't do much. The DBA at our office napped all day long. Must be some person's dream job. Looked boring to me. DBA is not in my skill set.