Live data from Hacker News

Reflections of an “Old” Programmer

bennorthrop.com

141–150 of 339 posts

Re: Reflections of an “Old” Programmer

#141
post #41
post #19

Earlier quoted context omitted.

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…

Honestly when I see what my friends who design airplanes and particle accelerators are doing, I feel like we're all kind of fucking around in software engineering, frontend or not.

Heh, true. Compared to real engineers and scientists we're just a bunch of monkeys re-inventign the wheel every 10 years (with each iteration being worse than the prior one).

But from time to time one of us monkeys gets lucky and changes the world.

So I guess it's a risk/reward thing :)

Re: Reflections of an “Old” Programmer

#142

Earlier quoted context omitted.

New stuff: Machine learning that works. Rust's borrow checker. 3D SLAM that works. Voice input that works. Lots of image processing stuff. Machines with large numbers of non-shared-memory CPUs that are actually useful. Doing non-graphics things in GPUs. The webcrap world is mostly churn, not improvement. Each "framework" puts developers on a treadmill keeping up with the changes. This provides steady employment for m…

> his provides steady employment for many people, but hasn't improved web sites much. Just a week ago I made the startling discovery that FB's mobile web app it's actually worse than a lot of websites I used to visit at the end of the 90s - early 2000 on Netscape 4. Case in point, their textarea thingie for when you're writing a message to someone: after each letter push there is an actual, very discernible lag until…

AFAIK they log everything you type, even if you don't submit it. So maybe that has something to do with it?

Re: Reflections of an “Old” Programmer

#143

Earlier quoted context omitted.

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

> The progress we've made in 20 years is astounding. And yet "open mail in new tab" in Gmail has been dead for at least a couple of years now. In fact, I'd say that "open link in new tab" is dead on most of the new web "applications", I'm actually surprised when it works. The same goes for the "go back with backspace" thingie, which Google just killed for no good reason. Copy-paste is also starting to become a nuisan…

'Back with backspace' was changed to CMD+left-arrow assumedly because a simple backspace can change the page unexpectedly for someone who thinks they are in a text field.

Re: Reflections of an “Old” Programmer

#145
post #13

I'm a bit older than the author. Every time I feel like I'm "out of touch" with the hip new thing, I take a weekend to look into it. I tend to discover that the core principles are the same, this time someone has added another C to MVC; or the put their spin on an API for doing X; or you can tell they didn't learn from the previous solution and this new one misses the mark, but it'll be three years before anyone noti…

It's not long before you start thinking "f*ck the current new thing, what's the next new thing going to be? I'll try and spot that then jump onto the band wagon earlier"

The new Devs are basically doing this by default. They are early adopters on the hype cycle and so leverage it for renum since it disrupts supply every time.

Play the game old bean, it hasn't changed :)

Re: Reflections of an “Old” Programmer

#146
post #127
post #22

To me, it seems a bit like JSPs of 15 years ago, with all the logic in the presentation code, but I'm "old", so I assume I just don't "get it". No, you get it. It's the people who get excited about stuff we tried and abandoned two decades ago that don't get it.

So i'm young. What makes JSPs bad, why aren't you using them anymore and what are you using instead?

I think it's the "all the logic in the presentation code" that is emphasised as bad, and that is what you saw in typical JSP example code 15 years ago.

"Mainstream Java" then tried to sell EJBs as the answer, which was another world of pain.

Re: Reflections of an “Old” Programmer

#147

Earlier quoted context omitted.

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

Another way to look at it is that, even after 20 years and huge investment from serious companies, we can still only build poor substitutes for desktop applications. Don't get me wrong, it is amazing progress given the technology you have to fight. But in absolute terms it's not that great.

This is my view exactly. In the past 10 years I've developed both a web app [1] and a cloud-based native app [2]. Developing the native app was by far the more enjoyable and productive experience.

The great thing about native development is the long-term stability of all the components. I have access to a broad range of good-looking UI components with simple layout mechanisms, a small but robust SQL database, a rock-solid IDE and build tools - all of which haven't changed much in the past decade. Plus super-fast performance and a great range of libraries.

To put it in terms of the article: the half-life of native desktop knowledge is much longer than 10 years. Almost everything I learnt about native programming 10 years ago is relevant now.

Unfortunately, the atrocious deployment situation for native apps is also unchanged in 10 years (ie. "This program may harm your computer - are you really sure you want to run it?"). But on the other hand having a native app has allowed me to implement features like "offline mode" and "end-to-end encryption" that would be difficult or impossible in a web app. This has given my business a distinct advantage over web-based alternatives.

[1] https://whiteboardfox.com

[2] https://www.solaraccounts.co.uk

Re: Reflections of an “Old” Programmer

#148
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 no real technical challenge in front end stuff

You're looking at this backwards. It isn't about the task. It's about the person who approaches the task. Someone "creative, intelligent and technically able" (to quote your later comment) will bring vision to any task.

Like water they will find their level, find the new and shining thing they can bring to the arena in which they find themselves.

These invidious distinctions contribute nothing to mutual understanding amongst computing professionals. All of whom need to work with each other to achieve great things. That includes the documentation people - shout out to them for their intelligence and creativity too.

Re: Reflections of an “Old” Programmer

#149
post #95

Earlier quoted context omitted.

"but there's no real technical challenge in front end stuff." oh boy, you are so wrong! as an old fart having spent a number of years building UIs, can tell you, this is hard! information layout, controls, flow - it can be tangled into a total CF, or it can be seamless. you are not pasting libs on top of libs - that is the job of a monkey, front or back end alike. normal devs start their day with talking to end users…

You're describing a task which is more frustrating than technically challenging. Nothing you described requires a high degree of intelligence or training, only time. Of course some are better than others at it, but that's true of anything. Think; designing the CV systems for self driving cars (since that's a hot topic at the moment) vs designing a UI which works seamlessly across browsers. One is a real, honest to Go…

You can jump off the train and do bad UI at any moment. But UI always, always, gets hard when you start caring. That's not a measure of whether UI is harder than CV, it's a low-pass filter on what the market will value.

Most of the individuals making CV demos are not making unfathomable genius-level demos: they are taking an existing library and bolting on a simple application to it. And most such demos are flimsy and not commercially viable, because the technology needs more massaging at a deeper level than the author is capable of in order to fulfill the desired marketing promise.

Meanwhile, simple bolt-on UI tends to be good enough. Not because it's fine as-is, but because the user can accommodate for its brokenness without being able to express what exactly is wrong with it. The product can ship and create value, albeit not as much. Yet, a UI dev who wants the best possible experience has to have the same attention to detail up and down the stack as the CV dev who wants their algorithm to perform well along every metric. UI innovations are understated because they oft seem obvious or unsurprising in retrospect, but they do come along every so often, and often in tandem with the developments elsewhere - these days, AI algorithms are increasingly intertwined with the interface in a very direct fashion, when one considers voice processing, predictive text, or other such features.

And yet, if you should aim to achieve better UI, some naysayer will come along and proclaim that you have made something "overengineered" and should "just use a standard toolkit like the rest of us."

Re: Reflections of an “Old” Programmer

#150
I agree mostly with the author. The only quibble I might have is this: We realize that it'll require real effort to just maintain our level proficiency - and without that effort, we could be worse at our jobs in 5 years than we are today.

If by "worse", you mean more forgetful of the details of latest fads? Sure. But definitely not less able to put together solutions (Not if you've been spending your time doing that, of course)

When you're a kid and fresh into programming, everything you pick up has some magical power to do all sorts of awesome and cool stuff you've never done before. It's a grand adventure and you're just collecting all the trinkets you can on the way there. You look to other programmers to see which ones have the most potential. Whatever job comes along, you've already got the solution in your toolkit.

Over time you begin to realize that many, many problems have been solved hundreds of times. You note that there is an ecosystem around tools and frameworks, and as a developer? You are a market for lots of people who want you to use their stuff. That there's quite a bit of social signaling going on around which languages and tools people use. I'll never forget the first time I heard somebody say about another programmer "He's a nice guy, but he's just a VB programmer."

Actually he was one of the best programmers I knew at the time. He programmed in many different languages. It was just that for the work he was doing, VB was the right tool. But that's not the way it looked to the cool kids.

Know what's sad? It's sad when you look back 10 or 20 years and remember a ton of effort and pain you went through to fuck around with WhizBang 4.0 only to see it replaced by CoolStuff 0.5 -- and then you realize that CoolStuff really wasn't all that much of an improvement. And then you realize that CoolStuff is no longer cool. And then you think of the hundreds of thousands of manhours coders spent mastering all of that and comparing notes with each other. Looking down on those poor folks who never made the switch. Makes you kinda feel like an asshole.

I think you lose a lot of detail recovery ability as you get older, no doubt. I keep very little implementation detail active in my memory and only dig it back out as needed. But we are communicating on this wonderful little forum that, last I checked, was built using html tables! Yikes! And using a language that's a derivative of LISP! Yet somehow the world keeps spinning around.

I have no doubt that as you finally smarten up and focus on the important stuff that you will appear to other, perhaps younger programmers as losing it. I just don't think they know what the hell they're talking about.

Meh.

Post reply on HN