Weekly Dev Tips
Weeklydevtips 600x591

Weekly Dev Tips offers a variety of technical and career tips for software developers. Each tip is quick and to the point, describing a problem and one or more ways to solve that problem. I don't expect every tip to be useful to every developer, but I hope you'll find enough of them valuable to make listening worth your time.

Hosted by experienced software architect, trainer, and entrepreneur Steve Smith, also known online as @ardalis. If you find these useful, you may also want to get a free software development tip delivered to your inbox every Wednesday from ardalis.com/tips.

  1. Thumb 1524749002 artwork

    022: Domain Events - Before Persistence

    Domain Events are a DDD design pattern that in my experience can really improve the design of complex applications. In this episode I describe specifically how you would benefit from raising and handling these events prior to persisting the state of your entities.

  2. Thumb 1524071568 artwork

    021: Breadcrumbs and Troubleshooting

    This week I'm taking a break from design patterns to talk about a useful skill to prevent you and your team having to reinvent the wheel when it comes to troubleshooting problems or working through new tools or frameworks.

  3. Thumb 1520630690 artwork

    020: Abstraction Levels and Authorization

    Working at too low of an abstraction level is a common source of duplication and technical debt. A very common culprit in this area is authorization.

  4. Thumb 1519696934 artwork

    019: Learn the Strategy Pattern

    The Strategy design pattern is one of the most fundamental and commonly-used patterns in modern object-oriented design. Take some time to make sure you're proficient with it.

  5. Thumb 1518796071 artwork

    018: Repository Tip - Encapsulate Query Logic

    The Repository design pattern is one of the most popular patterns in .NET development today. However, depending on its specific implementation, its benefits to the system's design may vary. One thing to watch out for is query logic leaking out of the repository implementation.

  6. Thumb 1517927784 artwork

    017: On Design Patterns

    Design Patterns offer well-known, proven approaches to common problems or situations in software application development. Having a broad knowledge of the existence of patterns, and at least a few you're proficient in, can dramatically improve your productivity.

  7. Thumb 1516976953 artwork

    016: Becoming a T-Shaped Developer

    It's difficult to differentiate yourself if you don't have a single area of expertise. Either you'll have difficulty landing work or you'll be forced to compete with a host of other non-specialists on rate. By becoming a T-shaped developer, you can market yourself as an expert in a particular area and stand out from the crowd!

  8. Thumb 1515187404 artwork

    015: Maintain Legacy Code with New Code

    Many developers work in legacy codebases, which are notoriously difficult to test and maintain in many cases. One way you can address these issues is by trying to maximize the use of new, better designed constructs in the code you add to the system.

  9. Thumb 1512913799 artwork

    014: Smarter Enumerations

    Enumerations are a very primitive type that are frequently overused. In many scenarios, actual objects are a better choice.

  10. Thumb 1512430637 artwork

    013: Be Thankful and Show Gratitude

    It's highly unlikely that you're a software developer who works in a vacuum. Here are a few tips for showing your gratitude to the people, companies, products, and tools that help you to be successful.

  11. Thumb 1511201999 artwork

    012: Primitive Obsession

    Primitive Obsession describes code in which the design relies too heavily on primitive types, rather than solution-specific abstractions. It often results in more verbose code with more duplication of logic, since logic cannot be embedded with the primitive types used.

  12. Thumb 1510594065 artwork

    011: Encapsulating Collection Properties

    Encapsulation is a key aspect of object-oriented programming and software engineering. Unfortunately, many systems fail to properly encapsulate collection properties, resulting in reduced quality.

  13. Thumb 1509627355 artwork

    010: Pain Driven Development

    Many of you have probably heard of various "DD" approaches to writing software. There's TDD, or Test Driven Development. There's BDD, for Behavior Driven Development. In this tip, I want to introduce you to another one, PDD: Pain Driven Development.

  14. Thumb 1507473392 artwork

    009: Data Transfer Objects (part 2)

    One classification of objects in many applications is the Data Transfer Object, or DTO. Here are some more tips that may help you avoid problems when using these objects.

  15. Thumb 1507471716 artwork

    008: Data Transfer Objects (part 1)

    One classification of objects in many applications is the Data Transfer Object, or DTO. Here are some tips that may help you avoid problems when using these objects.

  16. Thumb 1506433695 artwork

    007: Prefer Custom Exceptions

    Low level built-in exception types offer little context and are much harder to diagnose than custom exceptions that can use the language of the model or application.

  17. Thumb 1505750556 artwork
  18. Thumb 1505149610 artwork

    005: New is Glue

    Be wary of the 'new' keyword in your code, and recognize the decision you're making by using it.

  19. Thumb 1504279341 artwork

    004: Guard Clauses

    Your methods should fail fast, if doing so can short-circuit their execution. Guard clauses are a programming technique that enables this behavior, resulting in smaller, simpler functions.

  20. Thumb 1503603514 artwork

    003: Listen Faster

    If you can do it without getting left behind, listen or watch educational content at a higher speed.

  21. Thumb 1503523245 artwork

    002: Check In Often

    As a developer, you should be using source control. You should probably be using distributed source control. And you should check in, probably more often than you think.

  22. Thumb 1502396068 artwork
Back Home