8,946 reputation
12038
bio website
location Melbourne, Australia
age 44
visits member for 2 years, 8 months
seen Feb 7 '13 at 13:27

By day, a mild-mannered software developer with a keen interest in those areas of computer science that deal with the psychology of human machine interaction, and how that affects the processes and principals which we apply to create useful software.

By night, I imagine I'm the coding rebel, defying all conventions and "sticking it" to "the man" while liberating the free-thinking and allegedly down-trodden cube rats that I resemble during the day!! Or, I have a vivid imagination and way too much time on my hands! ;-)

TechBlog
Blog
Opinion Blog
Twitter
about.me
LinkedIn


May
28
comment How to test a program in an efficient way?
+1 from me. As regards your first point 4 however, I feel the need to cheekily respond with "lies, damned lies & statistics". By that I mean that the Pareto Principle is often misapplied in software and doesn't always hold true, particularly when using BDD/TDD where you can get 100% test coverage with relatively little effort. That isn't to say however that 100% of tests will necessarily cover every type of failure if either the tests are too complex or the implementation isn't very lean. If 80/20 were true, we'd need only do 20% of the work ;)
May
28
comment I can write code… but can't design well. Any suggestions?
Emergent design is a beautiful thing IMHO, yet without discipline you risk creating "emergent spaghetti". The problem with up front design is that people see it as an all or nothing proposition, giving it a bad rep when things go bad. This reminds me about one of Joel's articles where he mentions that design is important. What is needed though is enough up front for a design to make a difference without it robbing you of time, resources, and of your chance to see beautiful supporting designs emerge organically through clean code.
May
28
answered How to test a program in an efficient way?
May
25
awarded  Good Answer
May
25
revised I can write code… but can't design well. Any suggestions?
edited body
May
24
answered Test Driven Development, has it reduced stress for developers?
May
24
revised I can write code… but can't design well. Any suggestions?
I didn't like the way my last sentence read.
May
24
comment I can write code… but can't design well. Any suggestions?
@vski There are many concepts I could have included, but the question is whether those concepts would of themselves provide a reasonable path to earning the experience needed for the OP to consider his/herself an improved designer. In the scope of my answer, I see refactoring as a practice (as per my second point). So too is practicing Clean Code, Test First, BDD, and many other concepts. I've taken the approach that there are many skills and experiences needed in order to develop to a point where design skills will emerge and grow, with experience and knowledge earned, over time. :)
May
24
awarded  Nice Answer
May
24
revised I can write code… but can't design well. Any suggestions?
added 1 characters in body
May
24
answered I can write code… but can't design well. Any suggestions?
May
20
answered Is inconsistent formatting a sign of a sloppy programmer?
May
15
comment When is unit testing inappropriate or unnecessary?
For what it's worth, I do agree with you that where an application is very difficult to understand, unit tests can allow you to test ideas and use cases separately without needing to create a fully-fledged application. Personally I use unit test APIs to help me spike difficult problems. I will however always write unit tests for my code, even where it may seem fairly trivial, and I do this test first in order to get the real benefit of tests, which is confidence to change code over time without fearing the code will break and require extensive independent testing later.
May
15
comment When is unit testing inappropriate or unnecessary?
Yes, that is another use for Unit Testing, but certainly not the specific purpose of unit tests per-se. My comment however was to address the answer given, which I feel doesn't really address the OPs question satisfactorily. In particular, if you feel that unit tests are a distraction, or that they are only needed to help the least knowledgeable team member's understanding, then either you don't really understand how to apply unit tests effectively, or you perhaps feel tests are a last mile task. Either way, that is not the direction the OP was looking for his answers to come from.
May
9
comment Good way to explain the need for nestable lambda expressions
@joe See the excellent examples by either Kirk or Marty.
May
8
answered Good way to explain the need for nestable lambda expressions
May
7
answered Build functionality around the design, or the other way around?
May
6
answered How to apologize when you have broken the nightly build
May
6
comment How to apologize when you have broken the nightly build
Quoting myself to every Grad/junior I've ever mentored, "I expect you to make lots of mistakes. Own up to them, accept them, and learn from them. If you never make mistakes, you'll never really learn anything".
May
6
answered What is your go-to application when you start learning a new language?