Earlier quoted context omitted.
> You're not solving hard engineering problems What, in your mind, makes an engineering problem hard? I've certainly had to dig out CS algorithms and 'clever' applications thereof to reach desirable performance out of some custom widgets in front end projects. I don't know if that can considered hard – hindsight tends to make everything seem easy – but it is certainly beyond pasting in a library like you describe. I…
>What, in your mind, makes an engineering problem hard? A problem which requires a high degree of creativity, intelligence, and technical ability, likely one which hasn't been solved before. You're right; it's a bit difficult (at least for me) to define, but we know it when we see it. Sending men to the moon was a hard engineering problem; implementing the UI for gmail was not. You speak of using 'CS algorithms' in y…
Reflections of an “Old” Programmer
311–320 of 339 posts
Re: Reflections of an “Old” Programmer
#312Earlier quoted context omitted.
You're like a living version of this comic but for IT nerds... https://xkcd.com/435/ (Just to be clear, in the IT version, you're not standing where the mathematician is.)
You have no idea what you're talking about. So much of the HN crowd wants so desperately to believe that what they do is meaningful and difficult, but in reality 90% of it is just trivial web dev BS that will be irrelevant in a few years. There is real engineering happening out there, but believe what you like.
Re: Reflections of an “Old” Programmer
#313Earlier quoted context omitted.
Software componentization never took off because every attempt at it either leaks abstractions like a sieve or is so purely functional as to be impractical for real world use. Shall I list the componentization tech of yore? CORBA, OpenDoc, Java Server Faces, COM, DCOM (oh god, CORBA again!), SGML (the original component framework ), XML zoo (oh god, CORBA a third time).. JSON zoo, (a flippin' fourth time, are you kid…
You forgot microservices. I'd forgotten Java Server Faces, was that related to Java Beans? I'll join you in a glass of "oh god, CORBA!" At least one good thing about the web is that people have given up hoping that RPC could be transparent.
Re: Reflections of an “Old” Programmer
#314It is plain and simple, Kids. I'm 52 - been programming professionally since the 70's when I started writing C code and getting paid for it in 5th grade. Our "professional" is writing glue code, and how it is done and what hoops are jumped through simply do not matter: all that matters is the final shipping product, widget, or logical dodad works for the immediate marketing moment. I speak from enviable experience: g…
You're totally right but then people are faced with the possibility of an increasing number of code monkeys graduating from college every year. Then the question becomes, how do you keep your job year after year when the number of code monkeys just keep on increasing. Some of them are shitty but a lot aren't.
I think before our profession's sector becomes threatened, a whole lot of other sectors are going to blow up in a mushroom cloud of automation/obsoleteness (caused perhaps by us!) and force the economy to rethink jobs/food/shelter/basic necessities for everyone.
Re: Reflections of an “Old” Programmer
#315Earlier quoted context omitted.
What's the last truly new thing you can think of? I'm interested because I am young (22) but have studied programming language paradigms and history and I also agree a lot of "new" stuff is old.
I work on navigation software ( http://project-osrm.org/ ). Many of the algorithms we're implementing (or at least considering) only exist in recently published papers, or sit behind unpublished APIs. There have been huge improvements in graph route-finding algorithms in the last decade, so much of it is new, interesting and it's far from run-of-the-mill implementation. I'm 38 - I spent the first many years of my car…
Re: Reflections of an “Old” Programmer
#316I'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…
A little past 50 here. I can relate. Yet some things have barely changed. Beyond 25 years ago it was Solaris or HPUX, using C, talking TCP/IP and mucking about with SQL. Some of us were sad at SVR4 as we still preferred the BSD view of things. Running Unix and 10 terminals on some 680x0, learning to get efficient in vi. Some preferred emacs. I was excited for the future, especially of hardware and the OS, as I'd seen…
Re: Reflections of an “Old” Programmer
#317Earlier quoted context omitted.
Good engineers will always be paid extremely well, regardless of what their domain is. Web dev is competitive at the low end of the market, but certainly not so at the high end.
This is sort of naive. Two truths: (1) Companies have a hard time finding people with decent CS knowledge, and (2) you can get to the top (or near it) of the web dev field with little to no CS knowledge. This is why you hear the chorus of "I've never ever needed to use/think about $CS_TOPIC" when this discussion comes up. The upper end of web development is hyper-competitive and trend-driven because CS knowledge is a…
Agreed.
> you can get to the top (or near it) of the web dev field with little to no CS knowledge.
That depends on what your definition of top is. A person with little to no CS knowledge won't be working for any of the big 4. They won't work for any of the top tech firms because they will never make it passed the tech interview.
Unfortunately the term "web developer" is fairly broad. Its so inclusive that a designer that can struggle their way through jquery will frequently be lumped in with an engineer at Facebook working on React.
Re: Reflections of an “Old” Programmer
#318I'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…
Late forties developer here. > Every time I feel like I'm "out of touch" with the hip new thing, I take a weekend to look into it. There's my problem right away. I can't just "take a weekend" to learn some new shiny thing. I have a partner and children who I want to be with at the weekend. And I'd rather go climbing or hiking or even just go out on my bike, than learn another damn api. Twenty years ago I had evenings…
Some times, my boss asks me about a new fancy tech. "I'll look into it" means I'll take a few hours of my time to give a good appraisal of it.
Re: Reflections of an “Old” Programmer
#319Earlier 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…
I have the distinct sense that you might not have done much of this.
There might not be many esoteric algorithms to implement, but there is plenty - more than plenty - to do in terms of managing UI state and back end integration, especially if you have stakeholders who want to see a variety of complex UI manipulations happening in response to various business rules. Which can often be internally self-contradictory. In a DOM that delights in being uncooperative, pretty much . . . always.
Frankly, it's enough to make using Java or a C variant for typical back end work look like a walk in the park.