Time flies. It’s been almost a year since I joined CityView. Time to see how we perform on the Joel Test, the brain-dead questionnaire developed by Joel Spolsky to measure the quality of a software company. Here we go.

The neat thing about the Joel Test is it’s easy to get quick answers. Just answering yes-no, you become cognizant of the standards of your development team.

  1. Do you use source control?
    Yes. Git and SourceTree.
  2. Can you make a build in one step?
    Yes. I click Alt + Enter, and Visual Studio builds the solution for me. I can push it to trunk in a single click.
  3. Do you make daily builds?
    Yes. We push to the trunk multiple times a day, and the entire source tree is built each time.
  4. Do you have a bug database?
    Yes, OnTime. It’s old and buggy, but it works, and gets the job done.
  5. Do you fix bugs before writing new code?
    Yes/Kind of. There are no breaking builds in the trunk, and bugs are crashed on an ongoing basis, without delaying the development of new features.
  6. Do you have an up-to-date schedule?
    Yes. Weekly meetings to plan and schedule the releases.
  7. Do you have a spec?
    Yes. All the latest development is done based on the specs of the legacy product.
  8. 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.
  9. Do you use the best tools money can buy?
    Yes. I have super-beefy hardware, and the latest windows licenses on pretty much everything. Compared to a typical enterprise shop, we are miles ahead on the tech stack.
  10. Do you have testers?
    Yes. Two, for eight developers, and they are pretty good.
  11. Do new candidates write code during their interview?
    Yes. I did write actual code in Visual Studio during my interview, and I have seen others do. No bubble sort. No riddles, thankfully.
  12. Do you do hallway usability testing?
    Yes/Kind of.

I realized a few more points while writing this post, which makes working at CityView worthwhile as a developer.

  1. 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 VC. It’s much, much more difficult to adhere to the industry standards, remain agile and follow the best practices when the company has been around for 36 years, without letting entropy kick in and letting bureaucracy take over, at the same time remaining profitable.
  2. 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.
  3. 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 ;).
  4. 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.
  5. I get to work alongside with the best back-end and front-end developers, every day. Period.
  6. Working Managers. Fortunately, there are no 28-year olds with fancy MBAs telling developers what to do. Management comes from the hard disciplines of programming, municipal software, and sales.