random32840
Great advice if what makes you happy also happens to be lucrative. I did this, and it was a huge mistake I'm still paying for 7+ years later.
2. In my opinion it's cliche to say "social skills are more important than just the ability to program". Totally depends on what you're actually doing. If your job is to optimise server farms, they're going to pay you based on how many CPU cycles you save, not your ability to present to management. If you measurably reduce power consumption, you could be completely mute and it would be fine. You'll earn crazy money.
Play to your strengths. If you have poor social skills, find a niche where that doesn't matter. A good heuristic is whether performance is measurable. If it is, it matters less that you have trouble communicating it.
3. "Minor in Something Fun" is common advice & fine if your degree was cheap. It's terrible advice if you're going into $150k of debt. If something goes wrong in that situation, you're screwed. Minor in something that you can fall back on.
What if you develop RSI and lose the ability to type large volumes of text? That's the point of a minor, it's a backup plan. Life is unpredictable, when you have $150k of non-dischargeable debt it's much better to have a minor in "engineering" than "ultimate frisbee".
[1] https://cdn.statcdn.com/Infographic/images/normal/4467.jpeg
But bear in mind San Francisco is incredibly liberal, SF programmers even more so. Companies based there will make overtures toward diversity & inclusion rhetoric to keep their workforce happy.
You need more context to evaluate something like this.
That seems like it would be considerably more effective, because you're removing the noise/overhead of parsing the text and giving a much clearer model of what's being manipulated to the AI.
If AI gets to the point where it has a reasonable understanding of the shape of the data & the basic spatial manipulations being applied (not far off IMO), I'd expect it to be waaaaaay better at discovering certain types of new algorithms than humans. It can handle thinking about algorithms that have millions of independently moving parts in a way a human can't.
Humans have the edge deriving algorithms that require a sequence of high-level steps on an abstraction. "Do this, then we get a thing, then we do some stuff to the thing, stretch it, squash it, massage it." AI sucks at that, it doesn't think in the same kind of flexible abstractions.
But imagine if you build an understanding of how the code will be compiled & how that will interact with the cache into the AI. That's very difficult for humans because you can't think about all those mechanics at once, we have to focus on one at a time. An AI that really gets it? I could see it writing a better sorting algorithm for a specific, complex datatype than a human could, or at the very least having the competetive edge because it can do it basically instantly.
I doubt it'll stick.
> What Google is asking of Podcast Addict would be comparable to Google asking Google to remove all references to the websites and social media posts that reference the coronavirus unless the reference comes from an official government entity or public health organization.
What I'm really trying to fish out is: if a developer is significantly better than the competition relative to his years of experience, how is he supposed to communicate that? How does he actually get paid commensurate to that extra effort? In your experience is it even possible?
As far as I can tell the only way to really do that reliably is either work on a respected product & basically make an impression outside your company (crapshoot) or show what you can do via open source. I can't see how I could communicate it otherwise.
The clearest example is how much energy we spend modelling other humans' thought processes. We spend so much because a simple permutation of tit-for-tat isn't sufficient - it will lose. It's an arms race to use complex strategies, an outcome which is specifically precluded in the model. I'd argue the fact observable reality is so divergent from the model means we should be skeptical of the applicability of the model.
Does the distinction matter at your company, or is the primary metric "good enough"? Is this industry standard, or does it vary by company?
You can write a perfect tic-tac-toe program with relatively simple rules, but an evolutionary strategy will wipe the floor at Go. This kind of modelling has value but real life is incredibly complicated, complicated strategies destroy simple ones as the rules of the game become more complex. Our brains are extremely expensive organs, and they're built that way for a reason. I think people are way trigger-happy extrapolating models like this to the real world.