4 ms·
In my 10 year career, I've done 2 startups in the Bay Area (both early, one I left after Series A, another one I left after Series C) and more recently Google,
by deanmoriarty 8y ago
In my 10 year career, I've done 2 startups in the Bay Area (both early, one I left after Series A, another one I left after Series C) and more recently Google, and I can say the level of talent doesn't even compare in my opinion: from my experience, the engineers were so bad quality that I was feeling depressed and wasting my time most of the time (and constantly saying to myself "am I just a jerk in thinking of everyone else as doing bad work?").
Typical thing, that really happened: a coworker at a startup ("senior engineer") had to do some calls to a very simple HTTP API from an embedded C++ component. She proceeded to hand craft her own HTTP requests and manually dispatch them to a manually instantiated connection using sockets, and then manually parsing HTTP responses (!!). I suggested to not spend time on such irrelevant code, I was ignored. Management didn't chime in.
She kept having problems and problems once that 100s-lines long thing hit production, as you can imagine (every software engineer should know that writing a network client from scratch is not easy!): finally I broke down, linked libcurl in the application, and in 2 hours and 30 lines of code I had the whole thing solidly working. And that's how I afforded working 40 hours a week instead of 60.
At Google, this would never happen.
- reallydude 8y agoSome developers use work as an excuse to try something new (or to do something different). This was probably someone who thought a problem was easier than they imagined. Hubris comes hand in hand with experience (seniority?). These kinds of initiatives happen all the time in every company, including Google. A team lead generally would quash this in the interest of reliability/safety/etc, I think.
- pnw_hazor 8y agoAre you happy helping google do what it does? Building a surveillance society and monetizing people? I think that it would get to me after awhile. Though when younger I probably wouldn't have thought too much about it.
- deanmoriarty 8y agoI am actually very, incredibly proud and happy of what I do. First of all, selfishly I am learning like crazy. I am able to work on the world's most advanced software defined networking implementation in Google Cloud, and it's just amazing and mind boggling. Second, I create real value for a lot of people: the reliability I help improve has a direct effect on the happiness of the Google Cloud customers that run on our platform. Third, even outside my Cloud business unit, while no company is perfect and there are clearly issues around data usage and centralization, I still think Google's effect on society is wildly and massively positive, it improves all our lives like not many other companies have ever done, so I have no problem at all working here. But that's just me, I have no problem in accepting that your opinion might be different and you would never work there for ethical reasons, your (my?) loss :-)
- pnw_hazor 8y agoI am curious how reasonable people with many options of where to work turn a blind eye to what their companies do. You are correct that no company is perfect, but some are less perfect than others. It seems many people like just shrug their shoulders and move on pursing the fun projects they are well-paid to work on. Such is the human condition.
- joshuamorton 8y ago>I am curious how reasonable people with many options of where to work turn a blind eye to what their companies do. In my case a lot of it comes down to me, as an insider, knowing that you're wrong. "Monetizing people" is sort of meaningless. That's an objection to capitalism, if anything, not Google. Google no more monetizes people than a bank, or a rideshare company or even a university. Short of maybe fundamental research, you're not going to find a job that doesn't monetize people under some interpretation. As for a "surveillance society", I don't really think that's true. The care my coworkers take with user data is, in a word, significant. There are certainly things that Google has done that I think aren't ethical, but I'm much better positioned to be aware of and change those things as an insider than an outsider. And then of course there's the multitude of selfish reasons: compensation, interesting technical work, intelligent coworkers, etc.
- tomnipotent 8y ago> At Google, this would never happen. At a startup, a flawed but functional deployment today is better than a perfect deployment tomorrow. I've never heard of a startup that was successful because it got software right in it's early stages.
- AlexB138 8y agoSure, that's generally true, but in his example the developer actually spent significantly more time and effort on their bad implementation. It was the worst of both worlds, flawed and tomorrow, so to speak. I've seen people do things like this more than once, even talented people. They some how get an idea in their head and go way down a rabbit hole without stepping back and realizing it's the wrong design. I think that pattern is more possible in small companies because they are less likely to have their work reviewed often, do formal design sessions, or be pairing with another experienced engineer. I don't buy that things like this don't happen at FAANGs because they are just oh-so-much-better, I would guess it's mostly because they have more mature practices.
- dleslie 8y agoThat's some incredible anecdata. ;) I've worked at _very_ large multi-nationals where, in my anecdata, I've seen such hand-tuned monstrosities deployed.
- jboy55 8y agoAt a Startup, especially one that's "long in the teeth", the senior engineering team are those that have been there the longest and have the largest institutional knowledge. "Why are there 4 unique keys on this table named masterkey, masterkey2, mk1, mk4?" Principle Engineer. "Well, the masterkey indicates which key this was mastered on, if you check the masterkey db, which is just "id, timestamp, masterid", this is required to comprehensively log the creation date of the row to maintain the db's audibility in case of SOC audit. masterkey2, refers to the masterkey2 db, which contains "id, timestamp". Any change to the row requires an update to masterkey2, again for auditbility for last modification reason. mk1, contains "id, userid". Which is the user that created the row. Finally, mk4 refers to the new mk4link table, which is a LinkTable that links the main table to the mk4update table. mk4update is 'mk4id, username, timestamp, creator' and contains a list of any changes to the table and a flag indicating this is the creation date. Have you done a SOC compliance report before? No? Well, all of this is mandated by the SOC compliance, its kind of ugly, but it works and is absolutely required."
- sgustard 8y agoI get it, you've been at some bad startups and choose to generalize that experience. I can assure you I've worked in some large successful companies with building after building full of the dumbest people you've ever met.
- xemdetia 8y agoThis situation is common in acquisition/acquihire scenarios. The critical people end up leaving because they have the skills to move on or the new leadership above them becomes grating, and many other people end up being left behind. This leaves a piece of software/sub-organization that's making money but can't take it much further than where it was left when these people moved on. It is possible to not end up in this kind of situation but in my experience this was the most common reason why there was a whole floor of people without skills or leadership somehow staying on as a zombie.
- kevstev 8y agoInterestingly, I have had the opposite experience. In a legit startup, at least one that is pre-significant revenue, when you are still looking for "market fit" (aka bleeding money), you don't have the time to reinvent the wheel. Its more like "Please god let there be some reasonably workable library already built for this so I can focus on the important stuff!" Bigger companies IME, tend to be the ones that can afford to reinvent the wheel, and also tend to have the ~~arrogance~~ size to feel that they are a special enough snowflake to eschew something off the shelf and build something custom tailored exactly to their needs. They also have big enough budgets to be able to spare the manpower on it. My experience has been largely in the financial space, maybe that is the key difference.
- eanzenberg 8y agoRight.. at Google, you have immense numbers of people work on entirely useless products that get canceled a year later.
- deanmoriarty 8y agoI shouldn't reply, but oh well: > people work on entirely useless products that get canceled a year later. You just described 99% of startups :-)