166 karma · joined December 2, 2020
One surprising benefit was that re-learning the intro stuff well enough so I could teach it crystalized my understanding of some fundamental concepts like the difference between the stack and the heap which I kinda glossed over my first time through.
At the other end of the continuum, I was able to gain a level of skill in parallel and distributed programming and network programming much deeper than undergrad.
Was it worth it? For the price of $0 and 2 years, yes. If I was paying full price, not sure.
And do those who say the degree erodes, fundamental concepts endure. A race condition is still a race condition and a socket is still a socket even all these years later.
As you said, being aware of this lets you optimize away cache misses by controlling the memory access pattern.
Disclaimer: I work for HERE Technologies.
I get that there is a learning curve for Unix. However, a complaint about a "proliferation" in the context of a tool which is decades old seems a bit off. The response here of "just install Python" doesn't work for $random_unix for a variety of reasons. Such reasons include lack of root access or business rules which prevent modification (such as for a production system where you do have root access).
> Python can be substituted with another Turing-complete language. Why not just use libraries and abbreviate them for command line use?
This suggests that we take a tool such as awk which is decades old, stable and efficient and replace it with an equivalent implementation based on an interpreted language. This process would take years to complete and then would end up with a tool which consumes more resources and is slower than the original. I don't see the payoff here.
Both of these would be serious issues for operating a modern, large scale farming operation.
Being able to get service in the field quickly is critical during planting or harvest. During these times downtime can be exceedingly expensive if the farmer is trying to beat some change in weather.
And sure you could try and get someone other than the dealer to work on it, if you can find them. But trying to find this person when your equipment is broken and you are burning money isn’t a great option and the dealer will probably favor servicing clients who bought equipment from them.
AFAIK, this unfortunately wouldn’t be possible to implement in Python though because I don’t think there would be any way to know how much space to allocate for each item in the list.
And yes, the PE contribution is harder to measure and the risk is there that others won’t see it. If you aren’t comfortable with that risk, then don’t go for the PE role.
Which is OK! It doesn’t have to be “up or out”. For me PE is as high as I want to go. I have no desire to deal with the stress and risk of moving up past PE.
I’ve also intentionally moved from a PE at my precious job back to being 100% IC in my current company and then a few years later back to PE where I am now. I did that to build up a slightly different, more marketable skill set.
Most people aren’t data-driven.
Parents, teachers, guidance counselors etc are also part of the problem.
If I just sit in my ivory tower dishing out advice, the advice will eventually become useless.
Also, it’s ok if you don’t like that. If you would rather just be in there getting your hands dirty solving that one hard problem with no interruptions, then I think you should do that. You’ll be happier. Probably the increase in happiness is worth it even if you have to “pay” for it with a slightly reduced salary.
I view cell phones as just too addictive for young children. This has given them the opportunity to cultivate all sorts of interests like books, legos, playing outside, etc. I’m not saying that cultivating these interests is impossible in the world of tech, but it’s even harder for children to resist tech than it is for adults.