Live data from Hacker News

Reflections of an “Old” Programmer

bennorthrop.com

31–40 of 339 posts

Re: Reflections of an “Old” Programmer

#31

Hm. The author works for a web/mobile development agency and uses React Native and GWT as examples of the new and the old, respectively. I hope it isn't news to anybody here that this sort of work is a race to the bottom and has such turnover precisely because it's mostly being done by junior developers. Linux systems programming arcana, for instance, doesn't disintegrate so quickly as the ten years the author cites.…

> Doing that sort of work now feels like I am sabotaging my career.

Heh, I feel that way and I'm 22. Unfortunately the only language I know is JavaScript and the stuff I am interested in and learning isn't quite there yet in terms of jobs.

Re: Reflections of an “Old” Programmer

#32
post #19
post #10

Earlier quoted context omitted.

Twentysomething year old here, so you know, not like you don't have a point but: >the other reason is because it's easy/boring as hell I legitimately think front end development is not only very fun, it can have some really challenging aspects. I wouldn't think there's any programming challenge that is inherently easier because it's on web as opposed to something else. Of course I bet there are domain-specific tasks…

Well, sorry, but... it is. Maybe you find it interesting, that's subjective, but there's no real technical challenge in front end stuff. You're not solving hard engineering problems; you're pasting together libraries other people wrote on top of libraries other people wrote (and on it goes) and searching google to figure out why your opaque stack doesn't seem to be working. Developing a good UI is difficult, no quest…

There's engineering challenges in frontend but they only apply to Facebook-tier scale. There's also cooler stuff like data visualization, advanced animations/design and WebGL but those seem to be done by designers. For most of us, it truly is gluing X framework to Y backend over and over again.

Re: Reflections of an “Old” Programmer

#33

This statement is false > Half of what a programmer knows will be useless in 10 years. and the rest of the article seems to be based on it so it negates much of what is said. Foundational knowledge does not decay. Knowing how to estimate the scalability of a given design never gets old. Knowing fundamental concurrency concepts never gets old. Knowing the fundamentals of logic programming and how backtracking works ne…

Foundational knowledge does not decay. True in a certain intellectual sense. And in practical senses, also. But unfortunately, the hiring market doesn't filter for "foundational knowledge"; in realistic terms, it largely hires for what might best be termed "keyword compliance" -- that is, baseline exposure to stuff that barely existed, or if it did, barely ticked most people's radar screens more than 5 years ago. And…

Are you saying that there aren't any jobs using long-term established stable ecosystems in the hiring market? No J2EE CRUD apps, no standard LAMP websites, no .NET stack-based jobs?

Re: Reflections of an “Old” Programmer

#34
I'm about to hit 40 as well, and I completely identify with the pressure to keep up to date with new languages and frameworks, with the fact that I've lost memory of many things I haven't used recently, and that despite the proliferation of the new new thing, there really aren't that many new ideas out there.

But the thing is, I really like that I must always be learning. I just have that kind of brain that is attracted to learning new things, so for me this career has always been a natural fit.

In the last few years I learnt Meteor.js and built an issue tracker from scratch; I made several attempts at gaming projects using C++, C#, Swift, and others; I played Microcorruption and Cryptopals and Starfighter to learn a bunch about assembly, reverse engineering, crypto and security; I learnt Go and built a compiler with it; and right now my attention is moving towards lua to do some pico8 games. I did all this on the side of my boring corporate java developer job, and for no other reason than I wanted to learn new things. (OK, maybe I had big dreams of a startup with the issue tracker, but the others were purely for fun.)

I'm probably never going to be well known for any of those things, and I really haven't built up the chops to be considered an expert in any of them. But I'm content being a dilettante. Perhaps one day I'll get exhausted of exploring new things, but until then it's just fun to just dabble in whatever takes my fancy.

Re: Reflections of an “Old” Programmer

#35
This is the first time in history there are a huge number of "old", nay, wizened, programmers around in comparison to young ones.

Make of that what you will.

As a 40+ programmer, who knows what becomes of those who move into management, I am seeing lots of my cohort falling back into actually making things, as a way to preserve our hard-won value.

This makes me happy. And you whippersnappers better watch yourselves ;)

Re: Reflections of an “Old” Programmer

#36
I started programming when I was 7, I'm 45 next month :)

The one thing in the programming world that is almost 100% applicable to almost every article like this ( and many other topics ) is..... it depends.

I'm fortunate in that for most all my career I have spanned many technologies from embedded systems to the latest crazes on the web. Mostly what becomes redundant is language syntax and framework. If your programming career is largely centered around these then you become redundant pretty quick (or super valuable when critical systems are built with them then need maintenance forever ).

Frameworks come and go so if you spend a lot of time creating solutions that shuffle data from a DB to a screen then shuffle data back into a DB.... then a majority of your programming skills will become redundant relatively quickly. ( maybe a half life of 4 years? ). But often when you are doing this, the real skill is translating what people want into software solutions, which is a timeless skill that has to be built over a number of projects.

If you work in highly algorithmic areas, then not a lot of your skills become redundant. Though you may find libraries evolve that solve problems that you had to painfully do from scratch. However that deep knowledge is important.

Design, the more complex a system is to engineer (that isn't provided to you via a framework), the more likely you will have skills that won't go redundant. Design knowledge is semi timeless. My books on cgi programming circa the mid nineties are next to useless, but my GOF Design Patterns book is still full of knowledge that anyone should still know. OOSC by Betrand Meyer is still full of relevant good ideas. My books on functional programming from the 80s are great. The Actor model which has its history in the 70s is getting appreciated by the cool kids using elixir/erlang

Skills in debugging are often timeless, not sure there's any technique I'd not use anymore. ( though putting logic probes on all the data and address lines of a CPU to find that the CPU has a bug in it's interrupt handling is not often needed now )

Re: Reflections of an “Old” Programmer

#37

I get where the guy is coming from, I'm right there as an old guy. On the other hand, I think there is a bit too much fatalism in the article. Sometimes the kids are being stupid, and they need to be told so. The vast majority of web apps could be built in 1/10th the code with server-side rendering and intercooler.js. All this client-side crap is wasted when you are trying to get text from computer A into data-store…

posts like this are why I love HN. Intercooler looks cool and simple, and simple enough I can just re-write it. Angular is big enough that my eyes glaze over thinking about reading into it.

Re: Reflections of an “Old” Programmer

#38

This statement is false > Half of what a programmer knows will be useless in 10 years. and the rest of the article seems to be based on it so it negates much of what is said. Foundational knowledge does not decay. Knowing how to estimate the scalability of a given design never gets old. Knowing fundamental concurrency concepts never gets old. Knowing the fundamentals of logic programming and how backtracking works ne…

How exactly are you contradicting that sentence you're quoting? In fact, it seems to me you're confirming it. He didn't say that everything a programmer knows will be useless in 10 years, but that half will. You're only enumerating the half that won't.

This doesn't directly to the statement you're refuting, but he explicitly mentioned half-life.

The author does basically ignore the core knowledge aspects of a programmers career, and he bases his entire argument on the half-life of usefulness of detailed knowledge about specific technologies.

Re: Reflections of an “Old” Programmer

#39
post #10

Hm. The author works for a web/mobile development agency and uses React Native and GWT as examples of the new and the old, respectively. I hope it isn't news to anybody here that this sort of work is a race to the bottom and has such turnover precisely because it's mostly being done by junior developers. Linux systems programming arcana, for instance, doesn't disintegrate so quickly as the ten years the author cites.…

Twentysomething year old here, so you know, not like you don't have a point but: >the other reason is because it's easy/boring as hell I legitimately think front end development is not only very fun, it can have some really challenging aspects. I wouldn't think there's any programming challenge that is inherently easier because it's on web as opposed to something else. Of course I bet there are domain-specific tasks…

35 here. I completely understand why you are on defensive about something you are passionate about. Try to see our perspective though; web dev, we've been there. In my case, you name it, I've done it, nobody gave me a T-shirt thought they all asked for unpaid overtime.

At some point you realize that it's a race to write more lines of code with every iteration, and that employers will gladly abuse your passion in many ways go get cheaper output from you.

If I may take the liberty to give you an advice here, go for the lower level/more specialized stuff as your career progresses. Not only they change at a slower pace but they are paid way 2-4 times more here in Toronto. If you care that you studied and make a living off of it, try to focus after technologies where your hard work will be relevant longer.

As for me, I love what I'm doing. Currently it's a mashup of crosplatform c++14, .net core rest api, elastic search, postgre and bunch of connecting glue. Our resident js expert is busy for the next few weeks so I'll probably learn typescript and go up my stack to provide an interface.

Smaller shops are tons of fun.

Re: Reflections of an “Old” Programmer

#40

Earlier quoted context omitted.

Foundational knowledge does not decay. True in a certain intellectual sense. And in practical senses, also. But unfortunately, the hiring market doesn't filter for "foundational knowledge"; in realistic terms, it largely hires for what might best be termed "keyword compliance" -- that is, baseline exposure to stuff that barely existed, or if it did, barely ticked most people's radar screens more than 5 years ago. And…

Are you saying that there aren't any jobs using long-term established stable ecosystems in the hiring market? No J2EE CRUD apps, no standard LAMP websites, no .NET stack-based jobs?

Sure, if you like 3-month contracts.
Post reply on HN