Hacker News new | past | comments | ask | show | jobs | submit login

I've worked at both Apple and Google, as a SWE. I found very few engineers at either company who are phoning it in. There is great passion in both organizations. I also found engineers to be very vocal internally at both companies, Apple at least as much as at Google. Apple engineers absolutely do not "fall in line" without a fight.

Google is definitely more open in the way you describe, both in terms of collaborating internally and externally. "Googlers switch products often" matches my experience. The transfer process is easy, and hiring managers are welcoming.

The downside is that your team is constantly in flux, making it harder to build relationships or friendships. It is not healthy for a team to be constantly changing; it's better to have stable teams, where contributors can develop deep expertise and collaborative relationships.

At Apple, you have greater chances for meaningful ownership. Software teams are generally smaller, so your responsibilities are broader. Product direction is top down, so what you work on is more likely to actually ship.

Google's "bottom up" culture makes it easier to start up a project. But it also results in duplication, and a sense that the company isn't really committed to your product. My work at Apple mostly shipped, but my work at Google was mostly scrapped. It's frustrating to work on projects that are cancelled, through no fault of your own.




I'm curious which years you were at Google? The bottom-up culture has been dead for the past 2 years, and a deluge of projects were canned in the past 12-18 months. There's really zero chance now of starting your own project at G and building a team around it.


I left literally last week. I looked for other positions internally, and I did get the sense that there were lots of "startup opportunities" within Google. Cardboard is an example of new-ish team, in the process of ramping up.

I wonder why we saw things differently? I stayed away from the big central codebase (you know the one), instead working in Android and Chrome. Maybe the bottom-up culture is more vibrant on the periphery?


Perhaps that is part of it. I did work in the main repo. I was looking into some of the teams under the Android/Chrome org before I left, but none of it seemed too different to me despite seeing some new projects. They didn't seem like bottom-up initiatives though.

AFAIK 20% time is dead, and has been for > the last 2 years. People only use it to try out new teams before transferring.

But I never did get access to the "other" codebase, so you know more than I in that respect. :)


I think that's true but scrap and pivot is generally what the startup experience is like, so if you aren't accustomed to failure and throwing away work and uncertainty as to whether you'll ship, you might not like the startup experience.


> It's frustrating to work on projects that are cancelled,

I'm going to guess you're fairly junior in the profession?

The more time you spend writing code, the more you realize that most of your projects will never, ever ship. That's just how the gig goes.

And it's okay. As an engineer, you should be looking forward more to the journey and how much you'll learn working on that project than anything else. Once in a while, you'll ship and you'll feel pride knowing that millions of people are using your code, but that's the exception, not the rule.

Enjoy the journey.


I have 12 years of professional experience. In that time, most of what I worked on shipped. It would be a serious failure if we committed to a feature and were unable to deliver it. To be fair, I have tended to work on mature products, which have predictable lifecycle. Perhaps you've had a different experience because you've worked for startups or on early development?

Anyways, the way I see it, if I'm OK with my project being cancelled, I am working on the wrong project. We should not be comfortable with delivering results "once in a while."


90% of startups fail, ergo if you're working in a startup and have a better-than-10% chance of your code shipping then you're doing it right.


Apple was famous for building multiple prototype versions of a product internally and then scrapping all but one pre launch.




Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: