Photo of Daniel Irvine

Blog posts

  1. Yet another reason to prefer unit tests 😇

    Mar 3, 2020 · javascript react tdd
    Have you ever gotten so frustrated when writing a unit test that you gave up and wrote an end-to-end test instead?
  2. Are you any good at TDD?

    Feb 16, 2020 · tdd
    So you practice TDD. But how do you measure your skills?
  3. Achieving 100% code coverage will make you a better developer. Seriously.

    Feb 11, 2020 · javascript tdd
    You’re happy to learn new languages frameworks, so why are not happy to learn testing techniques that will help you for the rest of your career?
  4. Do you aim for 80% code coverage? Let me guess which 80% you choose...

    Feb 10, 2020 · javascript tdd
    The only “sweet spot” for code coverage is 100%. Here’s one reason why.
  5. Whatever happened to the test pyramid?

    Feb 6, 2020 · javascript tdd
    The humble unit test has taken a beating in recent times. What did it ever do wrong?
  6. Do devs really need to test?

    Jan 29, 2020 · testing career
    There’s one big reason why you wouldn’t want to test
  7. How to convince devs to do more testing

    Jan 24, 2020 · career tdd
    Why do developers not write more tests? This blog post looks at some reasons why.
  8. Beyond TDD: breaking the rules

    Jan 23, 2020 · career tdd
    Rules are made to be broken, right? TDD is a strict set of rules that define a process for building software. But experienced practitioners have moved beyond the rules and work towards something else entirely.
  9. Get your words right!

    Jan 22, 2020 · career javascript
    When you’re in any position of authority, you’ve got to be extremely careful with the words you put out. Here’s why.
  10. Become a mature developer, not a senior developer

    Jan 20, 2020 · career personal-growth
    Junior/senior is a terrible way to judge a developer. This post is a reminder that we should be talking about “mature” developers instead
  11. Clean code, dirty code, human code

    Jan 19, 2020 · javascript career
    Let’s stop judging each other’s code. Instead, let’s work together to make our codebases better.
  12. A generalist is born when a specialist becomes bored

    Sep 15, 2019 · career javascript personal-growth
    I’m a full-stack developer, which means I’m a generalist. I believe that generalism in software development is a good thing.
  13. Revisiting your code: a simple technique for writing better software

    Aug 31, 2019 · career refactoring
    Want to write the better code? Here’s a simple technique that programmers of all levels can apply.
  14. 4 tips for mentoring developers

    Oct 1, 2017 · career mentoring leadership personal-growth
    Simple ideas that will improve your mentoring
  15. How to mentor developers

    Sep 18, 2017 · mentoring teams career
    Mentoring is a great technique for accelerated learning, but it’s underused within the industry.
  16. Are personality tests useful for developers?

    Sep 2, 2017 · teams career

    As a software developer my job is writing code. But knowing how to write code isn’t the only skill software developers need. We also need to have great teamwork skills, otherwise projects are doomed to fail.

  17. Code is better when we write it together

    Nov 28, 2016 · pair-programming ensemble-programming code-reviews teams
    In my last post I discussed the effectiveness of code reviews. Or rather, how they can often be ineffective.
  18. The problematic pull request

    Nov 18, 2016 · code-reviews pair-programming
    Code reviews are a wonderful thing. Multiple pairs of eyes make for higher quality code. Reviews help spot errors and also serve as a teaching tool.
  19. Perfect code is an illusion

    Nov 11, 2016 · code-reviews career
    Much of our programmer culture is built on the ideal of perfect code: code which not only works, but is also clean and elegant.
  20. The egoless programmer

    Sep 30, 2016 · career teams pair-programming
    If you want to be successful at writing code, then you’d best keep your ego out of it. That’s the essence of egoless programming, a concept first written about by the legendary author Gerald M. Weinberg.