Hacker News new | ask | show | jobs
by hessproject 2716 days ago
The thing about web development is that the definition of "web developer" can vary wildly. Web development is a big field and can include a wide range of skills. Making a static html info page is web development. Building a SPA with a database and auth and user uploads and deploying it on aws/azure and scaling for a million users, also web development.

If you are thinking along the lines of the first example, eg. the "I know html and css, I can build a website with pictures and operating hours for a mom and pop shop" developer, this market is shrinking with platforms like wix and squarespace where regular people can build these sites and maintain them easily and for cheap. Not to say you can't still make a living doing this, but it is something to be aware of if it is the route that you choose to take.

If you are thinking more about the second example, yes, there is a high demand (and rapidly growing market) for this kind of developer at startups and fortune 500s and everything in between.

Overall, the answer is yes, web development is still a growing field and it is absolutely a viable career choice, but it is important to keep learning and be aware of the market and adjust accordingly

2 comments

Right, web apps aren't websites. The distinction is pretty sharp when you move from a simple static old fashioned display to Amazon tier complexity where money is being transacted, log in information stored, orders updated, and a million more things besides.

The big question is if the internet and its primary portals, the desktop browser and the smartphone, will reach the end of their tether. The only thing I could see replacing it is neurotechnology of some sort, and that seems so far off and so difficult to commercialize that it's not something web developers need to worry about any time soon. Or perhaps quantum computing becomes commercially viable and simply shoves digital computing aside, negating the need for those skills completely.

Another alternative is that the web radically changes unforeseeably and new practices instantly antiquate everything people are learning now, which is a more frustrating and realistic possibility and also something that is bound to happen. Given how difficult it can be for many people to learn these skills, and given how much knowledge one must integrate to be a productive developer, this is an upsetting potentiality and one that is bound to happen eventually.

Not every field carries these risks. Law practice isn't going to change fundamentally in the coming decades. And some aspects of coding can be exhausting and demoralizing to learn. Past generations of coders have had their skill sets rendered null and void and it will probably happen again at some point to this generation.

>Right, web apps aren't websites

>Amazon tier complexity

I'd go even further and say that Amazon-level things aren't web apps to, that's a different level of web resources. It is one thing to write fairy complex web app with auth, log in info, security etc, building enterprise level system is a different thing.

Another risk I think is the automation of coding. It already happens all the time, and in principle coding should be the most automatable of anything. The only thing saving it is that it's very hard to automate the creation of good ideas or purposeful human intentions, which naturally inform most successful coding projects. There's also a bit of a conflict of interest, why would coders building automation systems want to automate themselves out of existence? I think these rationales protect software developers' job security for the near to mid-term future.

I'm also thinking that how people code could change drastically, but even so, that's less of a problem. Because the rules and logic of any programming language boil down to fundamental computer science principles which should remain constant despite the interface you're using to code, whether it's a keyboard and monitor or some kind of visual drag and drop thing or whatever someone comes up with.

You have to think of it at a higher level: My job isn't coding, it's clarifying ideas. Programming languages can get higher-level, and more automated, but nothing is ever going to free us from the burden of clarifying our ideas. I believe this makes my job (the interesting parts, at least) pretty safe in the long-term.
That's a very nice way to put it IMO. See also this commit strip comic about the same topic: http://www.commitstrip.com/en/2016/08/25/a-very-comprehensiv...
I tend not to worry about programming automation, because I believe it has actually been going on for a long time with higher level languages. E.g. when programming was done at assembly level, the advent of C did not reduce the number of jobs, rather it made programming more powerful and created more jobs. Same with Java and 'automated' memory management. Same with Ruby on Rails, php, etc. By simplifying developers jobs, developers can create bigger and better products, which increases adoption of technology, which creates demand for even better products, which leads to more jobs and more automation. Maybe I'm wrong but I don't see any end to this cycle anytime soon.
I agree... but I just find that automation leads to more productivity which leads to more demand. There are always additional projects and features to be developed. The way development has focused in prioritizing features over handling technical debt, or adding bodies for features which escalates accumulating tech debt more quickly will always lead to more work.
> in principle coding should be the most automatable of anything

You still have to describe to the automaton what you want it to do -- and in doing that, you're programming.

Modern languages are all "automated programming" already -- you aren't writing machine code, you're describing to the automation system what you want, and then it generates the machine code for you.

This feels, unrealistic. Coding practices, tools and technology have minimally changed since the 70's.

Faster machines, but with each new language, you still have the baggage of design/code/compile/test/debug/refactor and the library/dependency hell that plagues things like oh, say Node.js with NPM, maven with Java, make with C/C++ etc. etc.

Then there is the flood of new "UI hotness libraries" in the JavaScript space alone. Pick one. wait 6 months and see what else is now the new hotness or if your current one has changed with a new major version release (Angular?).

There should be more folks like Bret Victor working with language teams in the FANG(+MS) companies to drive some further breakthroughs in reducing cognitive load and tool/library dependency complexities.

Where are this generation's Alan Kay and Jean-Marie Hullot types, pushing the envelope on software development environments?

> in principle coding should be the most automatable of anything

All coding is itself the act of automating something. I don't think there is a risk to developers as there is always more to automate. We use products that automate our own programming tasks to create more code to automate yet more things.

Whether or not programming can be completely automated is an interesting question.. when I think about what would make it unecessary for a human to be specifying the behavior of a computational system the only phrase that comes to mind is "general ai".
I'd add that even for digital applications that are not web-based (native apps, console games, etc), there is still a need to talk to a server.

So regardless of market fluctuations, server-side development will always be in demand, and server-side dev is a subset of "web development".

So yes, definitely, web development is a worthwhile field to go into.