Wednesday, November 17, 2010

Shared Stuff

I'm still alive!  Had a bunch happen in the last month or two so I've been a bit busy.  I have a longer post coming up that I'm still working on so here's a little something in the meantime.

I like reading blogs.  But I also like to read blogs socially.  How is that done?  By sharing what you read and commenting on them!  Here is a feed of the stuff I've shared out in case anyone is interested.  It's mostly developer-like stuff but it has a healthy dose of random stuff I just found to be funny or insightful.

Sunday, August 1, 2010

Working Yourself Stupid

"Ability to contribute over the standard 40 hour work week if deemed necessary by management but more importantly thru self motivation when extra time is required to get the job complete."
This line came from a job posting I saw the other day which made me chuckle a little.  At first I was a little shocked to see that a company almost requires overtime (I'm assuming it's not an hourly paid job) but then I thought, at least they're being honest.

So why would that be so shocking?  Well, where I'm currently working we're trying to be agile (well, most of us anyway) using a combination of Scrum & XP and one of the practices we've tried to follow is sustainable pace.

In a nutshell, sustainable pace is finding the right amount of hours people should work without ever burning out.  This provides, amongst others, a few benefits such as:
  • Little to no burnout
  • More accurate estimates
  • Employee job satisfaction
Right now I'm happy to report that I generally don't have to worry about working crazy hours to get things done in my department and I think we've been reaping the rewards as well.  There was one time where we deviated from this principle and paid for it in the end.

What happened was we were getting behind on some defects that needed to be sorted out and so we decided to take a few weeks to put in some extra hours to pound the defects through.  We worked hard on them and at first it really seemed to be making a difference as the defect count went down quite a bit.  Satisfied that we had beaten back the beast, some people laid low to recover from the push and a month later, we were back to where we were before with the number of items that needed to be worked on.  We have since tried to be a little more selective with what we work on so that we get the most bang for our buck rather than trying to brute force our way through things.

Now, I'm not saying that ALL overtime is bad.  There are times where working a few hours here or there can prevent last minute problems from happening, etc. but be prepared for the time needed to recover from that extra push.  Taking that time to recover can be hard to do as well as everyone likes to be a hero and putting in that extra time sure looks good to management.  But if you burn yourself out to the point where you're not worth much, you won't look so good anymore.  Be honest with yourself.  Be realistic.  Plan better next time.

If you happen to work for the company that the job posting came from or you are currently working somewhere that requires extra hours, have a look at this (very, very interesting read) and plead your case to management.  Worst thing they can do is say no and then you can make a decision from there.

Thursday, July 15, 2010

My Big List O Reading

Here is my list of books I have read, am reading or plan to read.  I'll try to keep this up to date as much as possible and please feel free to drop me a line if you have any questions about these books or have a recommendation for me.  Keep in mind that this isn't a must read list, just books that have had some influence with me personally.

Code Complete: A Practical Handbook of Software Construction

What can I say except that reading this book is almost a rite of passage into becoming a great developer.  Every developer should read this and then reread it again when you realize how much you really do suck.
The Pragmatic Programmer: From Journeyman to Master

I think my eyes really started opening up to what's possible in software development when I first read this.  It's almost a short version of Code Complete that's a tiny bit more opinionated.
Head First Design Patterns

I've read this twice now and both times I have learned something new.  I haven't actually read the gang of four book yet because this does such a good job of explaining the more common patterns.  I wouldn't mind reading the GoF book at some point, just haven't found the drive.
Pragmatic Unit Testing in C# with NUnit

I wouldn't say that this book is an essential read but it's nice for getting your feet wet in learning how to unit test.
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

So, I'm just going to come out and say it: this is not an easy read.  Brooks has a writing style that rubs me the wrong way.  That said, I can see why it's considered one of the most important books for software developers.  I'm a firm believer in Brooks' Law and it's still relevant today as it was when this was written over 30 years ago.
Clean Code: A Handbook of Agile Software Craftsmanship

I freaking loved this book.  I didn't always agree with Uncle Bob in here but the important thing is it made me rethink my own dogmas and methods.  Whenever I start thinking my code is a thing of beauty to behold, I just need to pick this up and realize that I still have work to do.  Any developer can benefit from reading this.
Working Effectively with Legacy Code

For those of us that have the "wonderful" opportunity to work on legacy code, this gives you a glimmer of hope in reigning in that wild monster method, class or module.  I especially liked how the chapters were laid out by task.
C# in Depth

I was worried that this book would end up being incredibly dull but was happy to find that it wasn't.  Jon does a good job of keeping things entertaining while teaching a lot about C# that you probably don't know.  Or maybe discovering new things about stuff I thought I already knew is why I liked it? Anyway, great read.
NHibernate in Action

Being the NHibernate super fan that I am, I had to read this.  It's unfortunate that it didn't get any of the 2.0 features included in it but is still quite relevant even today as the basics of how NHibernate haven't changed.  I'd recommend this to anyone that wants to know how to use NHibernate well.
About Face 3: The Essentials of Interaction Design

Well this was totally worth reading. It started off a bit slow (like really slow) but the 2nd half was just great. I used to think I had quite the eye for good UI until I read this. I'm not sure I agree 100% with everything suggested in here (especially since some of it contradicts itself) but most of it is spot on and should be considered by every developer that creates UI.

Tuesday, June 22, 2010

Well It's About Time

I've been talking about starting my own software development blog for some time now but always put it off.  The reason was actually kind of dumb, I simply couldn't come up with a good name for the blog.  After talking to a few people I know professionally, I decided to go with dinkelburt.  There's a story behind that (a really stupid one), but I'll leave that for another time.

Some goals I want to achieve with this blog are:
  • Eventually create a blog that's a little more... customized to my liking that's not Blogger.
  • Showcase some of the projects I'm working on.
  • Share insights into things I experience in developing software.
  • Inevitable ranting.
 I hope something I write ends up being interesting to read as I do enjoy writing more than I care to admit.  Programming daily has tried its hardest to kill off that side of my brain but it's not all dead yet.  Anyway, welcome to dinkelburt and I hope you enjoy your stay.