Course code: WEB-25
  • Years with company: 21
  • Years programming: 26
  • Primary programming language: Objective-C
  • Other programming languages: C++, C, Swift, Lua, Ruby
  • Unit test harnesses: Ruby's "RSpec" (but not extensively).
  • Something else: Prior to working here, I worked at a small Design of Experiments training company, writing statistical software.
  • Test practice now: Most testing is done by walkthroughs of the actual app (no formal testing infrastructure). Since my work has a strong focus on custom UI implementation, and less focus on data models or computational engines, unit tests have less immediate relevance, and I haven't yet seen a UI testing framework that was worth the hassle.
  • Target system: iOS 12 and 13, both compact and regular layout. I work on a cross platform app team (Mac/Win/Android/iOS); my work is almost exclusively in iOS, though I do deal with much code that is shared between the platforms.
  • Dev tools: Xcode, Perforce (soon to be git), macOS command line. Python scripts which generate the Xcode projects. Collaborator by SmartBear for code reviews.
  • Build time: 1-5 minutes
  • Coding standard: Don't understand the question.
  • Function too long: When I can't clearly describe what it does in a sentence.
  • Code reviews: All submission are reviewed by at least one other person, using Collaborator (by SmartBear). Check in comments must include the review URL.
  • Code time: 30
  • Test time: 10
  • Debug time: 60
  • Favorite thing about dev: Opportunity for creativity in designing object responsibilities and interactions. Optimizing for performance.
  • Least favorite thing about dev: Debugging semi-reproducible (or not reproducible) bugs. If I can consistently reproduce the bug, I'm 90% of the way to fixing it.
  • Tdd knowledge: I've dabbled with it, and enjoy what little training I got on it (in Ruby), but I don't believe our current work environment (C++ very large code base) is as amenable to it as a small scripting project.
  • Why are you attending: Was asked by management. Not my first preference. My opinion: the company needs to increase the resourcing/infrastructure for automated testing before asking developers to just "write more tests".