New Here?
Go through the list below and you should have an excellent idea on my views of software development and being a software developer. You probably wont have enough time to actually read all of these posts but go ahead and pick a few. There's bound to be a few titles in the list that should spark your interest.
Technical series
- Build Your Own Data Access Layer Series
- Request/Response Service Layer Series
- MVP In Silverlight/WPF Series
The life of a software developer
- Career Advice For Young Developers
- Career Advice For Young Developers, Part 2
- What It Takes To Be A Great Technical Lead
- A Reading Guide To Becoming A Better Developer
- If You Can’t Say Something Bad About It, You Don’t Know It Well Enough
- You Need To Step Out Of Your Comfort Zone
- Developers Shouldn't Specialize
- Favor Value Over Quality
- Developers Need To Keep Challenging Themselves
- Advantages Of Being A Polyglot Programmer
- Don't Be Afraid To Change Your Mind
- Walk Out On Sources Of Negativity
- Thoughts On Developer Longevity
- Start Believing In Yourself
- Wanna Improve Your Life? Then DO Something About It!
- Blue Pill vs Red Pill
- Maintaining Bad Code Can Be A Great Experience
- The Worst Code I Ever Wrote, And Why I'm Still Happy About It
- Learn To Work With The Web, Instead Of Against It
- The Non-Typical .NET Job
- Using Frameworks Doesn't Mean You Don't Have To Know What You're Doing
- Software Development Books: Investing In Yourself
- Which Path To Follow?
- We All Write Bad Code
- Choose The Right Goals
- Avoiding (Or Recovering From) Burnout
- What do you like about coding?
- Thoughts On Intellectual Honesty And Personal Ambitions
- Don't Be A Whiny Developer
- Don’t Strive For Perfection
- There’s Nothing Courageous About Being Honest About Mistakes
- You Might Want To Start Taking JavaScript Seriously
- CV Likes And Dislikes
- You Need Your Time Off
- Does Certification Have Any Value?
- Thoughts On Learning New Things
- It's Not About The Number Of Hours You Put In
- Why Things Don't Work In Your World
General thoughts on software development
- Educate Developers Instead Of Protecting Them
- Clean Code Versus Great Code
- You’ll Never Get Sustainable Progress For Free
- Have You Jumped On The Bandwagon Yet?
- Good Team Dynamics Are Essential For High Technical Quality
- Estimates Are A Double-Edged Sword
- Why Agile In The Enterprise Generally Doesn't Work
- There's Only One Valid Metric For Developer Productivity And Quality
- How Do You Pick Open Source Libraries?
- Architectural Drivers
- Ethics In Software Development: Pragmatism Over Dogmatism
- Buzzword Driven Development Isn't Gonna Help You
- Why Don't We Learn?
- Continuous Integration 101
- Support Of Commercial Software vs Open Source Software
General technical opinions
- Three Strikes And You Refactor
- Stop Storing Passwords Already!
- There's Only One Thing You Can Learn From Code Coverage
- There's Lazy Loading, And Then There's Lazy Coding
- Thoughts on code reviews
- Code Health
- Technical Interviews: What Questions To Ask?
- Beware The Evils Of Code Generation
- ORM Is NOT Inherently Evil
- The Good, The Bad And The Ugly In The .NET World
- Why I Dislike Classic Or Typical WCF Usage
- This Is Why I Don't Like Microsoft's Way Of Open Source Development
- Hey Microsoft, Our Databases Aren’t Services!
- The MVVM Pattern Is Highly Overrated
- How I Feel About The .NET World Lately
- Keep Your Eyes On The Road
- Why We're Going With HTML(5) Instead Of Silverlight
- Why I Prefer JavaScript Over CoffeeScript
Automated testing
- Why you should write tests before code
- My Guide To Effective Test Driven Development
- Test Doubles: When To (Not) Use Them
- Is Teaching TDD Worth It?
- The Only Way To Test Private Methods
- Testing Exceptions
- When You Absolutely Need To Use A Real Database In Tests
- Testability Of Date-Dependent Code
- Unit Testing An NHibernate Application
On building quality software
- Performance Rules Of Thumb
- Think Twice Before You Map Entities To DTOs
- DTO's Should Transfer Data, Not Entities
- Batching Remote Operations Is Not Premature Optimization
- Protecting Your Application From Remote Problems
- What's The Point Of Using WCF In A Web App?
- Why You Shouldn’t Expose Your Entities Through Your Services
- Assembly Partioning Advice
- Stop Exposing Collections Already!
- Introduction to Dependency Injection
- Real World Benefits From Loose Coupling, Inversion Of Control And Dependency Injection
- Why you should always unscubscribe event handlers
- Implementing a Value Object
- Easy non-blocking locking
- Disposing of the IDisposable implementation
- Do Not Litter Your Code With Null Checks
- Using Copy-On-Write In Multithreaded Code To Reduce Locking Overhead
- Compiler|Interpreter Warnings Are Important Learning Opportunities
- Clients Shouldn’t Define Your Services
- Repeated Failed Log-Ins: What's Your Strategy?