Hacker News new | past | comments | ask | show | jobs | submit login

> Instead of listening to you and I (age 50) there are some young people who would rather claim that basic/low-level/first principles knowledge is irrelevant.

Yes, that sounds like the normal "folly of inexperience" -- it comes from people who don't yet have enough experience to know that they don't know as much as they think.

There's a reason that people (in any field) with less experience tend to be more certain of the correctness of their judgement than people with more experience. The more I learn, the more I realize how little I know.

> Sometimes I still get mad or sick thinking about it.

I think back on instances like that as dodging a bullet. Can you imagine the hell that actually working with those people would have been?




Instead of listening to you and I (age 50) there are some young people who would rather claim that basic/low-level/first principles knowledge is irrelevant.

It is irrelevant to most jobs and no I am neither young nor inexperienced. I first started programming in the 80s in 6th grade doing a combination of 65C02 and x86 assembly language and I spent my first 12 years professionally bit twiddling in C - first on DEC VAX and Stratus VOS mainframes and then on x86 PCs. Later I maintained a proprietary compiler/VM used to write apps for Windows Mobile.

I think I have my low level chops....


It is irrelevant to most jobs and no I am neither young nor inexperienced.

Just as one example, the basic level of algorithms, where one could realize when they're creating a O(n^2) routine, is relevant to just about every shop I interacted with working for a language/VM vendor. I found it disturbing, the number of times I could play the hero just by knowing that much.

I've worked in shops using C, where I kept bumping into workers who hadn't the foggiest idea how a C compiler might work, and it not only showed in their code, it even showed in management decisions. (Long story short: The application literally had 100's of re-implementations of linked list.)

I've interviewed recent grads from top-tier schools with near 4.0 GPAs, who try and tell me things, like adding a pointer to a struct incurs zero memory use. Then I ask them how much memory a pointer would take up, and they can't give me any kind of answer. (Or ask me a relevant question for more info, so they can answer.)

All this stuff could be avoided if there was just a certain level of basic background knowledge. They're like car mechanics who don't know the first thing about electricity. There's a certain level of background that can keep you from inconveniencing and hurting yourself. You don't need it most of the time, but when you do, it can save you a lot.


How much is really relevant to the average developer out there writing a bespoked internal app that no one will ever see outside of a company or yet another software as a service CRUD app?

I think I’ve had to implement one complicated algorithm that was low level and not a complex business requirement in years and that was the “shunting yard” algorithm to convert a string algebraic expression to a number as part of the parser for the compiler I was maintaining.

Most developers could go there entire successful career without ever knowing how a compiler works.


How much is really relevant to the average developer out there writing a bespoked internal app that no one will ever see outside of a company or yet another software as a service CRUD app?

Only a smattering. I could cover just about all of it in 2 nights of instruction. However, that doesn't mean the students would have mastered and internalized the concepts to the point where they'd make the right realizations when they need to.

I think I’ve had to implement one complicated algorithm that was low level and not a complex business requirement in years and that was the “shunting yard” algorithm to convert a string algebraic expression to a number as part of the parser for the compiler I was maintaining.

Right. Most of the time, one implements simple algorithms, using hashmaps and "vectors" as building blocks. But first principles knowledge can also make one better at that.

Most developers could go there entire successful career without ever knowing how a compiler works.

(Their.) Right. Most people can manage. Just like most mechanics can manage to muddle through learning as they go. But why not have mechanics learn basic knowledge about electricity? They do, because that kind of 1st principles knowledge can save people from pain. The same applies to CS/programming. Also, the knowledge itself is pretty neat. A lot of people get pleasure from learning it and being able to understand their world in a deeper and more nuanced way.

People going to top-tier 4 year universities, getting a 3.75 GPA, but coming out with no more than a glue-crud-apps-to-cookbooked-machine-learning/buzzword-of-the-day-library level of knowledge just strikes me as a colossal waste and colossal rip-off. It's also people becoming the victims of low expectations. I know that kid who tried to tell me that a pointer doesn't take up space could well have learned that stuff, if his program had just had slightly higher expectations. I'm reminded of schools who track certain kids into learning nothing more than what's necessary to balance a checkbook. That's killing young minds with the bigotry of low expectations. We're probably already at the point where some say asking kids to learn enough math to balance a checkbook is asking too much. Something about that strikes me as selling people short.


In my market, a major city in the US with a reasonable cost of living (ie a five bedroom/3000 square foot house in a good neighborhood in the burbs can be bought for $350K), the average framework developer who can push out a CRUD REST API in Node and can throw together a website with Bootstrap and React can make about $120K in a few years out of college and live a nice comfortable life and is well above the median income - I don’t think that’s doing too badly and certainly not “low expectations” based on salary.


I think back on instances like that as dodging a bullet. Can you imagine the hell that actually working with those people would have been?

That's very true, but it has changed my attitude for the worse about interviews. The particular situation where someone can take facts and reality itself away from me (not really in reality, but in terms of the outcomes of the immediate proceedings) is like hell itself. The possibility of that lurking, because I am indelibly "marked" by my age is awful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: