Hacker News new | ask | show | jobs
by phantom_oracle 4203 days ago
Just to counter everyone who says "learn another language like Haskell", I completely disagree.

You're at the point where you know some language and OOP at a decent level. You now need to invest time learning things like data structures and algorithms that are APPLICABLE to your work.

Keep adding incremental knowledge, but make sure it is having a direct benefit to your work at all times.

The "learning paradox" of having to master languages repeatedly is a waste of time at a junior level. You'll continuously invest in a new language without ever finding it applicable (eg. "learn java, learn JS, learn CSS/HTML, learn python, learn ruby, learn haskell, learn rust, then learn x-framework for each language, learn y-framework cause someone on the internet said x-framework is too bloated, learn this, learn that ...").

As your questions on line 3 asks, I say invest in the higher-level concepts that work across languages. Focus on a domain (some language, 1 or 2 frameworks, a DB) and stick with it.

And, as others have said, find a mentor. If you want to keep freelancing, you'll find a mentor at a meetup. You will definitely gain a lot from experience over a book/tutorial in certain situations.