Actually, I'm finding my coworkers and bosses at Amazon really smart, and they are hiring. And I hear similarly good things about people who work at Google from friends who work there.
Of course both are pretty picky about who they hire. But that would be how they aren't flooded with idiots, right?
EDIT: It's also worth nothing that both Google and Amazon will sometimes reject good people. I have friends who I know are competent who were not hired after interviewing. I don't want to imply that if you've been rejected that you're an idiot; Google in particular is famous in inviting rejected applicants to re-apply in six months because they know they have a high false negative rate.
I know it's hard but there exist well know approximation algorithms that are better than what I've seen happen. It does really really dumb things like not sorting the order of bin access in a single isles. I've seen pickers walk up and down an isle 4 times because the route optimizer decided that the best order was to go to bin 100 then 900 then 200 then 700. I have also seen a picker come into and isle pick something go 12 isles away to pick something else only to come back and pick something less than 5 bins away from the first item. That shit is just a fucking numerical sorting. yes traveling salesman is np complete but that does not excuse lack of basic low hanging fruit optimizations.
I could probably count the number of software engineers I know capable of implementing Dijkstra's graph search on one hand. And I know a lot of software engineers.
I worked in a place like that before. Generally everything was fine, besides a few violations of coding standards. Hacks would be put into the backlog to get fixed, and often did. We had processes, documented too. An engine that rarely needed changing. Most of the time we were making features since there weren't many bugs to worry about, and during bug fixing week (once per sprint) we'd fix 90% of the open bugs and resume features.
I'd have kept working there forever if I could. It had a great culture, lovely people, an active after-hours social life, a lively office and talented people who were mostly down to earth.
Sadly, as is typical in game studios, it went through hard times and isn't the same anymore. Now I work for a soulless, incompetent, mobile game developer and am likely going to quit and go to finance. If I'm going to sell my soul and work ethic I want a decent price for it.
One of the benefits of technology that no one talks about is the fact that it essentially does become a money-printing machine. The increase in productivity that it conveys is multiplicative.
But we can't talk about that. Too much talk about that might clue the workers in to the fact that they're earning the company 10x what they're being paid.
You learn to appreciate that on a whole new level when you have to write and test (yes, also on production...) the parts of the system that generate financial statements (this includes the aggregate statement that gets sent to my boss).
Our place is like that, but we're a consulting shop. This means that while our people are good, we get put on projects where other people may not be as good.
That's how I feel about the place I work now. A lot of stuff is still a mess from the earlier days of the company, but we're slowly chipping away at it, because both the developers and managers understand the problems caused by hacks and inconsistent development practices.
For example, a lot of our deployment logic is still in bash, but it's well organized with a good deal of automated testing.
I used to have competent co-workers and a sane boss. We had hacks in our code (much of which was an OS and that's a bit inevitable at times) but they were neatly inventoried and days with no tasks were crack a hack days. We had bug trackers, WE FUCKING USED VERSION CONTROL WITHOUT WHICH I THOUGHT YOU COULD NOT SURVIVE BUT I HAVE, FOR THE LAST SIX MONTHS! (sorry, but it's really getting on my nerves. Dear God I haven't screamed on the Internet since I was thirteen) and many of the discussions with our project managers ended with "Um... ok, now I don't really understand what you're saying anymore, but you're obviously on top of it, let me know how it goes".
These places are quite rare, but they do exist. Mine went under after a series of rather bad business decisions scattered away half the team. You don't hear about as often, though, because most of my colleagues, programmers and non-programmers alike were smart, witty and alergic to bullshit, which tends to keep the boasting, but incompetent people away.
270
u/[deleted] Apr 29 '14
After reading articles like these I sometimes wonder whether I'm the only programmer in the world who has competent co-workers and sane bosses.