Tuesday, August 25, 2015

Code Reviews

I do not think there is a single development practice that is more under-used and under-appreciated than code reviews--regular, continuous, active, supportive code reviews.

I went through the first ten years of my career without receiving a formal code review, and only gave a handful of them. During the past three years, I have been part of more code reviews, but nothing like what my current team has been doing, and still not up to the value that I think they can provide.

This is actually the first blog post I think I have every come across on the subject of code reviews:

The Zen of Code Reviews: Best Practices

This is a subject, like #NoEstimates, that I really want to delve into at my current job and hopefully even more at my next.


Wednesday, August 12, 2015

Angular, Ember, Aurelia, Backbone Programmers NOT Wanted

LosTechies.com has a totally awesome and relevant new post: Platform generalists versus framework specialists.
A trend I’ve noticed especially in Javascript/front-end jobs are emphasizing, requiring, even titling jobs after specific Javascript frameworks. “Ember.js engineer needed”. “Angular programmer”. This raises a few of thoughts for me: 
  • Is the framework so complicated you need someone with extensive experience building non-trivial apps?
  • Is your timeline so short you don’t have time to teach anyone a framework?
My only gripe is with this line: "I want to be a web expert, a messaging expert, a REST expert, a distributed systems expert. "  Even though I love REST, I no more want to be a REST expert than an Angular expert.

For the record, I want to be a Craftsman, a Clean Coder, a code monkey, a web expert, a messaging expert, a business rules expert, an amazing technical lead and development manger, and a development god. #smallGoals :-)

Monday, August 10, 2015

Incremental Functionalism for C# Developers

Less is more: language features, by Mark Seeman

C#: Program Entirely With Static Methods

I just love that the programming world is becoming more and more functional.  Better code, less code, more testable code, less bugs, and life is always better when you get to solve a problem without having to fix the world.

So take a bite and try removing a bit of state from your methods and classes today.  :-)

Tuesday, August 4, 2015

Continuous Deployment

I have worked on very few projects in the past fifteen years that would not have benefited from CD from day one, and #noestimates throughout.  

These days everybody wants to try new ideas as quickly as possible in the market. We want to see whether or not our customers like a new feature. If yes then we want to work on the feature and improve it and if not then we want to fail fast and learn fast from the mistake and correct fast. 
To be able to do this a company producing mission critical software can embrace continuous deployment (CD). CD is not a tool nor a simple process, it is a whole pipeline of processes and associated culture changes in the company. CD in a nutshell manifests itself in such a way that if a developer finishes coding a new feature and pushes this feature to a central code repository then a process starts whose end result is that the code containing the new feature is in production and the feature is thus available to the consumers. All this happens fully automated and without any human intervention. This sounds scary, doesn’t it? Yes and no… but let’s look into more details what exactly CD implies.
More CD goodness from Los Techies...

Tuesday, July 7, 2015

Web API 2 to MVC 6

Transitioning from ASP.NET Web API 2 to ASP.NET MVC 6

Well, isn't this interesting.  Redmond is insisting on keeping us on our toes!  My two favorite projects have been Web API 2 projects.  I'm looking forward to doing my first MVC 6 project!  :-)