The rover is mostly autonomous. It takes minutes to hours to send a message and you can only transmit data in limited periods of the Mars day. The rover itself can talk with earth, but that link is slow. It can also talk through satellites orbiting Mars, using them as an uplink. This is faster. The consequence is that the rover must act on its own. We cannot guide it by having a guy in a seat with a joystick here back on earth.
For nearly 7 years I’ve worked at 3 big software companies - all of them with tens of thousands of employees. I also had 5+ years working in research environment, at startups, consultant, or by myself, what gives me a more complete perspective to look at big companies.
Throughout the time I’ve worked at big companies, I had many philosophical conflicts between what I was experiencing and what I felt was right for myself. In this post I reflect on these conflicts and the my current stand on big companies.
Not to give much away upfront, but overall making sense of what working at big companies means is an extremely fascinating experience at the end of the day. Although oftentimes this experience may not align with your personal values and how you want to spend your life, it’s definitely quite challenging and provides lot of personal growth opportunities. On the other hand, even if not evolving at the pace you might want, there are lot of hard/soft skills that can be learned at these companies.
Enough said. Let’s start with the positive aspects and then get to the more contentious ones.
I’ve recently had to upgrade a machine, and have tried to set up various things to happen at initialisation (or “initialization” if you use American spellings). In the process I’ve had to look at which files get read and executing during the startup, and I thought I’d make a little diagram to share my findings, and record them for my own reference next time I have to do this.