Live data from Hacker News

The Developer's Dystopian Future

the-pastry-box-project.net

131–140 of 209 posts

Re: The Developer's Dystopian Future

#131
about python

> I definitely don’t understand the class system.

this could be worrying if you mean you don't understand class-based OO languages as a whole. if you specifically mean you don't understand multiple inheritance, that's less worrying, and reading "super() considered super" ought to clear things up.

so much of the so-called "JS hotness" seems not entirely red hot to me. perhaps you can skip over angular and proceed straight to react and see if that makes more sense?

based on this post, i don't know if the issue is ageism so much as foregoing breadth for depth. being able to tweak SQL configurations is definitely a valuable (in terms of $$$) skill, but what if some of that time had been spent reading SICP, learning how to implement class and module systems "from scratch?" it's not something that you'd ever do in your day job, but it would probably make understanding the variations on the overall class n' module theme easier.

Re: The Developer's Dystopian Future

#132
I started programming in 5th grade, and still love it after 40.

But the world has so many large problems these days. I think many people decide at some point, there is more reward and more meaning in working on those things, than following the latest Android API diffs.

Technology is still interesting to me, but only as a tool to accomplish more important things.

Unfortunately, as a software developer - I view the most important technology not to be software, web frameworks, or mobile, but developments in energy, material science, etc. Things that are out of reach for me as a developer.

How can i solve any meaningful problems, when the main tool at my disposal is mostly just copying bits from one memory location to another?

Thats what makes me depressed and disenfranchised with software development at 40. I'd like to work on more meaningful things, but I find my skills rather impotent given the enormity and complexity of the world's problems.

Re: The Developer's Dystopian Future

#133

40-ish developer here and I think the author is being at risk of being left behind. I just think that when we choose this industry as our career, we have to go in with the knowledge that this isn't something where we can learn a set of skills once and then focus on that for twenty years. Our career is learning. Our value isn't what we've done before, it's what we're able to do. That isn't to say you always have to le…

I don't think that the future is that scary. The current themes at a shallow level are changing very rapidly but the underlying principles and techniques are changing at a much slower rate. The latest, coolest, brightest startup is using a framework that's only been in existence for 6 months (and replaces another framework that's only been around for 18!) but most of Google's codebase is still in C++. Most of Amazon's codebase is Java.

You don't have to keep up with the latest fads. You have to pay attention to the big themes, and be willing to change frameworks as you change jobs, but a company that updates it's entire framework model every 12 months is going to waste a lot of effort on maintenance that could have been put to better use. Most companies will keep their existing frameworks because it's good enough.

It looks scary but programming as a whole moves much slower than the surrounding hype makes it appear.

Re: The Developer's Dystopian Future

#134

I started programming in 5th grade, and still love it after 40. But the world has so many large problems these days. I think many people decide at some point, there is more reward and more meaning in working on those things, than following the latest Android API diffs. Technology is still interesting to me, but only as a tool to accomplish more important things. Unfortunately, as a software developer - I view the mos…

I have felt the same from time to time (45 here). However, as software technologists we have one advantage: our work can be completely independent.

In this case I mean if you can conceive a project to better a part of the world, it may be possible to implement with resources you already have at your disposal.

The materials energy researchers need resources beyond the reach of most individuals (and their personal budgets), and in some cases corporate resistance to embedded profit centers.

Re: The Developer's Dystopian Future

#135

I'm not even legally an adult, and I feel like things are moving too fast for me. At 17 years. I guess I shouldn't feel like that, but I can't help it. I started with VB6 as a kid, 6 years ago. I moved onto C++, then learned about 3D graphics and game engines, then learned HTML, CSS, JavaScript, gotten into web development, learned Photoshop, some basic design, working with Linux, PHP, a little of C#. Recently tinker…

I love how you've got so many responses, and hope I'm adding signal more than just repeating what everyone has already said.

It's crazy overwhelming to look at all of the technology and opportunity out there and to know that you can't keep up with it all. But you don't need to keep up with everything. You need to know what tools are out there, and what their general purpose is. 15 minutes with Google will inform you enough about any single technology. In one day you can knock out 10 or 20 paradigms.

Once you know what's out there, you learn more about the things that are specifically relevant to what you're working on and what you will be working on in the near future. And you Google around to see what paradigms are being used by people working on similar problems.

Especially if you already have a specific thing you want to accomplish, it'll only be a week or so before you've narrowed your needs down to just a few specific tools. And those are tools that have arisen from decades of refinement, and will be relevant for at least a decade on their own even if they'll only be the "coolest" framework for a few months. You don't need to be at the forefront of every technology, you just need to be good enough.

And knowing that makes staying relevant feel a lot less scary. Most people only know a few things, and they only _really_ know one or two things. And each of those things is good enough to last at least 5 years if they were the most relevant thing when they were learned. Often they'll be good for multiple decades.

So keep your head up, and pay attention to what's cool and hot, but don't feel behind if you've never really understood what AWS does, or how Angular works, or if you don't know the difference between Unsupervised and Supervised machine learning. When you need the tools, you'll be able to learn them in time to remain relevant.

Re: The Developer's Dystopian Future

#136
I'm probably considered an "old guy" in the software world. But I realized a few years ago that there is little new under the sun. We get new names on stuff all the time; we get old concepts repackaged as "new." Data still must be organized and searched, transmitted and received. Instructions must still be transcribed and turned into something the silicon can use. The only differences are in the syntax. Sometimes, those differences are what we needed to make a breakthrough in comprehension of complex systems. Oftentimes, there's little difference.

I was once worried I'd be left behind. I don't worry about that now. Mainly because I've got the skills to grok the "new" and catch up. But also because "new" is just repackaging that research paper from 1964 into another package for $YOUR_FAVORITE_LANGUAGE.

Re: The Developer's Dystopian Future

#137

The author specifically mentions Angular - probably that was the last straw. I want to tell you: I feel your pain! You are not alone! I've been in the field for almost 35 years, and I think I've seen a lot. But Angular really stands out. It's absolutely the worst kludge ever unleashed into the field with so much hype, I can't remember anything like this since EJB, but EJB is a nice piece of engineering compared with…

Funny you mention that. Just today I was doing some research about Angular, Ember, Backbone, etc. The fundamental question I was trying to address was, why would one need a client-side MVC framework in the first place? After reading several lengthy articles, as well as looking at some documentation, I just couldn't grasp it. They all seem... off.

If something is called "framework", you can safely ignore it - it's clearly a pile of crap. If the thing is useful, it is called a library. As a corollary, if a language/programming paradigm requires frameworks to work, it's a failure right from the start. The problem is that when you throw away all frameworks, you are not employable any more. And maybe that's the solution: find profession where you won't waste your life fighting next fad (which is different every year).

Re: The Developer's Dystopian Future

#138

I'm not even legally an adult, and I feel like things are moving too fast for me. At 17 years. I guess I shouldn't feel like that, but I can't help it. I started with VB6 as a kid, 6 years ago. I moved onto C++, then learned about 3D graphics and game engines, then learned HTML, CSS, JavaScript, gotten into web development, learned Photoshop, some basic design, working with Linux, PHP, a little of C#. Recently tinker…

Woah woah woah, relax. OK, C++ and client-side tech (HTML/CSS/JS) is enough to go for some time. Common Lisp is a good way to go next, but you'll see most of that return in how it affects your use of other languages. For the rest in your list: they're solving overlapping sets of problems with overlapping sets of techniques.

You have to know very few of them to be quite productive. You also have lots and lots of time. I'd honestly focus on getting better at those that you already know than worry about adding in more. And just start building shit. Nobody cares what technology you use, as long as it's not PHP[2].

The more technologies that you know, the easier the new ones will be. I don't know why, but people keep adding them on their resume like merit badges. They're tools, and you aren't responsible for learning tools, you're responsible for making solutions.

But, if you want to learn a bunch of them, here's how you get started. When you start a new technology, ask yourself a few questions about it:

- What's the problem it's trying to solve? (hint: this applies to programming languages as well)

- What're the constraints imposed by the environment?

- What fundamental techniques is it using?

- What are its predecessors?

Those four questions will explain most of the technology[1], before you even look at the details. Do this a few times, and you can predict much of a new technology just from the answers to these questions.

Example: C++:

A systems language for large programs. Must have as close to minimal runtime overhead and optimal code as possible. It's native-code compiled with the platform ABI, usually with the same compiler backend as the C compiler, and without any runtime interpreter or compiler. Predecessors include C and Simula. Footnote 1 applies here, as it is designed by committee, with a "shove a lot of stuff in the language, and let each user figure out which parts are useful" attitude.

[1] Modulo random experiments, social system issues, laziness, and bad ideas.

[2] The only reason to use PHP is "someone made me."

Re: The Developer's Dystopian Future

#139
post #103

Earlier quoted context omitted.

I'm 27, used to be in tech like the biggest nerd of them all. But not anymore, frankly I'm tired of all of the changes that happened in the industry - it's not that I'm tired of learning but it's that the changes lack substance. Learning a new framework that does the same thing like layout or user design; it's not like learning music and digging into a deeper discipline like moving from acoustic strumming to jazz imp…

> Learning a new framework that does the same thing like layout or user design; it's not like learning music and digging into a deeper discipline like moving from acoustic strumming to jazz improvisation, it's just learning new keywords to do the same crap because the old keywords have been remapped. Perhaps you should look into Haskell, Clojure or Erlang for a change?

In the context of web applications, what do Haskell or Clojure bring to the table that makes them worth the learning curve?

Re: The Developer's Dystopian Future

#140
I find myself moving farther down the stack rather then picking up the "new hotness" framework etc. Right now I'm very interested in embedded / low level systems. Someone still needs to maintain and build the actual technology that these young'uns use. :P
Post reply on HN