About me
The skinny
My name is Jason McDonald and I currently live with my beautiful wife and adorable daughters in Charleston, SC. I love to do wood turning in the rare event that I find myself with some spare time. I work full time in the software space for Benefitfocus, a health care based software company. I have been coding professionally since 1997 and have multiple years of personal coding experience prior to embarking upon my professional journey. I have a problem with keeping my schedule full – if its not then I for some reason feel unproductive – so at any given time I may be reading 3-6 books, at least half of them typically software industry related, trying to maintain multiple charity projects, spending time with my family, working, building web applications, and trying to shove the odd wood turning project in. I am a software engineer by trade and passion but am quickly developing a love for economics as well.
Recipe for a software engineer
I grew up in the south side of Jacksonville, Florida (go Jaguars!) in a semi-suburban area of the city that, at that time, was primarily tree farms and cattle pastures. I had a fairly normal childhood with the exception that both of my parents were employed in the software field. So while I enjoyed football, baseball, soccer, and a myriad of other sports, just like most young boys, I also gained exposure to computers from a very early age.
I can clearly remember coming home from vacation at age 3-4 to find our house had been robbed. While I was overjoyed that my new Tom and Jerry tracing/coloring book had not been taken my Dad was extremely relieved to find that his personal computer was left as well. Early 5.25″ floppy disk based programs were the norm in those days and amid a barrage of “why?” questions my Dad explained to me how the computer worked. Some of it stuck and some I picked up later.
I asked a couple times over the years about computers or programming but it wasn’t until I was about 7 years old that I took enough of an interest to ask my Dad to help me with a program. Using the BASIC programming language I wrote the prepubescent equivalent of Hello World, with assistance of course. I learned the basic structure and some general controls and by the time I was 10 I was working on my first application: a phone book. This hard coded masterpiece consisted of an enormous if statement with a slew of goto directives. Crude, but effective.
After the phone book became too much of a burden to maintain (read: a couple weeks) I forsook it and programming for another six years. It wasn’t until a computer class in high school sparked memories of code structure and the joy of creating something from nothing that I again picked up the keyboard with an intent to create. I revisited the phone book and made it much more robust. The code base itself was a fraction of the original, however the entries were still hard coded as I had yet to learn of I/O. From this point on programming had a place in my life.
From high school I went directly into the job market – after all I already had a marketable skill and a desire to earn a stable income. Looking back I see the pros and cons of my decision. The cons are that I missed out on college life, it takes forever to get a degree while working full time, and the stable income creates a dependency. The pros are that I got an edge on the competition (at least in my age bracket) and now have 3-4 year more experience than many of the people I graduated with. I applied at Prudential, where both of my parents worked, and was offered two positions: a systems analyst and a data entry associate. The systems analyst position was a spring board into the development arena and was exactly what I was looking to do. So I turned it down. I decided that the on call schedule, nights, and weekends would cut into my surfing too much and opted for the 8-5 data entry position.
Data entry was, to say the least, not challenging. The redundant nature of the task coupled with the green screen system that accentuated the number of key strokes it took to do anything made the task even more cumbersome. So I automated it. I found that the tool we used to connect to the mainframe had its own VB based macro language built in. I had plety of experience with BASIC and knew how to read a help document so soon found myself creating a script that would take all information at once and then insert it into the proper places, all without my intervention. It was at this point that I came to the realization that I was in the wrong job. I lobbied to be moved over into a technology role but was told there were no openings. So I left.
From Prudential I found myself working a handful of menial jobs to pay the bills mixed with development jobs here and there, some extensive applications project and others the business equivalent of Hello World. I continued in this fashion, learning and gaining real world experience on the small business front, until I joined up with H.O. Systems in 2000. H.O. was a Java shop and I was a VB programmer with only personal experience in Java. So I continued to learn more about Java and the basics of object oriented programming. It was here that I began learning the right and wrong way to do things – prior experience was often self guided so lessons learned only came from my mistakes instead of the experiences of others. I stayed with H.O. Systems for five years and was there for the corporate buy-out when Verisign purchased the company.
Throughout my time at H.O./Verisign I continued to learn, read, and attempt to become better at my trade. I was moving up and content with continuing my career with Verisign until the company decided to outsource all development to India. All engineers in my portion of the company were given the option to remain on as analysts but could no longer be engineers. Some did but many left. I was one of the ones that left.
I found myself talking with Benefitfocus.com (.com has since been dropped from the corporate name), a Charleston, SC based software company. I liked what I saw and was impressed with the people I met so I signed on. I have now been with Benefitfocus since 2005.



Hello, my name is Alex, I have downloaded your Design Pattern Card, and I found so useful, but if you want I can help you to improve it, I though that it would be interesting adding a brief paragraph like When to use and Benefits of using that pattern.
Well if you are interested, I’m here to help.
Thank you very much for your attention.
Alex.
[...] Jason McDonald has done a wonderful job to group some of them in a document that should be useful to most software developers. Go to his blog to get your own copy. [...]
[...] HermosoDía doy las gracias a su autor por [...]
Thanks for you Design Pattern Card.
Also I read many of your article. It was from deep thought.
Thanks again, McDonald.
- From S. Korea. -
Thanks for design pattern card.
Your pattern card is amazing. Thank you for that.
Facundo.
Thanks alot for the design Pattern card. Really helpful.
Thanks for the design pattern card
I used while preparing to a job interview.
Thanks a lot for your great work on design patterns card.
Your design pattern card is amazing. Thanks a lot.
Thanks for the design pattern card. Great work.