News for hackers. Stuff that matters.
Re:Is software development really a dead-end job after age 3... by edanm on Friday November 17, 2017 @05:04PM (#15726371)
This is incredibly good and valuable advice. I hope everyone heeds it (if what they want is to increase earning potential, of course).

I'm not sure every programmer should start with trying to specialize in a domain. But definitely, at some point, you're reaching diminishing returns for getting better at programming.

Put another way: Getting better at the craft of programming allows you to write programs faster and better. Specializing in new domains allows you to do things you couldn't otherwise. This is the realization that made me decide to stop learning new programming languages, and instead spend my time learning new domains - I realized that learning Haskell, while incredibly fun and rewarding to my abilities as a programmer, will not let me make fundamentally different things than with Python. Learning e.g. Deep Learning, however, would.

Btw - even learning totally other skills - e.g. learning 3d modeling helps me a lot in gaining deeper knowledge of 3d than I would otherwise have - even if it's not 3d programming per se, it's still relevant. And learning new Maths is not as directly applicable or as valuable as learning new software domains, but can open up new avenues you wouldn't otherwise have, that learning "yet more programming languages" or similar won't. (It's still more valuable to work directly on relevant things, of course, but sometimes it's fun to broaden your scope in relevant ways.)

Re:Is software development really a dead-end job after age 3... by nihils on Friday November 17, 2017 @06:08PM (#15726747)
I don't think there is significant overlap between Python's ideal use cases and Haskells. For one, Haskell's advanced static type system lends itself nicely to formal verification and the handling of domain specific languages. Both domains are important in safety-critical software. It also has much better ways of dealing with concurrency (STM and linear types). On the other hand, Python's ecosystem seems to be centred around backend web development, data science, and machine learning.
Re:Is software development really a dead-end job after age 3... by elihu on Friday November 17, 2017 @08:13PM (#15727242)
They're both general-purpose high level languages suitable for application programming. The difference isn't so much in the sort of software you can write, but rather what you want your development/testing/debugging experience to be like.

I've never used Python, but I like Haskell for the kinds of problems where I'm trying to do something complicated and a little confusing, and I want the compiler to let me know if I've asked it to do something that doesn't make sense. That sort of thing can save a lot of time in the long run, and I usually feel good that the resulting software is reasonably robust. I expect a good Python programmer could write an equivalent program, it's just not the way I like to work.

Libraries are of course often a deciding factor, and so are performance requirements.

Re:Is software development really a dead-end job after age 3... by barrkel on Saturday November 18, 2017 @01:02AM (#15727945)
Most programming problems have multiple viable implementation approaches, and implementation language is not usually the gating factor on success.

It takes some esoteric innovative features to make a difference, but that will also cut both ways; it'll make it harder to hire for and scale, too.