| I worked a decade in the DoD, and then another decade in various tech companies. I was laid off from a startup 12 months ago. There are definitely pros and cons of both sides. Here's my take on working for the DoD: - PRO: Having a long tenure means you really get to know the software systems you're developing, and the people with whom you're collaborating. - PRO: Lack of commercial / profit pressure lets you focus on what seems good for the country, rather than for stockholders. - CON: Congress is insane. They still haven't passed a defense budget for FY24. The DoD is the only employer I've ever had that missed payroll. - PRO/CON: Supporting the U.S.'s military might is good or bad, depending on how it's used. A lot of soul-searching may be required to do the work. But working for the private sector can also feel awful, especially in this age of surveillance capitalism. - PRO/CON: The pay is okay-ish compared to the private sector (PRO), but there's no potential for major bonuses / RSUs (CON). - PRO: Layoffs are far less common than in the private sector. There's no boom-and-bust cycle tied to interest rates (AFAIK). - PRO: The hiring process is 10000x better than what I've endured from the private sector since being laid off about 12 months ago. No LeetCode tests, no 5 rounds of interviews followed by being ghosted. And yet, despite the far simpler hiring process, my corner of the DoD generally managed to hire good people. - CON: Bureaucracy. It can be soul-sucking. But since leaving the DoD, I've learned that it's just a symptom of massive organizations in general. E.g., I encountered a lot of the same frustrations working at Intel under Brian K and Bob Swan. - PRO/CON: Physical facilities. At least where I worked, the DoD offices were generally run down compared to typical big-corporation offices. On the other hand, the DoD workspaces weren't under financial pressure to maxize programmers per square foot. So there weren't any open-office floor plans. Everyone at least had a cube, more senior people generally had offices. - PRO: No significant ageism. If you start working for the DoD, and don't egregiously screw up, you don't need to worry about being laid off because of your age. But beyond that, many of these systems / problem domains have long learning curves, so long-tenured developers generally command a lot of well-deserved respect. ** Right now I'm actually interviewing for private sector jobs (Microsoft) and DoD jobs. I might have to take an offer from Microsoft because of financial considerations. But I'm also kinda hoping I end up back at the DoD. |