What we don't teach or reward today is the behaviors and engineering process to write high quality code.
A surprising number of inexperienced developers do the following: "once I get any working solution I should immediately open a PR" and let the senior engineers tell them what's wrong with it.
When the big money leaves this field I hope there will be more pressure for people to adopt good engineering practices. I love to work with folks who put good effort into trying to make high quality changes. Personal initiative and ethics are how high quality software gets written.
Wow! What do you work on? Is the problem the ability of the candidates -- do you think it's possible for a "good" engineer to get productive on six months?
There also used to be Triplebyte. It filled a niche of talented people who have bad resumes and don't know anybody. Found a great job through them when I was starting out.
Real shame there's nothing to replace it, there's huge arbitrage in the market of good people who don't know people. If I were starting out now I don't know what I would do, how do you even meet people.
There is an excellent old book on the subject, How to Win Friends and Influence People. I was lacking in this area and my career improved greatly after reading it.
In general, people are cautious when giving criticism because it carries implications.
Say a manager gives negative feedback to a subordinate. The subordinate now believes the manager doesn't like them. The subordinate follows the standard advice: start looking for another job. Manager now has the larger problem of hiring a replacement.
It's best to reinforce positive behavior. Little trick I learned: compliment people. Find an reason to say "nice work" on every code review. DM people and say "nice presentation", "great design". It works.
I was a grader once. I guarantee if someone gives a good answer they'll get full marks even near the bottom of the stack. For BS answers I'll admit I got less generous as the hours went on.
No one's getting hurt by this system if it's randomized. It's a matter of graders giving out partial credit for wrong answers which is discretionary. Rarely students are granted a small mercy. Seems OK.
> Until the robots can do all of the tasks above and quickly switch from one to another and be highly adaptable in real time based on the needs of the restaurant
Ideally if your robots cost less than $20/hour you can buy enough of them to do one job each.
> I like to be on teams for which, if new to the team, mostly you notice things being done sensibly (in context), and the 3 things you see that you don't understand, you can just ask about them, because everyone on the team just wants to work well together to achieve the genuine goals.
I've observed this kind of culture mostly at startups. Once places start to make a lot of money -- things become political.
So if you want to work at the highest paying jobs, you'll have to deal with politics. Because once they make enough money to afford you, the company also makes enough for savvy gatekeepers to entrench themselves in a core system and carve off a piece of that revenue for themselves.
A surprising number of inexperienced developers do the following: "once I get any working solution I should immediately open a PR" and let the senior engineers tell them what's wrong with it.
When the big money leaves this field I hope there will be more pressure for people to adopt good engineering practices. I love to work with folks who put good effort into trying to make high quality changes. Personal initiative and ethics are how high quality software gets written.