
Ask HN: Moving on from web development - ayushgp
I&#x27;m a computer science student who has been working mostly on JavaScript(node and front end). I want to change paths as I feel too confined in the web dev space. I want to switch to something entirely unrelated to creating CRUD apps(including mobile apps).<p>I have tried to read the code of and contribute to Open Source projects like LLVM and MongoDB but its very tedious to get into. For almost the whole past year I haven&#x27;t learnt anything new or atleast worthwhile. I tried getting into Machine learning but the Math was overwhelming.<p>What should I learn so that I can become competent for jobs other than web development?<p>EDIT:
GitHub: https:&#x2F;&#x2F;github.com&#x2F;ayushgp
======
bigpeopleareold
I am a technical lead for a frontend dev team.

Looking for a senior developer to work with, I would prefer someone with a
breadth of knowledge over someone who just focuses exclusively on one thing.
For example, it is no fun to explain basic Unix concepts to someone who you
expect would have that knowledge. Of course, I would want good knowledge of
web development, UI design etc., but things don't stop there.

Some things that look good to me:

1\. Some knowledge of compilers, parser generators 2\. Relatively decent
Unix/Linux knowledge 3\. Big Software engineering ideas and how to apply them
4\. Big ideas in different programming paradigms and how to apply them 5\.
Low-level stuff: write some C code, tinker with assembly, learn about computer
organization (you might be doing that already) 6\. spin up a server and
maintain it ... like an actual, bare metal server. deal with its problems. 7\.
Research and understand the pieces around enterprise systems ... a fun
challenge is a trading system.

Even if you end up focusing on web development, coming in and saying something
interesting about your breadth of knowledge and to utilize the ideas is always
a good thing.

------
the_cap_theorem
Learn C++ and low level programming, it's a good path! Fairly easy to get into
when you already know JS and you can gradually begin to work on more complex
systems.

If you want help getting started with some open-source C++ projects, maybe
include a link to your github or something in your profile so maybe someone
will reach out.

------
dyeje
You're a student still, there's nothing to move on from. Apply for jobs and
internships you're interested in. As far as any employer is concerned, you're
a blank canvas.

~~~
ayushgp
I've been creating web based apps for a long time now(that too nothing
meaningful). Honestly, I'm tired of reading the same articles that promote a
JS frameworks, list a thousand reasons for how React is better than Angular,
why I should be learning webpack, how my life is ruined if I don't know ES6,
etc. Also there is no standard way of doing things. IMO, the web dev scene is
pretty messed up right now.

As far as any employer is concerned, I should have at least something
unrelated to web development to show for if I don't want to be hired as a web
developer.

PS: I already have an internship in hand for the summer.

~~~
dyeje
If you are tired of it, then don't do it. It's as simple as that.

I work in Web Dev now. Know how much I knew when I got my first job? Nothing.
I have a friend who works in Aerospace. Know how much they knew? Nothing. I
have another friend who started at an interior design firm that builds custom
CAD software. Know how much they knew? Nothing.

Just follow your interests and don't stress about it. No reasonable employer
is going to expect you to be a wiz in their specific field as a junior
developer.

~~~
zerr
Well, the hard part is to switch niches after you're experienced (and bored)
in one niche... i.e. you work in web dev now, but will you be able to get a
job in Aerospace or custom CAD software building?

~~~
dyeje
Exactly, but the OP doesn't have this problem because they are just starting
out.

~~~
ayushgp
OP here.

I think if a company is coming to my college for offering jobs, it's highly
likely that I'll only be offered web development positions. Unless I do
something else to prove that I can do well in other fields as well.

------
dickbasedregex
I've been building things for the web since 1995. I feel you-I started rolling
my eyes about 5-6 years ago with all the JS fatique (I love js but the
community has become tiresome when you've been in it long enough) I left
frontend (as much as I could) and moved into the back. At first still
basically building crud apps. I've moved into and out of GIS a couple times
and found it an actually interesting problem area. You might consider taking
your dev skill set into GIS. My only warning is that GIS is an enterprise
ecosystem so it definitely feels like sand in my crotch given my personal
preference for simple/oss.

~~~
dickbasedregex
That said, like the other comments suggest, you're crazy early in your path.
Adjust expectations and reality accordingly.

------
siscia
Pick any technology or tool you know and dig deeper.

You know node, great! Now how the V8 engine works, why it works like that?
What tradeoff the designer did? Why?

You have used databases, great! How a database works? Why?

You know what is a web browser, great! ...

You know what is a compiler...

You can always go deeper and learn more.

Clearly being able to modify the V8 engine is way more valuable than being
able to use V8 with node... Or at least if you can modify the engine it is a
safe assumption that you can also use it...

------
stevenwu
The answer to your question all depends on exactly _what kind of jobs_ you are
even remotely interested in?

In general it's best to compound your current skills and not go in a
completely perpendicular direction to where you are going now.

Given that: \- you are good in JavaScript \- you haven't provided much filter
of criteria \- you mentioned a curiosity in machine learning \- you care about
job prospects and want a skill that will stay relevant

Have you considered data visualization? If you become a master at that, you
can break into the higher level parts of machine learning/data science that
require visualizing results to end-users/interested stakeholders. I'm good
enough with D3.js to understand examples and create my own modified graphs,
but I wish I had the skills to recreate all of the cool visuals you can see in
their gallery.

~~~
ayushgp
I think now is the time I can afford to go in a completely unrelated
direction.

Also last summer I interned as a front end developer at an analytics startup.
My work there was to build prototypes of visualizations that were to be
included in the product in the future. So yeah I have played around with
visualizations as well. It's a pretty good field to get into as well.

------
RandomOpinion
> _What should I learn so that I can become competent for jobs other than web
> development?_

Your question is meaningless without specifying what sort of job you'd prefer
or what your interests are. There is no single set of things (other than
"everything") you could study that would qualify you for all non-webdev jobs.

------
nicomfe
Before you move on, fix your website :)

GET [http://ayushgp.me/](http://ayushgp.me/) net::ERR_CONNECTION_TIMED_OUT

~~~
ayushgp
Didn't pay for hosting. It was not good anyways. Neither am I planning on
building it again in near future.

------
WestCoastJustin
Try building a few example CRUD apps and you'll be forced to learn everything
you need to know along the way.

~~~
ayushgp
I have been doing just that for past 2 years as a student. Almost all projects
I've created have been CRUD apps with little to no other logic than that.

~~~
WestCoastJustin
Ah, sorry. I misread your question and thought you wanted to switch from
JS/node -> CRUD.

------
jorgec
How programming works: -i want to do X because i have Y needing. How
programming doesn't work: -i want to program X because its popular.

btw, machine learning is not about math.

~~~
pizza
Machine learning is about math.

------
castle-bravo
With heavy mathematical topics (ML, category theory, quadratic programming,
graph grammars), I find that it takes me multiple attempts spaced over months
before I can say that I understand the basic math. Math is a really broad,
really deep, and really challenging subject, but extremely rewarding to
pursue.

Echoing the commenter who suggested you learn C++, look at Haskell too. Of all
the languages that I've worked in so far, Haskell is my absolute favourite.
This free course got me over the initial hump in the learning curve:
<[http://www.seas.upenn.edu/~cis194/fall16/>](http://www.seas.upenn.edu/~cis194/fall16/>)

