10 ms·
Ask HN: Which companies have the best engineering culture?
What do you like so much about them?
- deleted 8y ago[deleted]
- sidcool 8y agoThoughtWorks is pretty cool for a lot of reasons.
- ocfx 8y agoWhy? I'm near them...
- handbanana 8y agoGo on...
- sidcool 8y agoI would be happy to answer any questions about the company.
- napo 8y agoWhat are the reasons that make ThoughtWorks cool?
- sidcool 8y agoThere's a lot of freedom engineers get in choosing projects. There are teams that are dedicatedly working only on open source projects. ThoughtWorks organizes a lot of free events and workshops for technical development of the community. There is a big social component in every initiative, be it increasing diversity, equal pay, training women in tech etc. There's a lot more and I am happy to answer any questions.
- handbanana 8y agoHow about describe a typical day in the life of a software dev there?
- sidcool 8y agoIt depends a lot on the project. Usually it starts with a team standup and walking the physical wall. The usual one minute status on the story, and in case of any impediments, a call out. Regular checks on emails, chats etc. may follow. Most of the day goes into pair programming on the planned stories for the sprint. Usually TDD is preferred, but the pair decides their style of working. Tests are a must. Usually there's a build monitor to track test failures. Tech huddles are called in case of important technical decisions or if there are hurdles. Stories start with a Kick-off to dissect all aspects of it in detail. These are attended by business analyst, quality analyst, tech lead and the pair. Dev box testing helps catch defects early. So on and so forth. There are sometimes evening meetings with clients depending on time zones, availability etc. Features are demoed in this meeting to get feedback even before they are deployed to Dev or Staging. Overall the org is unstructured but empowering. There's very little hierarchy.
- handbanana 8y agoI did think they were pair programming oriented, how unfortunate. Are you tied at the hip to your pair? Can you come into work, take lunch, leave work, vacation, and go to the bathroom on an entirely different schedule to your pair? Essentially, does pairing erode autonomy and freedom to a degree? The rest doesn't sound that bad, but also nothing spectacular
- sidcool 8y agoMostly yes, pairing is encouraged. But individual preference is respected. Pairing does tend to be highly collaborative, though I won't put it the way you have. Pairing obviates code reviews. It's not applicable everywhere, but wherever it is, the benefits are very obvious and apparent. What would spectacular look like?
- reggiepret 8y agoI have read 37Signals (Basecamp's) employee handbook, and it sounds like a great place to work, and their tech works really well!
- ianrtracey 8y agoAtlassian's is great
- handbanana 8y agoGo on...
- ianrtracey 8y ago20% time that people use. Quarterly hackathons that the whole company partakes in. Healthy budget for travel, classes and conferences. Engineers have lots of weight on product decisions and ideas. Cloud teams use modern tech stacks and are doing cool things with infra/AWS. Founders are highly technical and still like to be involved in some high level technical decisions.
- pc86 8y agoAre the hackathons during work hours? Maybe that's how they get some of that 20% time back :)
- atlastian 8y agoI visited Atlassian's Sydney office. There was a sign on the fridge in the kitchen attached to a function space that had 'guidelines you've had too much to drink' Included on the list was 'if you're slurring your words, you've had too much to drink' as well as 'if you've started making unwanted advances towards colleagues, you've had too much to drink'. The fact that 1) They had a sign telling you not to sexually harass your coworkers 2) It happened so often that they NEEDED TO PUT UP A SIGN telling people not to do it any more made me decide I probably didn't want to work there. (This was 2015, maybe things have gotten better?)
- JBReefer 8y agoThe canonical answers seem to be: * Fog Creek * Stack Overflow * (sometimes) Microsoft (private offices, supposedly going away) * RedHat Basically anywhere that passes the Joel Test. In my experience, that seems to be accurate - with more emphasis needed on a quiet, low interruption environment.
- TooBrokeToBeg 8y agoThe people I talk to, from Microsoft. Disagree. The politics are brutal and the infrastructure brittle and constantly changing (with all the overhead and oversight of a high-security industry like finance) until nothing really gets done.
- gfo 8y agoThat's true of the political battles at any large company. However, the question is asking about engineering culture. Sure, company politics can interfere with this on occasion but it's rare. I read the question more as, "Which companies have the best philosophies regarding how engineering should be done?" Could be a difference of course, but it's not clear.
- nlawalker 8y ago"Microsoft" isn't really a valid answer to the question in my opinion. The company is huge and culture varies greatly from org to org and team to team. Even concrete stuff like "offices going away" completely depends on your team. There is an extremely thin line of commonality that you can pretty easily discern by reading blog posts and watching videos of the CEO and folks like Scott Guthrie; I find what I see in those communications to be genuine. (disclosure: At Microsoft, and liking the culture)
- bluejekyll 8y agolink: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/ https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...
- mlthoughts2018 8y ago
- muzani 8y agoIt's hard to judge without being in there. Most people can only judge from blogs by the founders, which is why Basecamp and Fog Creek get mentioned a lot. I'd say a good guideline is to stay away from open offices, or places with no monitor. Geek perks like mechanical keyboards are nice too.
- yurylifshits 8y agoJetBrains is among the best.
- handbanana 8y agoGo on...
- pdt256 8y agoCJ Affiliate I was sold when I read this statement: "We have business decisions made by business people, and technical decisions made by technical people. While we are accountable to fulfill business needs, business does not dictate our programming languages, tooling, technology choices, or even how we spend our time. It is common for engineers to solve technical annoyances on our own." Individual contributors are empowered to make decisions. I am a recent hire and our team has been mob programming because we decided that was the best way to move forward on a legacy project. We are free to choose when to pair program or work individually when we deem necessary. I cannot imagine going back to following orders from the highest paid person in the room. This is a true meritocracy culture.
- napo 8y agoSounds like the triangle of success. https://www.youtube.com/watch?v=yy0lEzhc8yo&t=29s https://www.youtube.com/watch?v=yy0lEzhc8yo&t=29s
- hetspookjee 8y agoI wonder about 2Sigma. I seem to naively assume that contributing to a lot of open source projects equals great engineering culture, and this company does seem to have a lot of lead devs from large OS projects.
- foobaw 8y agoI have friends that work there. They say it's great but at times it's ultra-competitive..
- mlthoughts2018 8y agoI've heard a lot of bad things about the culture there. The main complaint I've heard is that the company sometimes organizes new projects in a directly competitive manner: multiple internal teams will be assigned the same project and given the set of criteria for evaluating the work. Then at whatever deadline, only the team that "wins" gets bonuses associated with that work. It may not affect open-source teams though, only the finance side, and it could have changed since 2014-2016 when some of my former colleagues were there. I also think it's telling that Wes McKinney decided to create Ursa Labs. I know Two Sigma is partnering in the early stages, but I read it as clearly a sign that he wasn't empowered with whatever he was promised by them.
- gspilio 8y agoI recently started working at Asana and I was pleasantly surprised how people constantly strive to empower each other and make them feel secure in making decisions and picking up responsibility. Mentorship has been gret as well. It has been by far the best environment I have worked in so far.
- pspeter3 8y agoI'm glad you feel that way!
- gspilio 8y agoA small list of articles for people who would like to read more about life in Asana: https://wavelength.asana.com/work-life-balance/ https://wavelength.asana.com/work-life-balance/ (describes the fractal of work-rest) https://wavelength.asana.com/work-plans-high-level-objectives-roadmap-week/ https://wavelength.asana.com/work-plans-high-level-objective... (how we think about planning) https://wavelength.asana.com/workstyle-aors/ https://wavelength.asana.com/workstyle-aors/ (how we think about responsibility)
- mlthoughts2018 8y agoI once completed an intense take-home machine learning test for Asana, and the process of getting feedback for my solution was one of the worst, most political experiences I've ever had while interviewing. I don't know if I got paired with a bad engineer or what, but it was a hugely bad outlier in terms of machine learning interviews.
- gspilio 8y agoI am surprised to hear that. Would you be willing to share more details with me?
- mlthoughts2018 8y agoI actually mentioned it in a Hacker News thread a few years ago, and someone named Jack contacted me from Asana to try to provide feedback by email and help clarify what happened. While I appreciated the extra feedback, and the tone of the communication was reasonably polite, the actual commentary of the feedback seemed unreasonable and totally subjective to me. One of the key issues was that the code test on one hand encouraged someone not to spend too long, and to choose a simple statistical model and work on explaining how it works, but on the other hand the reviewer rejected it because it wasn't "results-oriented" or "focused enough on final conclusions." It seemed obvious that given the nature of the take-home test, nobody was looking for a model that definitively solved the problem or had amazing accuracy. Just something small-scale, but with a meaningful discussion of the trade-offs and basic discussion of how you fit a model, diagnostics, items you would work on if given more time, etc. But the feedback I got was that my approach needed to be more "results focused" and that in my write-up I was overly cautious to say not to draw any significant conclusions from a simple model on the toy data set or to read too much into a model that needed to be completed in a couple of hours. They said someone "couldn't thrive" in the Asana environment if they weren't able to work in a more results-driven and conclusion-driven way. I felt the criticisms were extremely subjective and political. As a candidate, I can't read someone's mind about how "results oriented" a vague take-home modeling assignment needs to be, let alone that I have limited personal time which I can devote to it anyway. I sank a lot of time into writing code for a reasonable "first attempt" kind of model, and providing some diagnostic charts and discussion. It felt like Asana really wasted my time on it, and that in the end the feedback reflected some unspecified and vague properties that couldn't be inferred or understood from the test instructions or talking with any of the engineers. It was just random. My same solution for the same test at another company might have been viewed as a great one, even from a "results-oriented" point of view because it would be unreasonable to expect that from a short take-home assignment. I actually got a job as a deep learning engineer not long after that, and then got my most recent job as a machine learning team manager. My experiences working on machine learning models in production and hiring engineers for my team has only reinforced to me that such a manner of take-home data science project is really a bad way to do things.
- commandlinefan 8y agoWell, I can definitely give you a long list of ones that don't...
- mkoryak 8y agoCatalant.
- acconrad 8y agoI've been at some great places. The problem with culture is it changes. I could tell you companies that are great, but they could change in 6 months if they get new management. I can also tell you places that suck now that were great a year ago. So then maybe the real test for great culture is if they can maintain it for an appreciable amount of time? It's a really tough one to answer.
- jshute 8y agoGoogle. monorepo with almost full visibility, code search/cross referencing/review tools, good infrastructure support, great videoconference and collaboration tools, a culture of written knowledge vs. oral lore, clear strategy in many parts of the business (loosely coupled, tightly aligned). Perks, pay, vacation are excellent. Work life balance is generally good. World experts in relevant subject matter are never far away.
- noir_lord 8y ago> clear strategy in many parts of the business Inside maybe, outside not so much. I wouldn't rely on anything google does outside Ads (not that I do), GCE and maybe Android. They have a (somewhat deserved) reputation for destroying services seemingly at random.
- jshute 8y agoIt may not seem it, but in many cases that is the artifact of a clear strategy. Evolution had left many corpses, too.
- bronson 8y agoGoogle's strategy is to create corpses? It seems like a clear strategy would avoid just abandoning projects.
- dragonwriter 8y agoBasically, yes; that is, their strategy is not to avoid taking multiple simultaneous efforts at solving the same broad class of problem, even if it is one where in the long term there is unlikely to be a reason to keep multiple solutions, and they also aren't afraid to take stabs at solving problems where they need a solution to exist but don't strategically need to own the solution. These strategic choices give them the best chances of having a viable solution either for the market as a supplier or for themselves as a user when they need it, but also makes the number of failed efforts they are going to need to kill higher than it would otherwise be. Or, in short, the strategy creates corpses.
- iamcasen 8y agoI'll toss my hat in the ring for SoundHound. I worked there a few years back, and it honestly felt like family. I was going through a lot of changes in my personal life so I decided to leave, but I regret that now. I should have stayed there for at least 4/5 years. Managers there really care about their reports, and their development. It's a relaxed, family friendly atmosphere, and the technology is truly the best in the world. The CEO is pretty much the inventor of deep learning, and they have nothing but good prospects for the future.
- bsvalley 8y agoWhat do yo mean by engineering culture? Sounds like a broad term. It depends on the company, the department and even down to the team. But from my own experience and friends feedback: - Innovation: Space X - Responsibility: Apple - Just chillin: Google - Perks: FB - Resources (hardware): Apple & FB - Resources (brains): Apple & Google through Acqui-hiring - Learning: Space X & Apple
- a-dub 8y agoThis stuff varies way too much team by team regardless of company level mandates. Your best bet is to apply to the places that seem like they might be aligned with your interests, and when one decides to move forward and produce an offer, use that time to really kick the tires and talk to the management and the ICs on the specific team you'll be working with. I've found that regardless of what sort of culture upper management may be trying to build, at the end of the day your experience will be mostly made up of the specific things you'll be doing and the people you'll be doing them with.
- knoxa2511 8y agoI've always been impressed with the work coming out of etsy. Statsd is a great example - https://github.com/etsy/statsd https://github.com/etsy/statsd