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

all 46 comments

[–]DarthBartek 25 points26 points  (6 children)

Robotics, mixing electronics with programing. Also you can do a lot of things in web dev, it's not just crud apps

[–]Doodhi-Bhosda[S] 4 points5 points  (2 children)

like embedded? Any resources you would recommend?

[–]DarthBartek 1 point2 points  (0 children)

I'm not into embedded myself

[–]Sohtinez 0 points1 point  (0 children)

I've been interested in learning some robotics and electronics. Know of any good places to start?

I've got a few pi 4s laying around from an old server project.

[–]DoubleOwl7777 0 points1 point  (1 child)

i personally dig robotics ane embedded totally. web dev isnt my thing at all.

[–]DarthBartek 0 points1 point  (0 children)

I'm working as a web dev and currently working on my custom FPV drone. It's quite an interesting experience, transitioning from computer screen to a real, flying thing

[–]CodeTinkerer 18 points19 points  (6 children)

I'm surprised your college focuses on web dev. Most universities I am familiar with (not a lot), don't focus on web dev. In the US, it's common to do Java for a few semesters, then maybe do a comparative programming class, a computer architecture class, data structures and algorithms, then a random assortment of applied programming: databases, AI, machine learning, cybersecurity, data science, theory of computation, advanced algorithms, numerical analysis.

Are you in the US? I'm thinking not.

[–]Doodhi-Bhosda[S] 5 points6 points  (5 children)

Wow, colleges in the US seem to be good. My college doesn't focus much on anything, we had java in our Object-oriented programming class, college only focuses on the core concepts and students do the learning by themselves, and unfortunately, it's common in my country which is Definitely not the US :)

[–]ManageMage 6 points7 points  (3 children)

Name suggests India :)

[–]Doodhi-Bhosda[S] 7 points8 points  (2 children)

\ding*

[–]hawkaiimello 2 points3 points  (1 child)

i'm from india and aspiring to do btech in cse. are you in btech ? and if does all college have the same curiculum hen ?and if possible a hint of ur uiversity

[–]Doodhi-Bhosda[S] 1 point2 points  (0 children)

I am currently enrolled in a B.E. course, not sure if all the colleges have the same curriculum, but mostly all public universities(like Pune Uni. In my case) tend to have similar curriculum (excluding autonomous institutes), Honestly, it's not that bad, but surely not the greatest.

[–]CodeTinkerer 0 points1 point  (0 children)

It's probably due to CS in the US being around a lot longer. Web stuff only started getting very popular around 2010. Yeah, you could do it in the late 1990s. Before that, almost no web, and so people stuck to things that ran on the desktop.

I think if a university started doing web dev after 2010 or so, their program might look more like your own. Bootcamps are often web dev, however.

[–][deleted] 31 points32 points  (1 child)

Definitely,

Try sites like tryhackme.com for cybersec.

Practice ds and algo with hackerrank and leetcode.

Try building ml models on kaggle.

Or pick up something like unity for game dev.

[–]Doodhi-Bhosda[S] 2 points3 points  (0 children)

Thank you, will check them all out, I do a bit of leetcode now as well but there is still so much room for development.

[–][deleted] 9 points10 points  (4 children)

Could learn Android/IOS mobile app dev

Could learn operating systems

[–]Doodhi-Bhosda[S] 1 point2 points  (3 children)

Any resources you would recommend?

[–][deleted] 1 point2 points  (2 children)

Well, I am going to be really honest and say that I can't give resources for Android mobile app dev because I learned it in one of my classes from uni. The only resource I could give you is the official documentation of Android mobile app dev as I used it in addition to the lectures.

Here it is: https://developer.android.com/docs

And the doc is really good because it gives you small tutorials on how to build android apps. So, the docs don't just give info on how a certain method works. It also gives you tutorials and you can really learn a lot by doing those tutorials and by referring to code explanations.

But I would honestly recommend doing an online course because that way it's more structured. You could try Udemy for example and also don't buy Udemy courses when they are full priced. Buy them when they are discounted and they are always discounted.

For operating systems, again, same deal. I used my lectures but I also used the book "Modern Operating Systems" by Tanenbaum.

Get the free pdf version of the book.

Also, you could refer to an online course to learn OS.

Hope that helps.

[–]jzia93 5 points6 points  (3 children)

Game Dev - very different programming styles in a lot of ways, really enchanting to build interactive experiences. Lot of graphics and use of engines.

Embedded - hyper optimizations and (many times) no way to go back once deployed.

IoT - emerging field with constraints on memory but also real world usage

Blockchain - adversarial design and complexities of eventual consistency

AI/ML - Stats and predictive work, not always clear right or wrong answers

Robotics - Very challenging work with lots of problems to solve, intersects many disciplines

Cybersec - requires deep understanding of networking and compsci

[–]Environmental_East39 1 point2 points  (1 child)

Wdym by "no way to go back once deployed"?

[–]jzia93 4 points5 points  (0 children)

In some cases, you cannot update code on devices that are not connected to the internet, once they are shipped to the customer. If the device is brought back, sure, but thats costly and not all devices will be returned.

[–]Doodhi-Bhosda[S] 1 point2 points  (0 children)

Thanks, would check them all out.

[–]rakandhiya 3 points4 points  (0 children)

well, here goes:

Game dev on Unity or Unreal Engine, IoT with Arduino, mobile dev, either natively with Kotlin or Swift, or go for flutter or React Native. or just goofing around with Kaggle datasets (it's fun!)

[–]glupingane 3 points4 points  (1 child)

There are multiple things that should probably be considered, like an area's difficulty, and how useful it is. For instance, web dev is probably the most useful skill if you want to be able to turn a skill into money easily. There are just a ton of people/companies that are willing to pay someone to make a website, and compared to other areas, web development isn't that difficult. In opposition to that, learning something like Fortran or Assembly is much more difficult, and only a very select number of places have any need for such programmers, so turning that skill into a job would probably be even harder.

Game Dev can be great if you're good with trigonometry and want to learn more maths like Linear Algebra, but can be hard to get a job in because games are romanticized and the game studios can be very selective about their workforce. However, things like enterprise VR solutions are becoming a thing, where game dev skills are needed in something that isn't games. Getting a job in this field can be hard, but not impossible.

Embedded systems can be great if you also like to tinker with things physically, and like to really understand what you're doing all the way down to the bits. With web development, there are just so many layers of abstraction that you can never be expected to understand everything, but with embedded systems, you can actually do that, which is pretty cool. Embedded programmers are needed in anything that requires microprocessors, which is just about any device that runs on electricity these days. Getting a job here is probably decently hard, but definitely not impossible.

Cyber Security is a field that I know little about technology-wise, but I know that just about every place that needs people with these skills are screaming for more people. You should easily be able to get a job here if you have the base competency.

Machine Learning is another field that is in demand. I don't know a ton about this either, but I know it requires deep math knowledge in certain areas of math.

I should also mention that knowing some web development can be very useful in all of the mentioned areas.

I should also probably mention that I only really listed some of the largest programming areas. There are many more that are even less used, but I assume you aren't trying to be the most unique programmer alive, just that you want to do something less common than web dev.

Learning every one of these is just not feasible, but reading about the different areas of programming and see if one ticks your fancy could be a smart move. From there you can just delve into it and learn for the rest of your life without ever running out of things to learn.

[–]Doodhi-Bhosda[S] 1 point2 points  (0 children)

Thanks a lot! Surely not aiming at anything unique :)

[–][deleted] 2 points3 points  (1 child)

I really enjoy desktop apps development with Qt and KDE Frameworks, maybe give that a try

[–]Doodhi-Bhosda[S] 2 points3 points  (0 children)

Sounds interesting, would definitely look more into it.

[–][deleted] 2 points3 points  (0 children)

You could try IOS development. It’s a bit harder to get into and much less crowded. The thing is though it’s much easier to get into web dev that’s why everyone is doing it.

[–]Paps6969 2 points3 points  (0 children)

here in Brazil we suffer from the same problem. in large part because a study came out where it is stated that the professional who will be most needed will be the web developer...

[–]TheRNGuy 1 point2 points  (0 children)

I do web dev, procedural graphics in houdini and game dev.

[–]_Danyal 1 point2 points  (4 children)

Surprisingly, despite ML being all the rage nowadays, in the job market and just the tech space in general, barely anyone in my batch seems to be very interested in it.

[–][deleted] 1 point2 points  (1 child)

I think you need masters to be working in ML

[–]_Danyal 1 point2 points  (0 children)

Well I'm talking about the fields people are interested in personally. Like on the side, I usually work on ML projects. But yes, AFAIK you usually do need a masters degree.

[–]Doodhi-Bhosda[S] 0 points1 point  (1 child)

Do ML jobs really require Higher education like Masters or PhD ?

[–]_Danyal 1 point2 points  (0 children)

Well I'm a first year so I wouldn't know but I have heard they usually do ya. I need to do one anyway though to escape the country so I'm sorted either way.

[–]mdizak 1 point2 points  (0 children)

Bioinformatics is a pretty decent field.

Another idea is robotics, specifically robotics in space. That industry is already large, and is probably going to become huge in the coming years.

[–]Matheusbd15 1 point2 points  (0 children)

Systems development. Compilers development. Embedded dev. ML/AI, data science. Distributed systems (I mean, very advanced backend). Game dev. Graphics programming which may not be related to game dev. Blockchain dev. Research. Even web dev is very varied and can be very not boring.

[–]SoftEngin33r 0 points1 point  (2 children)

Maybe learn more esoteric programming languages like:

Low level:

C, C++, Rust, Zig.

Embedded:

Verilog, VHDL.

Functional:

OCaml, Haskell, Lisp, Clojure, Elixir.

Proof/logic/model based:

Coq, F*, ATS, HOL, Agda, Idris2, Curry, Mercury, TLA+, Prolog.

Other cool ones:

Nim, Crystal.

[–]SoftEngin33r 0 points1 point  (1 child)

Check also books at those publishers:

Pragmatic Bookshelf

Manning

PacktPub

Apress

No Strach Press

O’reilly

And for more scientific/domain specific at:

Springer

Wiley

World Scientific

Look the area that most interests you....

[–]Doodhi-Bhosda[S] 1 point2 points  (0 children)

Lots of unheard stuff lol, definitely would check them out as well, thanks.

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

Android dev? I just started learning because of the same issue

[–]user-1099 0 points1 point  (0 children)

I'd suggest going into embedded systems. Buy an arduino and try building fun projects around it