Time flies. It’s been over a year since I joined CityView. So far, it’s been one of the best decisions I have made in my life. Unless Microsoft comes up with a too good to resist offer, I don’t see myself ever leaving CityView, which could easily be the only company I ever work for. I don’t say this lightly, however. So far, I have declined fantastic potential opportunities with companies such as Amazon, in favor of CityView.
What makes me think this? Other than having had an amazing year at CityView working with some of the smartest people, I am relying on the industry wisdom. Twenty years ago, Joel created a test to rate the quality of a software team, which still stands valid. Now that I have worked at CityView for more than a year, I feel that I am in a pretty good shape to assess CityView R&D based on the following questions.
- Do you use source control?
- Can you make a build in one step?
- Do you make daily builds?
- Do you have a bug database?
Yes. It’s old and buggy, but it works, and gets the job done.
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
Yes. Thankfully, ours is still kind of an old-fashioned office with partitioned cubicles. I am eternally grateful not having to work in an open-plan office anymore. It was a disaster.
- Do you use the best tools money can buy?
- Do you have testers?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
I realized a few more strengths of the company while writing this post, which makes working at CityView worthwhile as a developer.
- A long, proven history. It’s easy to get a 12/12 for a new hot-shot start-up, which has been around for 6 months, and has got funding from VCs. It’s much, much more difficult to adhere to the industry standards, remain agile, follow the best practices and remain one of the industry leaders when you have been around for 36 years, without letting entropy kick in and letting bureaucracy take over, at the same time remaining highly profitable.
- Growing seniority, not hiring for it. Majority of the developers at CityView have made their careers here, unlike the frequent 2-year job-hopping we see in our industry.
- Prioritizing Learning. Within my first six months as CityView, the company sponsored my expensive subscriptions for PluralSight and Safari Books, and paid for my book purchases. The annual bonus doesn’t hurt, either ;).
- Not faking agile. We are agile, in the original sense of the agile manifesto, by favouring frequent, iterative releases, and having working software; not the crappy consultant/vendor version of ‘let’s call scrum/velocity planning/review/retro/backlog-grooming/triage meetings every other hour, and let’s plan more meetings to plan those meetings, and let’s forget actual customer needs and create huge epics and plan user stories, and let’s focus on worthless metrics and charts, and let’s waste everyone’s time by having daily stand-up meetings’ Agile. No need to sprint when you are running a marathon.
- Working Managers. There are no 28-year olds with fancy MBAs running around the office telling developers what to do. Management comes from the hard disciplines of enterprise software and enterprise sales.
- I get to work alongside with some of the best, professional software developers, who care about the craft of writing software, every single day. Period.