Erik M. Buck
I co-wrote Cocoa Programming and Cocoa Design Patterns. My newest book, Learning OpenGL ES FOR iOS: A Hands-on Guide to Modern 3D Graphics Programming will be on shelves in August.
I founded my first company in 1993 and built it into a leader in the aerospace and entertainment software industries before selling its intellectual property to a Fortune 500 rival. I've worked in construction, taught science to 8th graders, exhibited oil on canvas portraits, and developed alternative fuel vehicles. My latest startup venture is cosmicthump.com. I'm also an Adjunct Professor of Computer Science at Wright State University and teach iOS programming.
I have more than twenty years of experience designing and developing production C++ software for real-time embedded systems, and I'm a long time proponent of the Objective-C programming language.
Write less code.
Steve Jobs famously observed, "The line of code that is the fastest to write, that never breaks, that doesn’t need maintenance, is the line that you never have to write."
Consider the parable of Richard and Jane. On Monday morning, both are tasked to correct a high priority software defect reported by customers. Richard quickly spots the problem. By Tuesday, Richard has designed a software patch affecting three modules of code. After writing a few hundred lines on Wednesday, Richard is ready to commence testing on Thursday morning. By noon on Friday, every test has passed, and the software patch is ready for deployment as an emergency "hot fix." In contrast, Jane left work early on Monday. Planning meetings for the company's new fitness center consumed most of Tuesday. Jane called in sick on Wednesday, but she felt much better on Thursday after seeing the doctor. She was able to analyze the software problem Thursday afternoon. On Friday morning, Jane removed one line of code that was causing the problem, and the resulting system passed every test. Which programmer was more productive? Most companies reward Richard, but Jane was far more productive and saved the company untold long term maintenance costs.