Our first month in Boston
It has been a month since we (me, my wife, and my son) moved from central Florida to metro Boston. It is certainly a big change (especially moving in the middle of winter) but so far things are going quite well. Having grown up in a dense urban area I missed being able to walk everywhere instead of having to depend on a car. We can certainly do that here; I can walk to work, the grocery store, and quite a few restaurants and shops. Maria’s dad was in the military so she’s lived in many different places; however she’s never lived in a city. So far she’s adjusting quite well. She was quite comfortable in Florida but she was willing to go through all these changes just so that I could have a cool job.
Things should be a lot more fun when it isn’t below freezing outside; we’ll be able to explore more of Davis Square and Boston in general.
So here are my favorite and least favorite things about Boston. First the bad: everything seems to be decentralized. In New York 95% of anything that’s important happens in midtown or downtown Manhattan which is very easily accessible by public transit, including buses, subways and cabs. In New England it seems that there is a lot going on that isn’t in Boston proper. For instance, the next No Fluff Just Stuff advertises itself as coming to Boston, but the show is really in Danvers which is about 20 miles north of Boston. You certainly can’t take the T there unless you count the commuter rail which is nowhere near as convenient. Ditto for the New England JUG which is at the Sun campus in Burlington. I’ve noticed that most high tech companies are in the highway 128 corridor, which means you have to drive to get there.
Now the good: the law here is great when it comes to pedestrians in crosswalks. When you drive up to a marked crosswalk that has pedestrians you must stop and let them cross. The first time I visited Tangosol they took me out to lunch and we had to cross a few streets to get there. Even though there was oncoming traffic (albeit slow traffic) they stepped right out into the crosswalk as if nobody was there. If you try that sort of thing in New York you’ll get yourself into a fist fight (which I actually did witness a few weeks ago at the corner of Steinway and 31st in Astoria.)
Working at Tangosol has been a terrific experience. The software engineers here are top notch and they are solving some difficult and interesting problems in the realm of distributed and multi threaded programming. In the month that I’ve been here my work has been varied; I’ve worked on code samples for customers, testing, reproducing issues, answering support emails, and a little bit on Coherence itself. I’m looking forward to learning more about the product and the realm of high performance distributed computing in general.
Blog “Tag”
So it appears that I was Blog Tagged by Mike Levin so I have to come up with 5 things about me that won’t completely bore the audience.
- I am the first in my family to be born an American citizen. Everyone that came before me was born in the Dominican Republic.
- Some cool stuff I did in high school: I wrote an award winning literary analysis for Richard Wright’s Native Son. By award winning I mean at the Volusia county school district level, not Nobel or Pulitzer level

I also participated in the Florida High School Programming Competition as a high school junior at Deltona High. I was the only junior on the team; the rest of the guys were seniors and were light years ahead of me in ability. We came in third place in the state, not bad at all. We did not return to the state finals my senior year; we were beaten out by DeLand High by 1 point! - I’m a big fan of dancehall reggae and helped DJ many parties by the Caribbean Club at my alma matter Stetson University.
-
I have a fascination for urban rail mass transit, especially the New York subway system. My wife calls it a “near autistic” obsession.
I also love maps and as a child would study any map that I could get my hands on. These two interests have given me an uncanny ability to describe, sometimes in excruciating detail, where every subway line goes, what color it is, etc. Looking at the subway maps for some of the other US cities that I’ve visited has given me an appreciation for how horribly complicated the NY system is and how intimidating it must be for those not familiar with it.
-
Some other careers I may have considered other than software development:
- High School Teacher. I may actually consider doing this someday after this software gig is up and I can afford the drastic pay cut.
- Lawyer or law enforcement. Watching way too many hours of Law & Order has made me a decent armchair lawyer.
Working in a forensic computer lab would also be pretty cool. - Civil Engineer. Must be that fascination with maps.
- When I was much younger I wanted to be a pilot or astronaut. Strangely enough my interest in flying and space shuttles peaked after the Challenger accident (when I was 9 years old.)
So now I’m supposed to tag five other people, but I doubt that my blog has that many readers other than the spam bots.
Moving on!
Tomorrow will be a bitter sweet day for me as it is my last at Symantec. I enjoyed 8 years at this company which was previously Seagate Software and Veritas. It was my first job out of college (I was an intern when hired, so I actually started before graduating.) I learned a tremendous amount from my coworkers (especially this one) and have many success stories as well as some amusing failures! So what will be my next move? Up north to Boston where I will be joining Tangosol and helping to support Coherence, their flagship product. It will be a new and interesting challenge and certainly one that I look forward to.
Tod Golding on TDD

At the SD East conference a few weeks ago they were giving away stacks of magazines. One of them was Better Software, a magazine dedicated to software quality. One of the articles was “Tapping into Testing Nirvana” by Tod Golding. He writes about his experience with TDD. As many of us that have adopted TDD, he was quite enthusiastic at the beginning, especially as the quality of his software improved. After a while however he noticed that the tests were getting more and more difficult to maintain. As Kent Beck says in Test-Driven Development by Example,
“Test driven development is a way of managing fear during programming.”
That turned out to be the exact opposite of Tod’s experience. He writes,
“Every time I wanted to tweak my code, I found myself worrying about how many tests I’d have to rewrite or simply throw away. I felt like I was continually building and destroying my suite of tests. I expected this at some level, but it still seemed like far too many of my tests were coming and going.”
He comes to the realization that code smells can happen in test code just as easily as production code. For those that are new to TDD, writing a test is simply a means to an end: the working code. Most of the TDD examples that one encounters concentrate on the xUnit testing APIs and techniques (such as mock objects.) However, to realize the full benefit of TDD the test code has to be maintained as much as the production code.
This, of course, led me to the real epiphany. I realized that those extracting the most value from their tests were treating them with much more reverence than me. While I always viewed my tests as shallow, one dimensional dolts that could be thrown away at any second, other developers were treating their tests like first-class citizens.
I am certainly guilty of viewing tests as shallow. My biggest sin in this arena is copy and paste unit testing. When I’m testing a method multiple times with different sets of parameters and conditions, the quick fix is to just copy an existing test method, make a few tweaks and rename the method. This of course makes the test class quite difficult to read and maintain. When changes get made to the production method, all of a sudden a bunch of test methods have to change.
As I looked more closely at their tests, I discovered that the best unit testers were applying all the same values to their unit testing as they were in their own implementation. They were abstracting out concepts, building object hierarchies, leveraging polymorphism, limiting coupling, and so in. In essence, their test code and their application’s code were on equal footing.
This view, in my opinion, represents the next step in TDD. Most people that have been on the JUnit website are familiar with the term “Test Infected”. This is the point where developers realize the immense value of a complete test suite and thus start to write unit tests. Next comes the practice of writing tests before code. Once the tests are being written before code, the next step is to view the unit tests as “first class citizens” and to apply the same concepts of clean code to the suite as to the production code.
Congratulations to I21!
Here’s another “me too” congratulatory posting to I21 for the release of Spring 2.0. Keith Donald posted an entry to TSS describing all of the new features. I look forward to trying out the AspectJ integration, the asynchronous TaskExecutor classes, and the custom XML configurations for the bean factory.