Jay Fields's Blog, page 14
March 11, 2010
Pairing isn't the Solution
In 2007 & 2008 I wrote several blog entires on Pair Programming (tagged with pair programming). Pair programming solved a lot of problems for me: knowledge transfer, mentoring, code review, etc. It also solved another problem at the same time, even though I wasn't aware of it. Pairing helps reduce the number of cooks in the kitchen.
These days I'm working on a project with some really talented people. The pace at which we deliver features is far faster than any project I worked on before I joi...
These days I'm working on a project with some really talented people. The pace at which we deliver features is far faster than any project I worked on before I joi...
Published on March 11, 2010 17:05
February 24, 2010
Shorter Syntax for Creating Stubs with Mockito
As part of my efforts to create more concise Unit Tests in Java, Steve McLarnon and I recently added the ability to create a stub and stub one method with only one line.
The implementation relies entirely on Mockito, so my example assumes you were already using Mockito to create the stub.
The implementation relies entirely on Mockito, so my example assumes you were already using Mockito to create the stub.
The Mockito documentation has the following example for stubbing:LinkedList mockedList = mock(LinkedList.class);
when(mockedList.get(0)).thenReturn("first");Using the code Steve and I put together you can...
Published on February 24, 2010 05:30
The Maintainability of Unit Tests
At speakerconf 2010 discussion repeatedly arose around the idea that unit tests hinder your ability to refactor and add new features. It's true that tests are invaluable when refactoring the internals of a class as long as the interface doesn't change. However, when the interface does change, updating the associated tests is often the vast majority of the effort. Additionally, if a refactoring changes the interaction between two or more classes, the vast majority of the time is spent fixing t...
Published on February 24, 2010 04:20
December 29, 2009
Presenting Lessons I've Learned
Up until a few years ago I'd never done any type of public speaking. I'm outspoken among friends, but generally shy around strangers. However, some opportunities presented themselves and I decided to take the leap into the world of presenting. I thought it might be helpful to document some lessons I've learned. If you decide to take the leap into presenting, I hope these ideas make your journey a bit easier than mine.Get Help - I took a class at Speakeasy (NYC). The class that I took forced...
Published on December 29, 2009 03:50
November 3, 2009
Polyglot World
At QCon 2008 Steve Vinoski told me he uses at least 4 languages pretty much every day. At the time I thought 4 seemed like a lot of languages to use. Are we ready for a world where programmers need to know so many languages?
If you think about building a web application, you probably need to know a server-side language, HTML, Javascript, CSS, SQL, etc. Of course, there's no easy way to draw a line and say that those are, or are not all languages. I'm not sure the distinction matters, what does...
If you think about building a web application, you probably need to know a server-side language, HTML, Javascript, CSS, SQL, etc. Of course, there's no easy way to draw a line and say that those are, or are not all languages. I'm not sure the distinction matters, what does...
Published on November 03, 2009 07:06
October 21, 2009
Refactoring: Ruby Edition available.
Refactoring: Ruby Edition is available (and In Stock) on amazon.com.
Sorry it took so long, I hope it is worth the wait.
© Jay Fields - www.jayfields.com

Sorry it took so long, I hope it is worth the wait.
© Jay Fields - www.jayfields.com






Published on October 21, 2009 18:08
September 10, 2009
Pressure, Expressed in Initial Development Time
def Initial Development Time: In software development projects, initial development time (IDT) is the length of time it takes from the project's first line of code until the business derives notable value from it.I've done plenty of projects in my career, some with an IDT of a few months and some with an IDT of a year or more. Based on those projects I've decided that I like the following equation to express the pressure felt by a team at any given moment during the IDT.
pressure =
Published on September 10, 2009 06:18
August 20, 2009
Staying Current: A Software Developer's Responsibility
I have a personal hatred for weekend conferences*. To me, a weekend conference ensures that I'll be "working" for 12 straight days.
I understand that opinion isn't universal.
Some people have problems getting time "off" to attend conferences. These situations feel like a fundamental misunderstanding of a software developer's responsibilities. Part of your (software developing) job is staying up on current technologies. That means doing some research during your day.
(almost directly stolen from...
I understand that opinion isn't universal.
Some people have problems getting time "off" to attend conferences. These situations feel like a fundamental misunderstanding of a software developer's responsibilities. Part of your (software developing) job is staying up on current technologies. That means doing some research during your day.
(almost directly stolen from...
Published on August 20, 2009 06:44
August 17, 2009
Macros Facilitate Expressive Code
Someone once asked me if I thought Clojure was more expressive than even Ruby. I didn't have enough information to form an opinion then, and I still don't now. However, I recently noticed something that led me to believe the answer could actually be yes.
I was looking through the code of clojure.test on Friday and I noticed something interesting. In clojure.test, the form(s) passed to the "is" macro are wrapped by a try/catch. It caught my eye because I often want to do the same thing in othe...
I was looking through the code of clojure.test on Friday and I noticed something interesting. In clojure.test, the form(s) passed to the "is" macro are wrapped by a try/catch. It caught my eye because I often want to do the same thing in othe...
Published on August 17, 2009 20:38
July 7, 2009
More Trust, Less Cardwall
Last weekend, at the Hacker B&B, I mentioned to Jason Rudolph that my current team has no cardwall. He was a bit surprised and asked what we do have.
We track what needs to be done in 3 stacks: Eventually, This Release, and Tech.
Our stakeholder gives us requirements all the time. We also think of things that need to be done on a fairly regular basis. All requirements are captured on an index card with about 5 to 6 words. These cards are not the entire story (pardon the pun), instead they are a...
We track what needs to be done in 3 stacks: Eventually, This Release, and Tech.
Our stakeholder gives us requirements all the time. We also think of things that need to be done on a fairly regular basis. All requirements are captured on an index card with about 5 to 6 words. These cards are not the entire story (pardon the pun), instead they are a...
Published on July 07, 2009 03:46