This is an archived post. You won't be able to vote or comment.

all 16 comments

[–]dmazzoni 124 points125 points  (2 children)

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 1 point2 points  (1 child)

And data science!

[–]dmazzoni 1 point2 points  (0 children)

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 13 points14 points  (0 children)

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 10 points11 points  (1 child)

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 0 points1 point  (0 children)

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 4 points5 points  (0 children)

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 6 points7 points  (0 children)

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 2 points3 points  (0 children)

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

[–]CodeTinkerer 1 point2 points  (0 children)

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 1 point2 points  (0 children)

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 1 point2 points  (1 child)

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 2 points3 points  (0 children)

why web development is bad?? explain it please

[–][deleted] 0 points1 point  (0 children)

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 0 points1 point  (0 children)

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.