Hacker News new | ask | show | jobs
by SignMeTheHELLUp 3817 days ago
Wow, there is a lot of awful advice in this thread.

HTML, Javascript and CSS are still extremely important and they have come a long way since 1990. Forget everything you knew about them and research their state in 2016. You have a lot to learn, but you'll find all three more powerful and expressive today than they were in 1990.

There is currently a big shift in the way clients want their websites to work. In the past (and present) clients were happy with simple HTML pages that were generated on the server and sent down to the client for every action the user performs. Now and in the future, we're shifting towards "Single page apps" which are Javascript centric applications that store page templates client-side and talk to the back end through APIs. Page transitions are emulated with Javascript routing libraries. This means the frontends are more complex but can provide a richer, more interactive experience. To see the cutting edge of this technique search for React + Redux.

Backend development is still important. People generally converge under a simple set of rules for backend development called Model-View-Controller. This is a design pattern that dictates how requests are delegated into your business layer. Investigate MVC as well as Domain Driven Design to get yourself up to speed.

Understand that there is an enormous amount of garbage out there right now. Some things to be extremely wary of are NoSQL databases (they have very limited use cases but are marketed as a silver bullet) and NodeJs (a backend server which executes Javascript but has more than a few shortcomings). Be extremely skeptical of any advice you receive over the internet. There are too many people dispensing advice with no actual credibility because of the ease of access to the Internet.

The best thing to do is to work with some talented developers and build your own network from them. A lot of developers on the leading edge use Twitter and often drop useful bits of advice to keep you on the right track.

5 comments

> There is an enormous amount of garbage out there right now. Some things to be extremely wary of are NoSQL databases and NodeJs.

> Wow, there is a lot of awful advice in this thread.

Sure, but then again:

> Be extremely skeptical of any advice you receive over the internet.

:-D

"The problem with quotes found on the internet is that they are often not true." - Abraham Lincoln
I think this is probably the best suggestion in here.

And I'd just add that there's no need to jump into a new backend language if you used PHP years ago. Sure it's not as robust or structured but for a hobbyist it can do everything you need and there's still plenty of jobs for it if you want to graduate to an MVC framework.

> NoSQL databases (they have very limited use cases but are marketed as a silver bullet)

NoSQL is very, very, very bad when your data is conceptually relational.

On the other hand, when you really have individual documents which can have different layout and don't have much interactions between them, NoSQL can be pretty awesome.

So, just understand what kind of system are you working with before choosing one approach over another.

> in the future, we're shifting towards ... Javascript centric applications

Are we? I expect 2016-2017 to be a turning point in the history of client-side web-development due to WebAssembly. Is it just my wet fantasy?

I hope so but it's going to be a while before we have a decent, feature-rich language (with accompanying frameworks) that compiles down to WASM and wide-enough browser coverage to make it a practical development target.
But users hate them. Users want their browser's back button to work in a sensible way.
So true. But people who pay web designers like them.