A common tendency when looking for software developers is to focus closely on their background in specific programming languages. As previously discussed in Why Do You Hire Programmers?, unnecessary focus on a specific language can lead to other, more appropriate options being overlooked.
A second hazard arises in that, by looking for language-specific experience, this [...]
In 1999, I accepted a programming job with a company selling voicemail service. When it came time for the boss to demo the company’s product for me in full, he wanted to show me some feature that needed my PIN to be entered. Rather than having me enter it, he turned to his [...]
February 27, 2009 – 16:54
The First Rule of Program Optimization: Don’t do it.
The Second Rule of Program Optimization (for experts only!): Don’t do it yet.”
- Michael A. Jackson
If you spend much time with people who have any involvement with software development, you’re going to run across a conversation about optimizing software. Either the program is too big or [...]
February 25, 2009 – 16:00
In Validation Vexation, I wrote a bit about ways that validation rules for user-entered data can go awry by being too narrowly-defined. This post adds three more principles for dealing with data validation which are primarily focused on the results of the validation rather than the rules used to do it. The examples [...]
February 16, 2009 – 16:21
Near its end, the CyberPenguin case study mentions the discovery of “some small accounting inaccuracies”. To be exact, users were occasionally being double-charged for sessions.
If you’ve done much software development, that statement alone should be enough to have you thinking “concurrency issue” or, more specifically, “race condition”. Given that the application involved both [...]