I was listening to Developer Tea [http://www.developertea.com/] yesterday and they were discussing the merits of having a personal blog and marketing yourself as a developer. I set this blog up last fall as a spot for me to journal. I think rather than using it as a journal, I will try to discuss mainly programming related topics from now on.

I will be discussing projects that I’m working on and new techniques that I’m learning.

This week, I’ve been exploring 12 Steps To Better Code [http://joelonsoftware.com/articles/fog0000000043.html] by Joel Spolsky. Going through this list, they don’t all make sense for me as a long coder working on a website. I’ll still go through all of them.

  1. Do you use source control?

    This one is easy. Yes, I use source control for all of my projects. It gives me such peace of mind knowing that when I make a mistake, I can quickly and easily fix it. My source control of choice is git but I won’t hold it against anyone for using hg.

  2. Can you make a build in one step?

    For this question, I’m going to say that build means deploy the current version of the site. The answer to this is yes. I mainly accomplish this by using the correct tools for the correct language. When I’m writing a traditional rails application, I use the asset pipeline. When I’m writing an angular app, I use yo, bower and grunt. When I’m not writing a web app, I still have a script that builds or runs the application.

  3. Do you make daily builds?

    This one is, I guess, yes. I make daily builds when I’m working on a project, especially for web development.

  4. Do you have a bug database?

    Yes. I tend to use GitHub (or at work GitLab) Issues for bug tracking.

  5. Do you fix bugs before writing new code?

    It depends on the schedule. Since I’m a one-man coding shop, I try to balance new features with backlog fixes.

  6. Do you have an up-to-date schedule?

    For loose definitions of schedule, yes. I try to put estimates on the issues that I open and assign them to milestones which have deadlines.

  7. Do you have a spec?

    This is a new one I can answer yes to. I recently (read last week) started writing a spec for my current project. I haven’t started any coding on it. One of the stakeholders came over and was talking to me about things he would like to see. Where we differed, it was so easy to update the spec with his requests.

  8. Do programmers have quiet working conditions?

    Yes. Bose QC15’s help a lot.

  9. Do you use the best tools money can buy?

    When I’m at home I do. When I’m at work, it’s a different story. I have some good tools but I wouldn’t say they’re the best. My biggest complaint is that I can’t get Sublime Text installed. I have to resort to using Notepad++.

  10. Do you have testers?

    Not really. I don’t always write tests, unit or otherwise. I’ve tried in the past but since until recently I had to resort to Cygwin, that made writing tests impractical.

  11. Do new candidates write code during their interview?

    Not applicable to me.

  12. Do you do hallway usability testing?

    If my wife counts then yes, I do. She gets tormented by me when I need an average person to test something.

In wrapping up, I came up with 11/12 which Joel says is tolerable. I have to agree. I can’t complain about my programming conditions. PS for those of you wondering about my cat Leon, he’s doing well. In my last post, he had developed Feline Diabetes. It turns out that cats can recover from diabetes. Scientists aren’t sure how but that’s what happened to Leon. He is back to his old licky, annoying self.