Live data from Hacker News

The Developer's Dystopian Future

the-pastry-box-project.net

121–130 of 209 posts

Re: The Developer's Dystopian Future

#121
A lot of the comments here are about age, ability to learn, etc. All valid, but I'm going to switch it up and give a different point of view, because this is very close to something I was discussing with some friends recently, because three of us eating were what I'd call "advanced" developers and one of us was a "scrappy PHP guy."

Our backgrounds are LAMP (isn't everyone in web?), and we were discussing that despite technology getting "better" (quoted because that itself is arguable, but for the sake of this comment, accept it), the learning curve to getting something out the door using "modern techniques" has a terribly steep learning curve.

I learned web programming when I was 12: slap some Apache + mod_php (a couple package installs away), FTP up some PHP files, and BOOM, you had a website that was scalable to most needs. I learned PHP by pretending it was HTML and not really understanding the PHP. It was easy that way.

Python, Ruby (Rails), JavaScript (Node) are not easy that way. You have to actually understand some things: web serving, HTTP, cookies maybe, GET vs POST, etc. I probably went years without knowing what any of those were, and still strung together stuff that worked (for my use cases: family websites, small business websites, etc.).

And then it doesn't stop there, that's just at the language level. Now you have a choice of databases, you have these PaaS things that are sometimes great and sometimes not great, you have shared hosting and VPS still but you also have fancy new IaaS things, you have people rambling on about configuration management, and now people are starting to throw the word containers into the fray.

In short: for the programmer who just wants to get things done (maybe not correctly, but correct enough for them), things seem to have gotten worse. Much, much worse.

And I admit (or believe) that it has, but I argue that it is worse _temporarily_. And worse (worse for a certain type of programmer) _necessarily_.

First, LAMP is still available, still heavily used, and still easily learn-able and deployable. The issue is that apps done so cavalierly are prone to maintainability, scalability, and security issues. As the web has grown, we've learned some things about how to improve that. For maintainability, we introduce some concepts like testing, and language constructs like classes. For security, web frameworks help mask the really low-hanging fruit security issues that usually cover you in most cases unless Mossad is after you (then you're fucked anyway). And for scalability, we've leaned towards horizontal scalability for various reasons.

Now, each of these things can be poorly bolted on to existing programming styles. But in general, to do it correctly, a lot of things had to be redone from the ground up. Low-level components had to be rebuilt. Examples: web frameworks, safer languages (in that they're harder to make dumb mistakes in), configuring servers, deploying apps.

I argue we're still at that very low-level stage. The old "learn PHP like it is HTML and deploy some stuff" programmer just isn't comfortable at the low level we're currently treading through. But as the low level components stabilize out (over many years), eventually the tools will become higher level and will become easier.

I don't do any frontend, but from the sidelines it looks like the same way: there are dozens (more?) package managers for frontend and it looks like people MIGHT be starting to stabilize to a few, but it still might be years before we see anything super stable.

Of course, technology will always be moving forward. So as things stabilize, someone will be working on the next thing. But I hope that that next thing is a higher level problem. As we figure out how to build secure, scalable, maintainable web apps, maybe we can move higher up the stack to make this stuff more teachable without understanding everything.

Re: The Developer's Dystopian Future

#122

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'm 20 and I've felt the same way. I just returned from a semester abroad and effectively took a 6 month break from all coding following my 7 years of continuous interest. When I came back to the states to start my summer programming job a few weeks ago, I was hit with a feeling of emptiness and mild depression. The reasons for this are likely tied up in my reverse-culture-shock, and the fact that I spent a majority…

I don't know your wealth situation but one positive thing about our profession is that it provides us with the finances to travel and continue experiencing the things during your semester abroad. In my 20's, looking around, it was difficult finding people who had the vacation and money to travel abroad.

If you can make sure you realize that this is your job and take time to take advantage of your situation I feel it can justify the sadness you experience from our profession.

Re: The Developer's Dystopian Future

#123
post #11

Honest, legitimate post that I very much enjoyed. However I do think posts like this feed in ageism. I say this because it posits that the change is that the author is older and has more things to do, therefore they've fallen out with technology. The take-away invariably being that people who are older and have more things to do have fallen out with technology, whereas the young are still with it, whatever it is. Let…

"However I do think posts like this feed in ageism"

That was my exact thought after I read this as well. I'm 36 and starting to feel the creeping fear of being seen as "too old" to do what I do. People posting "I did PHP for 15 years and don't get Python and don't want to learn DevOps and AWS is so confusing" sounds like a senile old man complaining about the good old days. If you want to be marked as a crotchety old man then great, don't make the rest of us look that way too.

Re: The Developer's Dystopian Future

#124

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…

I reminded a co-worker last week as he was figuring out whether to use Grunt or Gulp - Computers aren't the thing. They're the thing that gets us to the thing. - Quoted from Halt and Catch Fire. Photography has its own version of the same quote. Amateurs worry about equipment, Professionals worry about time, Masters worry about light. User do not care about the technology used, they care about results.

Same thing bro with musicians, "Amateurs are gear-heads, pro's worry about techniques, and masters tries to listen to the sound"; traders/gamblers, "Amateurs focus on their winning, pro's worry about preserving their capital and masters worry about executing their performance where losing and winning money is only a side effect," and ad infinitum.

Re: The Developer's Dystopian Future

#125

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…

You've gotten plenty of replies already, many of which I haven't read. But I have this to say: I'm 31 and I often feel the same, but it's not real. Just read Dijkstra and don't worry about Angular, Ember, or the latest fad.

You'll find out that the real knowledge is relatively stable and how well people know the latest fad frameworks has little to do with their long term relevance or employability.

Re: The Developer's Dystopian Future

#126
I'm going to try to provide an alternative perspective, one which is more optimistic. This is love letter to programming, written in my late 30s.

I've been programming since my parents brought home an Apple II. Even though I sometimes get burnt out for a couple of months, sooner or later I find myself hacking some fun little program together, and I'm obsessed once again.

When I work for somebody full-time, I search out jobs that throw lots of random, interesting problems my way. When I consult, I like medium-sized projects that teach me something new.

In the late 90s, I hacked on Lisp and Dylan compilers. In 2001, I had strong opinions on how generators should work. In 2007, I spent time fooling around with probability monads. Right now, I'm delivering production code in Ember.js, and on the bleeding edge, I'm spending some personal time messing around with Rust.

I want my code to be simple, beautiful, expressive, correct and fast. Every few years, somebody invents a library (or sometimes a language!) that allows me inch a little closer to that goal. I suppose that if I ever felt my tools and my code were truly good enough, I might get frustrated with the rate of change. But if anything, I'm impatient. Our tools could be better. When will I get to play with the good stuff?

Of course, I do get tired of some things. If I never again see another huge Rails 2.3 app with undeclared dependencies on 30 dodgy abandoned gems, I'll be a happy programmer. And I wish that the various JavaScript frameworks would finally settle down enough that I don't have to budget one month per year just to keep production apps up to date. But then again, I didn't much like that sort of foolishness when I was younger, either.

My only real problem is that the day is short, I do have outside interests, and there are so many cool programs left to write.

Re: The Developer's Dystopian Future

#127

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.

Re: The Developer's Dystopian Future

#128
It is the loss of the sense of wonder. The trick is that computers today are really really really fast versions of computers from 60 years ago. Fundamentally the same box, just faster and with more memory and disk space.

That isn't entirely true of course, there are special function architectures like GPUs which have a specialness all their own, but it is true for most people.

But the thing that drives people in the beginning, is the sense of wonder. Same thing with relationships, when they are new, everything about them is new and exciting, and then they aren't that much new any more and you don't get any relationship augmentation from the newness. So once you've discovered computers, and made them do your bidding, that is all new and all exciting and the feedback loop is strong. But once you have done all of the 'usual' things once, and due to work obligations are doing them again, but in a slightly different way, you aren't getting the adrenalin rush from the newness. Computer games, same thing, movie franchises, same thing. So what to do.

Well when the rush of newness runs out, you have three choices; pick a new field, pick a different area in the field, or take it to the next level. New field or different area choices give you a new thing to be excited about, taking it to the next level requires that you challenge yourself.

Taking an example from the article, "... I don’t feel like I really grok the module system. I definitely don’t understand the class system. What the hell is a generator and how does it work the way it does? I am so lost."

Decide to take your understanding of Python to the next level, and by that seek out the more advanced texts, read them, read the source code, build Python from scratch, add some change to the module system, analyze the impacts, look at how classes work in Python and compare them to classes in C++, Scala, Java, and Go. If you can get over that hump then you can get engaged in learning things at a deeper level. I really didn't understand Python modules at all well at Google until I took apart the SWIG system to write some C code that was accessible by Python. Port it to a different architecture, benchmark it, change it and benchmark the changes. That is what I mean by "going deep." You will find after a while that there is a lot of similarity at that next level too.

Another skill people don't work on until later than they should, reading code. Read a bunch of code, figure out how it works, prove your understanding by changing it.

All of these things are the programmatic equivalent of strength training at a professional level. If you can't get any satisfaction from this though, option 1 (try something new) will give you more satisfaction long term.

Re: The Developer's Dystopian Future

#129
I don't worry about this happening to me because I know exactly why I learned how to program - because I wanted to build cool shit. I do not fall in love with my languages and tools and therefore I don't feel any stress dropping them and moving onto the next thing that will better help me reach my ultimate and unchanging goal of building cool shit. I think the OP's anxiety comes from their desire to "master" a particular language or framework. If you just stop worrying about your chops and start worrying instead about the thing you're building you'll find all the volatility of the programming world much more manageable.

Re: The Developer's Dystopian Future

#130
post #97
post #41

Earlier quoted context omitted.

Relax. One of the lovely things about being older is having the confidence to be able to be able to point out that the latest fad is just a warmed-over rehash of something old. It's important to keep up with the new things, but the fact of the matter is that there is very little in the world of software development that's actually new. Swift? Please. If you know ML (1970's), Smalltalk (1980), and Objective-C (1983),…

> One of the lovely things about being older is having the confidence to be able to be able to point out that the latest fad is just a warmed-over rehash of something old. Sane advice. I'm 39, and I'm rather stunned to see 27yr olds calling themselves "old" and disillusioned with tech and what not ... let alone 17! If you like to build things, hone your system level thinking .. which lasts longer than Angular/Backbon…

With regards to your last point: it's also up to job seekers and employees to signal to organizations that they need to take professional development seriously. You have to fight the pressure to over-specialize and demand opportunities to learn new tools and techniques. There's a basic conflict of interest here between employer and employee: the employer wants a highly specialized cog they can replace when their needs change. The employee wants to develop a speciality, but also build a general base of skills and dabble in new technologies so he can stay employable for years down the road. Employees need to fight for their interest in this regard, and employers need to have the foresight to realize that the most talented people who have the most options will not take a job at a place that stifles their professional development.
Post reply on HN