The Programmers Oath by Uncle Bob

The Programmers Oath by Uncle Bob

In order to defend and preserve the honor of the profession of computer programmers,

I Promise that, to the best of my ability and judgement:

  1. I will not produce harmful code.
  2. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.
  3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
  4. I will make frequent, small, releases so that I do not impede the progress of others.
  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.
  6. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
  7. I will continuously ensure that others can cover for me, and that I can cover for them.
  8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.
  9. I will never stop learning and improving my craft.

Book Review: #SoftSkills

A few weeks back I came across a book called Soft Skills.  I’m a sucker for these kinds of books and before I realized what I was doing I had splurged and purchased it.  It is a fantastic book by John Sonmez of Simple Programmer.  With these kinds of books I usually skip around reading what interests me that day.  I make a note on the chapter to indicate that I have already read it.  After a week when flipping through it to find an unread chapter I realized that I was already more than half done with it, which is impressive since it is a 500+ page book.  It is very refreshing to read a book like this that talks to me as an in-the-trenches software developer with no aspirations to become great.  So many of these books talk about how to become an expert in your career and take things to the next level.  This book has some of that but more of it is just tips and tricks on how I can refine what I am doing now to be just that little bit better than I was before.  It’s definitely worth picking up a copy.

Lazy Programming: The Three Virtues

Three Virtues

According to Larry Wall, the original author of the Perl
programming language, there are three great virtues of a programmer; Laziness, Impatience and Hubris

  1. Laziness: The quality that makes you go to great effort to
    reduce overall energy expenditure. It makes you write labor-saving
    programs that other people will find useful and document what you
    wrote so you don’t have to answer so many questions about it.
  2. Impatience: The anger you feel when the computer is being
    lazy. This makes you write programs that don’t just react to your
    needs, but actually anticipate them. Or at least pretend to.
  3. Hubris: The quality that makes you write (and maintain)
    programs that other people won’t want to say bad things about.

via Laziness Impatience Hubris.

Get Involved! – Online Training Course for Developers

This is a great video on Pluralsight about setting up your online presence as a developer.  It’s another tool in a developers tool chest that will help them to grow their skills.

Get Involved!

In this production, Scott Hanselman and Rob Conery offer suggestions and advice on how you can get out there, and get involved. Blogging, Twitter, Github, StackOverflow, User Groups and Conferences: all of this can make you a happier, more productive developer and inspire you to take your career to the next level.

via Get Involved! – Online Training Course for Developers.

Career: Changes

tumblr_m9b9w7boOJ1qftwqwo1_500

Change terrifies me.  Hands down terrifies me.  Always has.

A few months ago I took a phone call from a recruiter on a new job opportunity.  I agreed to talk to them purely because the guy on the other end of the phone is one I spoken to in the past and I respect him.  Over the course of the last few weeks I slowly came to the conclusion that changing  jobs may actually be a good idea.

The problem is that I love the job I currently have and the team that I am with.  The new place offered me options that were better for my family than where I am currently at.  Eventually I put in my notice and discovered that I am a valuable asset to the company.  This should not have come as a surprise to me, but it did.  They gave me a counter offer that leveled the playing field as far as benefits and the family situation.

Now what do I do.  I discovered that when the field was leveled and the decision was purely about me and what I want for myself I froze up.  How do I make a decision like this.  Leaving a place I love, for the unknown of a new company.

Finally I read the following quote from a woman who I respect and has been in the background of my life for many years whispering in my ear, as any good muse should!

 While I realize change can be scary, there comes a time when our “good enough” isn’t “good enough” anymore and we have to leap past our fears with courage and boldness to live the life we want and deserve.

I never quite know what I want out of life.  Even after two months of contemplating leaving, it wasn’t until today that I realized I am making the right decision.  What become clear to me is that if I don’t take the leap to something new I will not grow in the direction I want to.  While the team I am on now is awesome, I feel like the opportunities offered at the new company will help me to grow in my career in a way that my current job will never be able to do.

Saying goodbye to the great team I am with now will be difficult.  But looking forward to whats coming up has me excited to see whats around the corner.