2013 New Year’s Resolutions and a Little Friend

Pregnant Women Celebrating ChristmasAs December nears, it’s time to brainstorm my New Year’s resolutions for 2013. The Stuller family is expecting its first baby in that time, so it’s entirely possible that any goal I set for myself will immediately seem implausible, thwarted by a new dependent and many personal misconceptions about the transition to parenthood. Still, naming my goals will be helpful, even if only the most important bubble up to the surface over the next year.



In Were my Microsoft Certification Exams Worth it I detailed my experience with these types of certifications. My conclusion has been upheld so far, that the certifications themselves do not provide much value once a certain level of experience is obtained. Therefore, I’ve fully abandoned the idea of updating or getting new ones.

“Any sort of certification by a tool vendor is worthless. Any certification created by a methodology proponent is also worthless.” – David Starr on Herding Code episode 150

Despite the quote above, I’ve decided to make Scrum Certification a goal for 2013. I feel I have a good grasp of iterative project management processes but I could benefit from structured training about a specific, standard methodology. I understand that the certification itself is not the end goal, but it is a nice motivation as a milestone of my learning.

“If you go for certifications, remember your goal is not simply to put more letters after your name but to maximize the value of the educational experience. Winning the game requires that you not only keep your eye on the ball but also anticipate what the next pitch will be. Historical evidence suggests that the average lifespan of any system is approximately 18 months, so the planning process for how you’re going to replace what you just built starts pretty much the moment you finish building it. Planning is a lot more effective when you know what you’re talking about. Being informed on emerging trends is a fundamental job responsibility, something in our business that needs to be done daily to keep up.” – 10 Essential Competencies for IT Pros by Jeff Relkin


What am I going to do instead?

Yesterday I read Paul Graham’s most recent post, How to Get Startup Ideas. This blog post really cut to the core of me, as it described the best ways to identify startup ideas. While I sometimes come up with ideas for products, they don’t occur to me as frequently as I’d like. Paul articulated what type of people have the most success, namely those who “live in the future and build what seems interesting.” So that’s what I’m going to strive to do. Throughout my career, I’ve done a pretty good job of solidifying certain skills, such as specific technologies (SQL Server, C#, jQuery) or communication (writing and public speaking). However, I’ve been hesitant to jump into new, trending technologies. For a long time, I considered it beneficial to isolate myself from fad technologies, figuring I can save time that way. In 2013, I’m going to try to both live in the future and build what’s interesting. Maybe that means working a little on a mobile app or maybe HTML 5. I don’t want to constrain my options by listing any technologies before the year even starts. If something seems cool, I’m going to come up with an excuse to build something with it.


Public Speaking

I’m scheduled to wrap up my Toastmasters Competent Communicator certification by the end of this year (more on this in a later post). In 2013, I’d like to leverage the practice I’ve had toward some sort of speaking arrangement that advances my career.


Personal Life

As usual, I don’t just make goals for my career. There are also things I strive for in my personal life. Among those, I’d like to complete 1 big home improvement project (convert our half bathroom to a full or move my home office), get back in shape (how about a half-marathon), get involved (with my alma mater or our neighborhood).


The Blog

What should I do with this blog? This is post 45, which means I’ve devoted over 40,000 words to it. My site visitors are steadily increasing and they are even stable when I take an extended break. However, when I started 3 years ago I thought I would have had more traction by now. I enjoy having a forum with which to express myself but a) I’m running out of content ideas and b) I’m losing motivation based on the slow traffic growth.

Traditionally, I tend to bounce back and forth between technical articles and more generic lessons based on personal stories. Which category speaks most to you? I’ve said everything I need to say from a self-expression standpoint, so when I continue to blog, I want to ensure I’m providing something useful for my readers.


Bring in the New Year

Clearly, many of my ideas are half-baked. That’s partly because I still have a month to decide on New Year’s resolutions and partly because I have no idea what to expect of life with a child. Still, this post is important as a record of my mindset at this critical milestone in my life. It’s also an open invitation for discussion. What other goals or modern technologies should I be considering? How will a newborn affect my personal goals over the year? What type of content should I be producing?

Thanks for your time. You’ll be hearing from me again soon.

Lessons Learned Negotiating for my First Car

In my early adulthood, I hated negotiating. The process seemed dirty, one which often felt like it required dishonesty. I remember my one attempt to haggle for a $25 t-shirt at a market in the Caribbean when I was 17. My strategy: opening my wallet and saying I only had $5. Somehow the merchant saw through this ruse. I ended up paying full price with the money from my other pocket.

Negotiating down the price of something is uncomfortable for many people:

  • It creates confrontation
  • Logically, items should be marked with a price that everyone pays
  • Even after coming to an agreement, there’s always a sense of wonder if the price could have gone even lower
  • “Professional” negotiators often exaggerate with guilt trips such as “I’ve got kids to feed”

    In Business As in Life, You Don’t Get What You Deserve, You Get What You Negotiate

Immediately after getting my first job offer soon after college, I went with my mom to the local car dealership. She was the negotiator in the family who drove the hardest bargain. I bought a car that Saturday from the first dealership I visited because I needed one for Monday. I went in expecting my mom to work her magic, but I sat and watched while the only additional value we extracted was an extra year of oil changes. Over time, I realized that I basically paid full price for something I didn’t have to, and I became determined to reduce my ignorance of negotiation.

An important concept to understand about negotiation is optimal pricing. Essentially, this means that the dealership wants to charge as much as any individual customer is willing to pay. The price is set to an arbitrarily high amount and each customer negotiates it down to an amount he or she is willing to pay. The dealership would not sell a car below what makes a profit. The salesman’s job is to make you feel like that baseline price is higher than it actually is. Does that make you feel more comfortable about negotiating? The additional money being paid above the baseline is going straight to profit!

The same applies to other scenarios, such as at a street market or negotiating salary. Obviously, there are many additional economic factors to consider, of which I know only a little. However, knowledge of this simple concept can ease discomfort about the negotiating environment.

Reaching the end of a job interview, the human resources person asked a young applicant fresh out of business school, “And what starting salary are you looking for?”

The applicant said, “In the neighborhood of $125,000 a year, depending on the benefits package.”

The interviewer said, “Well, what would you say to a package of five weeks’ vacation, 14 paid holidays, full medical and dental, company matching retirement fund to 50 percent of your salary, and a company car leased every two years, say, a red Corvette?”

The applicant sat up straight and said, “Wow! Are you kidding?”

And the interviewer replied, “Yeah, but you started it.”

-from Recruiters Network

Over the years, I’ve negotiated much more on my own, another car, home prices, salaries, etc. While I’m still very far from as proficient as I’d like to be, these experiences have taught me what to do and what are my weaknesses.

Create Objectivity by Having Someone Negotiate for You

A tip I learned from You Can Negotiate Anything is to ensure an objective party is negotiating for you. Because emotions often get in the way of logic, having someone who is invested only in reducing price can be highly beneficial. Relating this to my story above, my mom should have been objective in the situation but her own emotions were in play. She wanted to make sure I had a car so I didn’t have to borrow hers anymore. She did not want to experience the “pain” of lending her car any longer and was willing to have me pay to get my own.

Willingness to Walk away

The number 1 rule of negotiating is being willing to walk away from the deal. This gives you leverage.

In my example above, my mom was not willing to walk away, because she wanted me to have my own car. In other practical scenarios, this rule means that no one will give you a better price if he or she thinks you are going to buy something anyway. In contrast, if he or she senses your willingness to not come to an agreement, he or she will be more likely to meet your demands.

Collaborate on Less Significant Issues

Sometimes either party will not budge on the main issue, such as price. However, it can be possible to come to agreement on other items that are more significant to one side than the other. In the above example, this meant getting more free maintenance. In salary negotiation, it might mean getting extra paid time off or tuition reimbursement instead of a salary increase. There are many ways to add mutually beneficial clauses to meet in the middle of a negotiation. Additionally, this strategy is much less confrontational.

“If I give one to you, I have to give one to everybody else”

When going into a negotiation, make sure you understand the worst case scenario. Where possible, prepare beforehand to improve the worst case scenario. If missing out on a job opportunity means not having a job, then you can improve the worst case scenario by trying to line up a second job offer. Little tips like the ones above, plus many others, can help to make you a deadly negotiator, and as with anything, practice makes perfect.

Don’t Be Lured by the Fringe Benefits

It seems common for software developers to question their career direction after several years of experience. I have gathered through my own feelings and conversations with others that there is a point in one’s career, usually after about 4 years, at which one wonders how long he or she can continue to build business application after business application. What once was challenging and exciting has become repetitive and mundane because the pace of learning has greatly decreased. The motivation to create yet another CRUD application (one that is categorized because it only involves the most typical business functions: Create, Read, Update, Delete) has been lost, resulting in many introspective hours staring out the window thinking about greener pastures.

What can be done to renew the sense of excitement and urgency that comes from developing something new? Myself, I thought that working in a “cool” industry that I was already interested in would solve the issue. I figured I already loved sports and casinos. If I got a development job in those industries it would make the dull tasks less dull. I would be able to tell myself, “Well, I hate clicking through smoke tests again but at least everything is sports-related!”

Roulette CasinoBaseball StatueFashion Industry

Posted by Heather Clemons
Posted by wallyg

Having worked at an Information Technology (IT) department for a professional baseball team before, I figured I would be able to leverage my experience and professional network to get an interesting new job. Granted, my work there was more of an internship than anything, but a role in such high demand serves as a recognizable selection process and it has been a great conversation topic during job interviews. It was a wonderful overall experience and I appreciated the opportunity. Therefore, I focused on new jobs with professional sports teams, video game development companies, and casinos.

Casino – For someone going to school in the middle of Ohio, I spent a lot of weekend time in college at casinos. I enjoyed Black Jack and was constantly searching for the perfect system to make money. I even wanted to be a professional poker player for a little while. I also toyed with the idea of taking a winter off to learn to be a Black Jack dealer. There is something about fiddling with those heavy clay chips that is both riveting and relaxing at the same time.

Sabermetrics – Growing up I was obsessed with baseball and individual player statistics. I played on a baseball team and played board games like Strat-o-matic. I made my own scoring sheets and even used to make my own player cards to represent my friends in the board game. During my job search, I joined SABR, the Society for American Baseball Research, and immersed myself into baseball statistics again thinking I could become a full-time statistician or statistical application developer.

At this particular time in my life, I knew I was moving out of state, so I figured it was a perfect time to make an industry change. However, at the time I was not comfortable with the prospect of not getting paid so I took one of the first jobs that was offered to me until something else presented itself. A funny thing happened at that company. As it was a small software product company, I learned that the environment there was close to what I had wanted all along. It was an old company by software standards, but it still had a “startup feel.” I learned what I wanted and what would keep me motivated:

  • The transparency of a small company makes it easier to absorb new knowledge about other business functions (e.g. Marketing or Recruiting)
  • There is a shorter feedback loop from working at a small company. This creates more accountability and helps employees to learn what is working faster
  • Being a software developer at a software company is a critical role and treated as such

Although the company had its share of problems, it showed me what I was looking for in a long term position. I wanted the growth potential and commitment to progressive technology that comes from a software product startup.

While working in a “cool industry” does come with perks, fringe benefits, interesting subject matter, and it may turn out to be generally awesome for some, I caution software developers to think about some of the hidden drawbacks to these types of positions.

Positions are in High Demand

Positions in interesting industries are both scarce and in high demand. If you are interested in a professional sport, does the city you live in even have a team at the highest level? If not, that’s scarcity. If you are lucky enough to see a job opening you are interested in, you must realize that there will be hundreds, if not thousands, of other applications. That’s demand.

As a result, salaries tend to be lower and expectations of working hours are much longer, especially during busy seasons or big events. Additionally, people hired into these jobs stay around for a long time. Because of the low turnover, it can be difficult to gain more responsibility by moving into someone’s role that has just left, limiting opportunities for promotion.

Technology comes at a Cost

By definition, the interesting industries mentioned do not focus on technology. They are generating revenue through entertainment. Therefore, it may make the job more entertaining but it changes the perspective of technology throughout the organization. Employees outside of the IT department view technology as cumbersome, productivity-restricting, and expensive. Any time there is a trivial bug in internal software, it will be treated as an urgent support request. Did I mention developers will be doing technical support?

To summarize, the key problem here is that the organization does not exist for the sake of progressing in technology. The IT department is a cost center. Any mistakes that cost money for the company were not budgeted for and get escalated quickly, making for a stressful environment for technologists.

Think it over

There are smaller drawbacks to consider too. Working somewhere that garners the awe of family and friends comes with requests to trade favors (e.g. introductions or getting event tickets). Additionally, sports teams and casinos are highly competitive with one another, so they are protective of advantageous processes and knowledge. I prefer to be able to learn from peers both inside and outside of my company as opposed to being a slave to competitive information silos.

In reviewing the pros and cons of working for a professional sports team for this post, I have almost talked myself back into trying to work for one. The fringe benefits are great (e.g. free game tickets and meeting athletes), it helps build a resume, and colleagues are all intelligent and ambitious. However, it is my intention to bring up these drawbacks to shed light on the entire package that comes with the job and to remind myself that I really want to work for a software company. To marry the two concepts would be the “Genius of the and.” By working for or creating a web retailer like Zappos, who needs technology to thrive, one can work in an interesting industry, like fashion, AND be a crucial cog in building revenue for the company.

Drama Queens versus the Status Quo

I realized leading up to my wedding 2 years ago that I have grown up dreading being the center of attention. Throughout my engagement, I held a heavy fear of the wedding weekend because I was nervous about all the attention. I did not feel comfortable giving a speech (the night of the rehearsal dinner) nor tossing the garter. I’d lived my life until then blending in. I wouldn’t say I am a conformist, but definitely someone who avoids confrontation.

Is it possible to be successful with such tendencies? I say no. Well, not unless you’re a rare exception, one who has a mentor that teaches you all the tricks so that you’re never facing an unknown challenge.

The more stories I hear or books I read, the more I realize that folks get ahead in life and business by being consistently more effective than others. What is the best way to be consistently better? By looking for shortcuts, seizing opportunities, and doing the important things that others hate to do.

Apparently, the normal person is like I was. He or she shrinks away from conflict, hides from uncomfortable situations, and refuses to communicate the whole truth. Exceptional people have bucked the trend of fitting in. They challenge assumptions and find that there are often easier ways to accomplish great things.

A number of authors that I’ve recently read use this as their primary thesis. As Timothy Ferriss says in The 4 Hour Workweek, “What we fear doing most is usually what we MOST NEED TO DO!”

  • Tucker Max – I Hope they Serve Beer in Hell
  • Tim Ferriss – The 4 Hour Work Week
  • David H. Sandler – You Can’t Teach a Kid to Ride a Bike at a Seminar
  • Jim F. Kukral – Attention! This Book Will Make You Money

The advice from these books is completely logical, so why are Computer Programmers so conflicted when trying to apply it?

Most computer programmers chose the profession because it does not require interaction with other people, allowing them to continue to avoid difficult social situations. On the other hand, most programmers are skilled at seeing shortcut solutions to problems, optimizing processes, and reducing unnecessary tasks. They just won’t do anything that could be potentially embarrassing.

Drama Queen Developer

Photo by aka Kath

I think back to my childhood, when I socialized with some children like me and some who were drama queens, those who captured all the attention by whining that nothing ever went their way. Did the drama queens grow up with an advantage? They are used to asking people for things, do not take no for an answer, and shine with the spotlight. I contend that as long as a drama queen is not completely unlikeable, it is a great way to grow up with an advantage in our culture.

To those programmers who fit into the above personality, I say to become dissatisfied with the status quo. Learn to do things differently and opportunities will present themselves. Then seize them.

Carpe Diem

Is there any hope for the ideal bookstore?

Borders – My favorite bookstore

Recently, Borders Group Inc filed for Chapter 11 and closed a local Cincinnati store that I frequented. You can find details about the filing here. As I have explained in a previous post, I love to work at bookstores. They offer a great way to stimulate my mind while also offering the essentials (Internet and power outlets) to do actual work if I want to. We all knew that bookstores, in their current form, were going away. However, because I still love them is why I feel compelled to write about the disappointment that comes with their closing.

Borders Bookstore Closing

Photo by Mark Hillary

I remember hearing about Borders’ attempts at changing the layout and offerings of their stores with a new model. They were supposed to open one such store here in Cincinnati (the Kenwood area) about a year and a half ago. I waited with excitement to see how they attempted to approach a changing information market, but never was able to see it for myself. The construction project became a debacle and Borders, along with other companies, eventually backed out.

Borders realized that people are becoming less likely to purchase full-priced, bound books at the store. The demand is clearly not enough to warrant thousands of square footage for store space. People can both browse the information at the store for free (and then not buy anything) and find the exact piece of information needed online. It is rarely necessary to take a book home, and when it is it can usually be shipped home more cheaply.

Drastic changes must be made to save the bookstores…

Is there any hope?

Is there any way to fix the dying bookstore industry and make a brick and mortar store work? After all, there are an increasing number of people who can work without an office. Does that mean there is a growing market of people who would pay for a workplace at a bookstore?

Let’s analyze the benefits of bookstores versus other similar establishments (e.g. Libraries and Coffee Shops)…

Bookstore Pros

  • Social gatherings – bookstores are a great place to meet with friends to chat.
  • White noise – they realize conversations can get loud, so they try to please those trying to concentrate by piping music over the speaker system to generate white noise.
  • Food is served – is there any reason to leave when there are vital nutrients and caffeine within a cricket pitch from my table?
  • Research – bookstores have magazines and a wide variety of recent non-fiction books with which to perform research. When a topic can’t be found, just go online (with the free Internet service) and try to fill in the gaps.
  • People watching – for those of us who get a little more enjoyment occasionally working around people.
  • Store hours – bookstore hours are not usually as flexible as coffee shops but are much more so than libraries.

Library Cons

  • Less Noise – theoretically, loud library-goers are supposed to be shunned. At least, that’s how they were when I was growing up. Nowadays, with constant cell phone interruptions, it seems people no longer treat libraries as a quiet place for reading.
  • Food/Caffeine prohibited – I am getting sleepy, very sleepy…
  • Obsolete resources – most libraries now have free Internet, which is a savior because very few of their nonfiction books are useful anymore.

My ideal bookstore

I don’t know if it can make any money, but as I alluded to in a previous post, I have an idea for the ideal bookstore.

It would combine all the best aspects of current bookstores, coffee shops, and bars.

  • Books/Resources/Internet – this is a great benefit to current bookstores. If a goal is to reduce floor space, then books can be made available in electronic form but can only be accessed from within the bookstores’ provided Internet connection.
  • Coffee/Food/Alcohol – follow a similar formula to normal bookstores but provide alcohol as well. If Chipotle can serve beer, can’t a bookstore too?
  • More people watching – current bookstores are pretty good social environments as they are. However, for those people who want to be around others but not subject to their noise, there is no solution. My ideal bookstore would have social (loud) and focused (quiet) gathering areas. The quiet area would be surrounded by glass walls so as not to carry sound but to enable visibility.
  • Great location – a nice perk would be to have an outdoor seating area or a window that overlooked heavy pedestrian traffic.

As I have never been employed in the bookstore industry, I do not know if my concept could even make money, but that is not my concern. I just want someone to build it so I can live/work/play there.



Ponderous Thought: I have found that I often get “in the zone” during .NET User Group meetings and Firestarters, which leads me to believe that if my bookstores could somehow incorporate training or presentations that they could be even more valuable!

Were my Microsoft Certification Exams Worth it?

As important as it is for Software Developers to keep current with emerging technologies, it is equally important to choose wisely when it comes to learning them. Indeed, there is a finite amount of time to devote to self-improvement. This truth became evident most recently while I’ve been thinking about my personal goals for the year and trying to decide whether or not I should try to obtain the more recent Microsoft certifications on .NET 4.0, such as Web Developer or Azure Developer on Visual Studio 2010. It got me to thinking about all the time I spent at the beginning of my career getting certified and whether or not that investment has paid dividends.

As described in Contrasting 2 Job Rejections, I was scared about my job prospects after graduating college. Once I got a job, I felt that I needed to ensure I had opportunities going forward and figured getting Microsoft Certifications would be the best way to differentiate myself from the candidate pool. I took 14 tests in less than 3 years, passing 12 and failing twice. I obtained the status Microsoft Certified Systems Engineer (MCSE), Microsoft Certified Database Administrator (MCDBA), and Microsoft Certified Solution Developer (MCSD). You can see my transcript here (enter transcript ID “677424” and access code “insights”).

Some of the tests were paid for by my employer, some were not. I usually studied using the officially released self-paced training kit for each test, but I’ve also purchased expensive training videos, exam crams, used free web casts, etc. I was completely immersed in the certification process. I actually understood all the options and the Microsoft certification path, of which there are now many. Since it’s been almost 2 years since I’ve taken any, I find myself out of the loop, wondering if it makes sense for me to re-enter this world.

At the time of this writing, I have about 7 years of professional software development experience, enough to significantly reduce the amount of studying required to pass a certification test compared to earlier in my career.

Expected Study time (hours) Completed Study Time (hours) Practice Tests (hours) Days Studying Hours Per Day Test Date
70-270 (Microsoft
Windows XP Professional)
45 51.00 9.50 35 1.73 February 12,2004
70-290 (Windows Server
2003 Environment)
31 28.00 3 23 1.35 March 10, 2004
70-291 (Windows 2003
Network Infrastructure)
47.5 78.00 11.5 122 0.73 July 9, 2004
Took Test on July 9th 9 4.5 12 1.13 July 21, 2004
70-293 (Windows 2003
Planning a Network)
22 12 4 15 1.07 August 5, 2004
Took Test on August 5th 30.50 8.5 64 0.61 October 8, 2004
70-294 (Windows Server
2003 Active Directory)
21 14.08 4 31 0.58 April 2, 2005
70-297 (Win2003 A.D.
& Network Infastructure)
16.5 16.92 2.5 17 1.14 April 19, 2005
70-228 (SQL 2000
55 53.42 5.5 72 0.82 May 27, 2005
70-229 (SQL 2000
24 23.50 3 151 0.18 October 29, 2005
70-315 (Web Apps with
Visual C# .NET)
34 45.50 13.5 81 0.73 January 24, 2006
70-320 (XML Web Services
with C# .NET)
40 34.00 3 42 0.88 May 2, 2006
70-316 (Windows Apps
with Visual C# .NET)
14 15.42 3.25 22 0.85 June 6, 2006
70-300 (Solutions
Architecture & Req’ts)
12 7.58 9 47 0.35 September 28, 2006
70-553 (Upgrade MCSD to
MCPD : Part 1)
82 16.00 4 428 0.05 April 12, 2008
70-554 (Upgrade MCSD to
MCPD : Part 2)
55 0.00 5 22 0.23 May 5, 2008
Took Test on May 5th still counting 0.00 February 28, 2009?
70-502 (.NET 3.5 –
Windows Presentation Foundation)
14 14.00 6 108 0.19 December 13, 2008
70-561 (.NET 3.5 –
12.25 12.50 0.5 18 0.72 May 2, 2009

Would obtaining more certifications be valuable? Looking back, I feel that it was worth it to work towards achieving the certifications that I did. They served 2 purposes:

Milestones for Self-Motivated Learning

By deciding to get certified, I was declaring a personal goal that was tangible and had benefits other than just self-improvement. Many of the topics involved in certification were topics that I wanted to learn about anyway, especially early in my career. For example, I was assigned to my first professional web application project about the same time that I was ready to begin studying for the related certification. Since my professional life and personal interests were colliding, I found it much easier to be motivated to study and create small side projects to practice what I had learned. Better yet, knowing the milestone of passing the test would aid in job security added to the incentive to learn.

Measurable Proficiency

I have heard people in the IT industry downplay the significance of certifications, especially those from Microsoft. Some have argued that the tested topics do not accurately reflect skills that are required to perform well on the job. Others state that the proliferation of “brain dumps,” practice tests that have actual questions from real exams (and are considered cheating), marginalize what the tests represent.

My feeling is that there is a lot of truth to these points. However, employers still seemed to have placed some value on certifications. They may have asked, “If certification tests are so trivial, why doesn’t everyone have them?” I found in the years after my achievements, that it did help in my job search. I believe it exhibited measurable proficiency in topics that I claimed to have experience in. This differentiated me from others who could merely state something to the effect of: “Experience = ASP.NET – 2 years.” The achievement generated conversation in interviews. When asked about my certifications, I got to explain how I set personal goals and followed through on them, learning a great deal of relevant skills in the process. @MikeWo also reminded me on twitter that companies need certain certification requirements of their employees to keep partner status, yet another benefit to hiring someone who has them already or displays the ability to pass them quickly.

Having established that it was worthwhile to get certified in the past, does that mean I should set a goal for future certifications?

It is yet to be determined, but I don’t think so. The direction I am trying to take with my career is not to spend focused time learning the details of the next version of ASP.NET, for example. I have also already built my resume to a point where “getting my foot in the door” is not the problem it used to be. Therefore, the benefits listed above do not quite align with what I want to achieve going forward. I could always afford to learn more about Microsoft technologies, such as .NET, but I already know enough to be effective. I am more interested in learning non-Microsoft technologies these days, like jQuery, Mercurial, or anything Google, so I may be convinced to take a test for a new, interesting technology once it is released and known to have value throughout the industry. Lastly, I believe that the best way to get a great job is a great network and by establishing the ability to get things done.

Time to buckle down and get things done then…

Exam Tip: No matter how much you study before-hand, always cram: it’s important to have that info in short-term memory going into the test. It’s also highly beneficial to gauge your readiness by taking a practice test with a company like Transcender.

How to Make a Whiteboard Wall for your P90X Workout Calendar

A computer scientist is writing about health, so I know you’re thinking this must be one of those New Year’s Resolutions posts in which I talk about how I need to get myself into shape. Is that what this post is all about?

While we’re discussing it, here are my health-related New Year’s Resolutions for 2011:

– Lose weight to less than 205 lbs by end of February

– Reduce cholesterol by the end of January

– Run a half-marathon by August

– Dunk a basketball in a pickup game


Yes. And No.

You see, I’ve already begun to whip myself into shape since the 2nd half of 2010. Specifically, I’ve been using the P90X workout routine and have been pleased with the results. Sure, recompositioning fat into rock-solid muscle may seem like the end goal, but for analytical folk like you and me it is not the only reward. My wife allowed me to dedicate an entire wall in my workout room to track which exercises I completed, how many reps, how much weight I used, and my goals. It’s a real-life data dashboard!

If you share my excitement for tracking progress, doodling, or staring at reflective surfaces, you may want to know how I did it. p90x whiteboard wallHere’s how:

  1. Determine a wall in one of your home’s utility rooms (e.g. office, workout room, basement) which is segregated from normal clutter.
  2. Purchase Dry Erase wall paint. I used Rust-Oleum and I recommend it. The price was right and I have had 0 complaints.
  3. Follow the directions on the label of your paint to apply it to your wall. The highlights of my process were:
    1. Prepare my wall by sanding rough spots and wiping off dirt.
    2. Dry Erase paint comes with 2 separate cans of different paint mixtures. I had to mix them both together before the next step.
    3. Apply a coat of the mixture as you would with any paint. I used a roller and a brush after taping the edges of my wall.
    4. Recoat if necessary. In my case it wasn’t.
    5. Wait a few days before writing on the wall with Dry Erase markers.
  4. Next is the part where the data comes into play… Look over your P90X workout calendar and map it out on the wall. Leave space to fill in the blanks for each workout.
  5. As you go through each video, especially those involving lifting (e.g. Chest & Back, Shoulders & Arms, Legs & Back), Tony will tell you to write down your results. Take action on his advice.
  6. Each week you can look back on what you have accomplished previously as your baseline. Since we’ll be getting better and stronger every week, our baseline changes frequently. A white board is the perfect vector for storing our results!
  7. After a couple weeks of doing the exercises, I recommend setting goals for each exercise. For my whiteboard, I used blue marker to record my most recent accomplishment and red marker to set a goal for myself at the end of the 13 week schedule

    Results and Goals.


The only step I left out was purchasing the P90X videos if you have not yet. Otherwise, that’s it!

I’m still learning a lot about working out and eating right. Hit me up in the comments or on twitter if you want to discuss.

Looking for extra motivation? In Tim Ferriss’ 4 Hour Body, he shares a story of Richard Branson, the ridiculously successful head of Virgin Group, and how he remains productive. His short answer: “Work out.”

Many of us have a habit of lounging around when tired, especially after a long, stressful day of work. I know this can be a default activity for me at times. However, we must all acknowledge that the best way to reach our goals, both physically and mentally is to work out if there is still time in the day. I realized this on my own a couple years ago, that if I force myself to get my blood pumping, even by doing something as simple as jumping rope for 5 to 10 minutes, I will feel re-energized and ready to be productive. Keep that wisdom with you when thinking about lying on the couch and turning on the television.

Additional Links for setting up your workout room:
http://www.beachbody.com/product/fitness_gear/p90x_gear/p90x_chin_up_bar.do (But I recommend getting a cheaper option)

Contrasting 2 Job Rejections

Job interviews have 2 purposes: the 1st being the need for a company to evaluate a job candidate and the 2nd being for the candidate to evaluate the company. Far too many interviewers forget the importance of the latter.

In my experience, I have several interesting stories regarding interviews from both sides of the table (candidate versus interviewer), but 2 personal stories stand out from my job search. Both of them involve the same outcome, rejection. However, the 2 companies could not have been less similar in the process that got us to that outcome.

(Photo by bpsusf)

Job Search 1.0

After graduating college years ago, I did not have a job lined up for me. To overcome this, I admittedly began applying to jobs with brute force. My resume got fired off to any ad in the newspaper, whether I was qualified or not. Being inexperienced with the job search process, I was also fairly unorganized. I commonly received follow up phone calls from companies that I didn’t recognize. One such company was headquartered in Westlake, OH. Despite my confusion about how I applied, my lack of knowledge of the company, and general stumbling behavior, I was invited to a job interview for a technical support position.

At the time I was naïve. I had prepared for behavioral interview questions such as, “what was an example of a conflict you have resolved?” but I had not prepared for a technical interview. I did not realize that this type of interview would be a comprehensive test of everything I learned during school. As a result, the interview did not go well.

I failed to answer 70 to 90 percent of the questions delivered to me. I was in way over my head and so were the interviewers. There were 2 men on the other side of the table, firing basic undergraduate level computer science questions at me. With each of my failed attempts, they reacted with impatience. I could see them trying to hold back the disgust and frustration from such a miserable process. Near the end, I asked a canned question: “what are the next steps?” While 1 of the men tried to be professional, starting with “we’ll get back you if…” he was immediately cut off by the more senior employee with the statement “I don’t think so.” I suppose that was his idea of a rejection letter.

Clearly, I did not make a good impression with this company. Had I realized that I could not simply go into a technical interview and wing it or had I done some review of the syntax, definitions, and algorithms from my previous terms I would have passed the test. I just hope I didn’t end up on The Daily WTF. The result was demoralizing, in a good way. Just as clear as my incompatibility with the position was the unprofessionalism of the company. My embarrassment motivated me to get my act together. After I did, I knew better than to send this particular company another job application.

Job Search 2.0

Much more recently, I applied to Fog Creek Software with an excellent cover letter and resume. In case you have not heard of Fog Creek, it is an exclusive company in New York, known for hiring elite programmers. The CEO is Joel Spolsky, about whom I have referred multiple times on this blog. Perhaps I should not have been surprised, but I received a cleverly written response in the form of an email inviting me to have a technical phone interview with a Fog Creek developer. I became extremely excited and began to prepare for the interview immediately. Because Joel is so open about his interviewing techniques, I knew that I had to re-learn the C programming language, so I spent the few days I had reading as much as I could and writing some sample programs.

Despite my preparation, I struggled mightily during the interview. I fielded difficult questions designed to eliminate a high percentage of applicants that were qualified based on their resumes. The questions were not completely foreign to me, but I wasn’t able to internalize C programming to the degree I needed to in order to answer these abstract questions quickly. Consequently, I received a pleasant rejection letter about a week later.

In contrast to the 1st story, the interview with Fog Creek was a much more enjoyable experience. Throughout my struggles answering questions, the interviewer remained patient and calm. He seemed to grasp the importance of being a professional vector for the company to the outside world. When I struggled, he rephrased the question. I am pretty sure he even ended the interview early, but I have no problem with that. Why should he continue to waste either of our time? Despite ending the technical part of the interview early, he thoroughly answered all my questions about the company and sent me off with a cheerful blessing. As a result, I still speak highly of Fog Creek Software and would recommend other software developers to apply there.

Lessons Learned – Job Interview Tips

When performing job interviews, I urge you to place importance on making a good impression for your company to all job candidates. Being professional and courteous leads to positive word of mouth, which in turn leads to a better array of candidates. To remind my readers and myself of this goal, here are some tips to remaining professional during a candidate’s train wreck:

  • Be patient with failing interviewees. Let them answer questions at their own pace. At a certain point, try rephrasing the question before moving on.
  • Smile and be friendly. Think of the interview as an opportunity to have an intellectual conversation. There will likely be something you can learn from it.
  • Finish short if necessary, but do not do it abruptly. Find a good breaking point after a fair minimum amount of time (for me this is usually 15 to 20 minutes). Politely mention that your questions are finished but that you are open to fielding questions from the candidate. Field those questions as you would to any candidate.
  • Send a rejection letter to rejected candidates. Do not just remove them from candidacy without informing them.

5 Career Lessons Learned Planning My Wedding

My wife and I were married in July two years ago (2008). We had a fairly large wedding, by our standards, which involved many nights spent planning, collaborating, and organizing. The list of tasks that needed to be completed seemed never-ending. To manage them, we used a website that listed them out month-by-month, letting us know when our progress had slipped (e.g. having not yet chosen our center-pieces 8 months prior). Little did I know that we did not have to do every little thing that the website specified…

Looking back on that wonderful night, I realized that I learned a great deal from planning such an important event. Much of what I learned will help me in my career. Below are the highlights.

1. Prioritize

Often times in America, planning of a wedding begins moments after the excitement of the engagement quells. Coming from a male perspective, this is amazing. We spend our time planning to “pop the question”, and then as soon as we do, it is as if the floodgates of wedding expectations and desires open right up. From that point forward, the giant list of preparative tasks stays at the fore-front of our minds. Ever-growing. Never shrinking.

As overwhelming as the list may be, it can be managed through prioritization, by sitting down with your fiancee and discussing those items that are the most important. This exercise leads to a plan that can save you money and time, by realizing which items can be purchased for less money, which items can be delegated, or which items can be left uncompleted.

In addition to the list of known tasks, there will be issues. For example, the color of my vest that I wore on my wedding day was incorrect. It was white when it should have been ivory. I, of course, didn’t notice until it was too late. It was not a big deal. Things like this will happen in weddings and in your career. As long as it does not affect your top priorities, do not let it stress you out. There will be a time and place to resolve such issues. That time is not during your wedding day.

Think of this scenario in the business world. You and a team are working toward a Big Hairy Audacious Goal and it feels as though processes are becoming disorganized. You feel like you have to do everything or you will be a failure. This is simply not true.

Take a step back and evaluate the most significant goals and tasks with your core group. Focus. Make sure to proceed with only those items that will bring progress to your primary goals. If you can achieve them, you will be successful even though things may not be perfect.

2. Outsource

Most people, when planning for a wedding, still have a life to live. They have a full-time job, a social life, family obligations, school… Time management becomes crucial. When wedding planning, you must realize that your time is important, because only you (and your fiancee) can make many of the important decisions. Instead of performing all the work yourself, you MUST delegate/outsource. In my case, I thought I wanted to have complete control over the DJ’s playlist. However, I soon realized that I just wasn’t going to be able to create a complete playlist and also accomplish my bigger goals. “Leave it to the DJ,” I said. “He is a professional, afterall.”

Hopefully you will find that family and friends offer to help with wedding preparations. Perhaps your initial instinct is that you do not need it. I advise you to find a way for them to help. Practice your delegation skills. Remember, your time is critical. If you can relinquish a little bit of control to allow someone else to help, you will have more time to work on the truly important aspects of your wedding. Besides, if you try to do everything yourself, it’s not going to turn out perfectly anyway, because you will run out of time. At the end of it all, make sure to let your helpers know how appreciative you are that they were able to contribute.

At the workplace, how many times have you found yourself working on a rote task because it was easier to perform yourself than to teach someone else how to do it? Please discontinue this dangerous habit! If you are working toward a tight deadline, you must have enough time to do those things that only you can do. Delegate. Outsource. Allow someone else to concentrate on those tasks that you work on just to get them out of your way. He/She may even be able to do them better than you can.

3. Overcommunicate

An important aspect of outsourcing is communication. Most likely, the biggest reason we avoid delegation of tasks is because we fear that the task will not be completed satisfactorily. This is a valid fear. Vendors, colleagues, and friendly helpers all have their own ideas and biases. Without appropriate direction, they will run with them until told to make changes (which will be too late).

Therefore, when planning a wedding or directing a project in our careers, we must overcommunicate. We cannot assume our helpers know what we want. You may not even know what you want right away either. Just make sure to follow-up with them. Express your concerns clearly and with objectivity. Explain how your tastes have changed. Remember, in most cases, you are dealing with professionals. They are skilled in taking an idea and creating something tangible. However, they cannot read your mind.

4. Disrupt Your Comfort Zone

This one is the most important.

There were many, MANY things that I had to do for my wedding that I simply did not want to do. In other words, if I could have avoided uncomfortable obligations, such as giving a speech at the Rehearsal Dinner or having to entertain during the Garter Toss, I would have. However, I would not have realized at the time how much I was missing. Looking back, the uncomfortable times created the memories and stories worth re-telling. Additionally, the uncomfortable efforts gave me experience doing things I was not used to, ultimately giving me more confidence no matter the endeavor going forward.

Ever since that night I have made a concerted effort to try and push myself outside my comfort zone. The book The Think Big Manifesto refers to this as “Getting Comfortable with Discomfort.” I admit, I have not made as many strides as I would have liked in this area. Why? Because doing things outside your comfort zone is HARD! By definition, it means doing things that are uncomfortable. Then, once you have mastered those so they are comfortable, finding new awkward things to do. Without a catalyst or a deep-rooted goal, most people will slip into a rut of comfort.

In the case of a wedding, finding that goal can be simpler. It might be to “have the best time possible,” to “show our family how much we love them,” or to “actually look half-decent while dancing.” In our career and our life, it is much more difficult to find motivation. I encourage you to do some “soul-searching”. Determine what it is you truly want from life and begin moving forward by living outside your comfort zone. If you cannot settle on a worthy goal, I recommend making a list of things that you feel like you should be able to do but have never done.

Here are a couple things on my list:

  • Sell Something
  • Talk to a Stranger in a bar (Sober)
  • Babysit
  • Medium-Sized Home Improvement Project

Perform one a week. Perhaps it will open your mind to new possibilities. I will post my progress on this blog as well.

5. Connect

There is no better time to let someone know how special they are than right now. Ok, so this isn’t necessarily career advice, but it does come into play. If you appreciate someone, let them know. Right now. In person. You will be glad you did. You will feel better about spending many hours at work knowing the people you love know you love them.

Some people find this difficult, including myself. If you are one of these people, or for some other reason you would like to say “Congrats” or “I’m Sorry” or “I Love You,” but you can’t or don’t know how, browse to my website, Viternus, which is exactly for situations like this. Create a message that can be delivered at a later date. Perhaps that will take off some of the pressure.


By the end of it all, we had made mistakes and left things unfinished. But guess what! I still consider the event a success. As long as our core group (i.e. my wife and I) are focused and aligned with what we want, it is possible to have success even though everything is not perfect. I will strive for this type of success throughout my life and career.

Why are there no programming books at the bookstore?

This post was written over a year ago based on frustrations of not finding good .NET materials at the bookstore. It is being published as a bonus post now after finally completing it.

A little about me:

– I live in the Midwest
– I like to program at bookstores
– My favorite band is Huey Lewis & the News

I like programming at bookstores. Armed with a laptop and earplugs, I find myself at my most creative and in flow when I am around interesting resources. Browsing a few technical or business books, my mind quickly reaches hyper-active problem solving mode. To play off the ancient proverb, when I find my hammer through reading, I immediately notice all the nails I have to pound.

In the Cincinnati area, Barnes & Noble and Borders are the most predominant bookstores with Joseph Beth coming in a distant 3rd. Bookstores are nice because they are open relatively late (compared to libraries), have coffee bars with Internet, and have seemingly infinite resources on a variety of topics (as compared to Starbucks). At least, they “had” a variety of resources. It seems over the last couple years these large scale bookstores have been phasing out the acquisition of new tech books. It used to be that I could go to the bookstore and utilize the books to do legitimate technical research. Now, it seems that only the heavily mainstream books are on the shelves.

In late 2008, when I should have been seeing books about the Entity Framework or Sync Framework soon after they came out, I did not find anything except on Amazon. The lack of books on new .NET frameworks continued when ASP.NET MVC came out and no physical copies could be found. My strategy used to be to check Amazon to see when new books were about to be released and then to travel to Borders on that day to perform the research I needed. Or sometimes I would browse the books at the store to determine if any were worthy of buying. For those that were, I then bought them on Amazon because they were much cheaper.

Unfortunately, the trend has continued. I am hard pressed to find any interesting books (or those that I have not read already) in the “Computers – Programming” category. And this used to be the key differentiator to me from the coffee shops on every street corner.

I realize that I may not be the ideal customer in the eyes of the bookstore. I have learned not to buy any books from them and commonly use the free Internet provided. However, I at least make a conscious effort to purchase an overpriced beverage every time I abuse the store’s resources.

With the above changes comes my growing disappointment. I miss having a central place to do research, skim random books, surf the Internet, energize myself with caffeine, and watch people. I don’t believe I can get that just from the Internet at home or a coffee shop. Additionally, I prefer to learn through reading books versus through the Internet, mainly because they tend to cover a wider spectrum of knowledge. Usually, a book goes through the basics to the intermediate and then the advanced. Books tend to contain straight-forward walkthroughs, executive summaries, and theoretical concepts. In contrast, the Internet tends to have very specific blog entries that solve a particular problem. When researching this way, I am forced to “jump right in” instead of following a complete tutorial targeting varying experience levels. It can be difficult to find high-level descriptions about a technology and why it is useful.

Is it useful to complain about a problem for which I am not offering a solution? I don’t know. I assume the bookstores are not making very much money by filling their inventory with programming books. Or perhaps authors are no longer producing content in the form of physical page turners. I just hope they know that the technology and programming books were a small part of the overall experience which caused me to buy their coffee. I guess attracting my “type” wasn’t worth it for them.

Perhaps when I win the lottery, I’ll unleash my solution to the dying bookstore industry. More on this in a later post…