Top 10 Midwest Cities in Enlightened Developers

As I’ve written before, I often think about which American cities are the best hosts for software developers. I’ve stumbled upon another metric contributing to the conversation: Number of Developers with Stack Overflow Careers accounts.

It seems to me that developers with accounts on Stack Overflow tend to be more enlightened than those who do not. If we assume that a representative number of those developers have “Careers” accounts, then we can easily compute a ratio of enlightened developers in a city.

  1. To query the number of developers in a city, navigate to:

  1. Simply type in the city name and click “Search”.
  2. You’ll see a nice map representation with the number of “Careers” accounts in the area (I used a radius of 50 miles)


The nice thing about this approach is it is simple and currently free. I’ve been experimenting with this search page since 2009, back when no city in Ohio had more than 9 members. It’s nice to see such growth in the site.

To instead get more accurate data, the StackExchange API could be used to compile the locations of every Stack Overflow user. The locations could then be parsed and plotted on a map with additional processing to query how many are within a certain distance. Actually, that sounds interesting. I think I’ll have to do that soon!

Keeping with the consistency of my blog, let’s take a look at the cities in the Midwest with the highest numbers of developers with Stack Overflow Careers accounts. You can contrast the below numbers with a large city, like San Francisco, CA, which has 3500.


1. Chicago, IL
2. Detroit, MI
3. Pittsburgh, PA
4. Columbus, OH
5. Cleveland, OH
6. Kansas City, MO
7. Indianapolis, IN
8. Milwaukee, WI
9. St Louis, MO
10. Madison, WI
11. Cincinnati, OH
12. Grand Rapids, MI
13. Des Moines, IA


How Should the Midwest be Defined?

Allow me for a moment to rant about what I consider the “Midwest.” Many people who live outside the Midwest maintain too broad a definition of the Midwest. Omaha and Minneapolis are not Midwestern cities. They reside in the Great Plains. Louisville & Nashville are not Midwestern cities. They are in the South. There is a certain culture embodied by a Midwestern city that excludes those previously mentioned. Midwestern cities are not major metropolises nor are they merely farm country. They reside somewhere in between, as medium-sized cities, and are typically within a short drive of another city falling in the same category. Refer to my hand-drawn map of the Midwest.


An ideal map of the Midwest can split state borders. It should seem clear why northern Wisconsin & Michigan are not included. They are so far North that the culture is different enough not to be representative. Culturally, the cities I choose to include are similar. They tend to have cold winters, their people speak with only slight accents, and they all have an inferiority complex with Chicago. Lastly, every city is within a 3 hour drive to a Top 100 US city in population. This last point is what disqualifies Minneapolis, which is a significant drive to Madison.


We Make Quite the Duo

As part of Toastmasters, I recently gave a speech out of The Entertaining Speaker – Advanced Communication Series.

Project 1 – “The Entertaining Speech”
Duration: 5-7 Minutes

  • Entertaining the audience by relating a personal experience
  • Organize an entertaining speech for maximum impact


A Tall, Inexpensive, Standing Desk Solution

Over the past year, I’ve been working exclusively on a reasonably-priced standing desk. Originally, I thought I wanted to splurge on an adjustable height desk, but I wasn’t sure how much I would actually use the standing capability. Therefore, I did some research and found a very easy-to-assemble, albeit not advertised, configuration of Ikea desk parts.

You can reference the Vika Buying Guide here.

I bought the Vika Amon (now called Linnmon) table top ($48), which is a nice big platform for my keyboard, mouse, and some extra workspace.

The default legs that are used with this table top are called Vika Adils. They are cheaply priced at $3.50/each, but they are for a shorter table configuration. They are not adjustable and are only 27 1/2″ tall.

Instead, to create a tall standing desk, I used a different type of leg from Ikea, the Vika Byske ($30/each). Vika Byske legs are adjustable up to 42 1/8″ and are supposed to go with the Gerton/Vika Byske table. However, the configuration I used still worked. They screwed into the bottom of the Vika Amon table just like the other legs.

The desk works perfectly for me and I recommend this setup. Including the platform of the table top, the height of the desk is 44″, which is right at the height of my elbows bent at 90 degrees hanging down at my sides.



When I don’t want to stand

There are times when I get too tired to stand, so I needed a large stool ($60) I could sit in and still be high enough to comfortably reach the keyboard. Now that I know that I like this setup, I would like to upgrade the stool situation. However, it’s difficult to find such a tall stool for under $200.

Desktop Setup

I bought a shelf to raise my monitor from the desktop. I cannot find it online at, but it was on display in the store. It raises the monitor about 12″.

Another useful item is my iPhone stand. I use it to connect power my iPhone and situate it as a 3rd monitor. The screen stays on as I sometimes use it to display a stock ticker, time tracker, or reference videos.



The Specs


44″ high desk

33″ high chair


1 Table – $48

5 Legs – $150

1 Monitor Shelf – $30

1 Barstool – $60

Total for a standing desk solution: ~$290



I love my desk setup but there are a couple drawbacks involved.

  1. The taller the legs go, the less stable the desk is. I feel as though I’ve extended the adjustable legs to their maximum length. At this height, the desk does wobble a bit but I’ve been using it over a year and have never had anything fall off. I would be much more concerned though if, say, a toddler were around the desk and was trying to shake the legs, because the toddler may cause something to fall off.
  2. Cables are difficult to hide, since this desk is simply a table top and legs. Also, since it’s so tall, many people can see the unsightly mess stored underneath it. Therefore, to maintain a consistent look, you almost need to purchase a matching cable concealer and file cabinet on which to place the computer.

Still, I recommend trying out a standing desk to see if you like it. Remember, it can be done for the small financial commitment of under $300.

Umbrella Theory


Posted by A is for Angie

My wife and I have started to use a term we’ve developed called “Umbrella Theory.” It’s almost a synonym of “Reverse Jinx,” but there’s more to it than that.

The Reverse Jinx

By my definition, to jinx means to “foredoom to failure or misfortune by mentioning the possibility of an unlikely catastrophe.” A simple example would be saying “we are on target to reach our destination on time unless we meet stopped traffic at 2 in the morning.” If you believe in jinxes, you believe that mentioning that statement ensures you will “meet stopped traffic at 2 in the morning.” It follows that superstitious folks sometimes strategically mention the opposite outcome in hopes to influence an unlikely event in their favor. Stating publicly “the Miami Heat are a lock to win their 24th consecutive game tonight” is a reverse jinx if the orator also bets against the Miami Heat. If reverse jinxes worked, I would probably walk out my front door stating “It’s going to rain today,” and I would get to enjoy dry weather for all time.

The Umbrella Theory

“Umbrella Theory” has a special meaning in the parlance of our household. It stems from the experience that it seems like it never rains when we’ve gone through the trouble to bring an umbrella with us.

Let me walk you through a sample dialog:

Me: Is it supposed to rain today when we’re at the game?

My Wife: I heard it’s a possibility.

Me: Should I take an umbrella?

My Wife: “Umbrella Theory.” Just take it.

What inevitably follows is I take the umbrella with me and the weather stays clear. I simply have to endure the small burden of carrying the umbrella to be prepared, to ensure the negative event I’m preparing for doesn’t even happen.

What We Have Learned

The Umbrella Theory is admittedly silly. Still, it can be a useful guide in my family’s decision making process. When worrying about what to pack or how to prepare for something, the theory reminds us to prepare for the “Worst” if the preparations are relatively easy. Also, it is important to decide quickly. There is no reason to deliberate with the Umbrella Theory. Time spent determining whether preparation is necessary can just be spent on the actual preparations.

I hope this terminology catches on in your household. May you carry an umbrella with you always!

This Guy’s a Competent Communicator

Memorizing an Entire Speech is Difficult

In December, I completed my 10th and final Toastmasters Speech on the path to fulfilling my Competent Communicator certification.

The intention of the speech was to Inspire with the length being between 8 and 10 minutes.

On one hand, I feel I’ve learned a great deal from presenting 10 speeches at my Toastmasters Club. I’ve become much more confident and have a better feeling for what types of stories work when writing my speeches. On the other hand, I still haven’t mastered the ability to speak, and say everything I want, without notes. This was evident in the below speech. 8-10 minutes is longer than any of the others, so my attempts to memorize the entire thing left me pausing to search for the next line far too often. I am sure I can overcome this struggle with more practice.

With the certification out of the way, I can now relax a bit and have some more fun with my future speeches. I’ve got a couple of clever ideas I can play around with. Stay tuned to see them.

SWOGC: How We Built a Web Portal in under 48 Hours

Southwest Ohio Give CampThis past weekend I volunteered my time to the Southwest Ohio Give Camp for the 3rd consecutive year. All in all, it’s a great event, a local chapter of, where regional software developers, designers, and technologists gather together in teams to create working solutions for charities. In the past, I’ve merely volunteered my time and expertise, but this year I undertook a higher challenge, leading my own team. In this post, I discuss my plan for building an entire web portal in less than 48 hours and the lessons learned.


Leading a GiveCamp Team – The Plan

I had compiled 8 tips for myself through observation in past years. Going into the weekend, these were my keys to success:

Before the Weekend

  • Prepare with the charity representative to obtain the majority of requirements
  • Present the charity with a “Wish List”, what we need the charity to provide (e.g. logins or files) to be successful
  • Begin visual design collaboration and discussing philosophies
  • Decide on a CMS, such as WordPress or Umbraco

During the Weekend

  • Be pragmatic and cognizant of the critical path!
  • As leader, make sure there are no tasks during the weekend that only I can do
  • Stay clean and flexible
  • Create a project plan first


Putting it all together – The Execution

Knowing I would be leading my own team, I recruited 2 .NET developers to help over the weekend. In addition, the event organizers assigned me 2 more developers and a designer. Our charity’s representative was also there to help for almost the entire time.

From Friday evening to Sunday afternoon, our team of technologists contributed about 120 hours to the project. We implemented an internal employee portal for the charity made to match the style of the existing website as much as possible. I would say it was generally a success.


Lessons Learned – a Retrospective

“Is that it? That’s all you’re going to say about how the weekend went?”

Well, the details of the project weren’t that interesting. But now that you know what happened, I can remark on what I found to be most important about our strategy and implementation.

Getting Started was Difficult

As you might imagine, assembling a team of mostly strangers, who know very little about the task at hand, can present a specific set of problems. Namely, everyone struggles to dive into a task because of a lack of knowledge about the overall requirements, plan, and others’ skill sets while pitted against the aggressive time constraint.

I think this is somewhat unavoidable. I did a good job of following my own advice, numbers 4 and 8 from above. I also had a list of known tasks pre-written on post-it notes that I used as discussion points to explain the scope of the project. I think having had some of the bigger decisions made going into the weekend helped the team to focus on delivering value to the charity. However, the team didn’t seem to naturally mesh and become fully engaged until Saturday afternoon.

How could I have changed my approach to reach that point earlier? I could have gone further with my research for the weekend making sure that any technical roadblocks were overcome before we started. This became most obvious in relation to my choice of CMS. We were using Joomla!, the CMS that the charity already had for their existing website. Personally, I did not know enough about this CMS to get started in a reasonable timeframe. I was dependent on team members to get our site up and running and the members who did not know Joomla! did not have much to do. Looking back, I would either choose a CMS that I was already more comfortable with or make sure that I knew how to get started with what I chose. Alas, I realized I got lucky with my team member assignments by acquiring some Joomla! knowledge along with them.

Iteration is Awesome

Having the luxury of a charity representative throughout the weekend, we leveraged a tight feedback loop to ensure we delivered a valuable solution. In fact, around noon on Saturday, we all realized that a significant portion of the planned tasks would only be of marginal benefit. Because we adhered to tip number 7 above, we were able to have an ad hoc discussion with the charity about what would provide the most value. As a result, we scrapped many of the broad functionality on our project plan and replaced it with one deeply functional requirement. Had we not had an iterative approach we would not have been able to fulfill the charity’s actual needs.

Get a Designer

Every year, the most in-demand skill at these GiveCamps has been design. There are usually not enough designers for every team and this year was no different. We were lucky to get assigned one (who also was fairly knowledgeable in Joomla!). Having a designer on the team is important because there is no easier way to feel like your solution is worthless than to have it look subpar. This is especially true at a GiveCamp weekend, when all the teams present their results on Sunday and give you benchmarks to compare against. On a time constraint and non-existent budget, I don’t know many developers who could make a user-interface that meets the new standards of the web. Even though our charity was not looking for a “fresh” design on their internal portal, it was nice to have someone who could troubleshoot display issues as we put it together.


Would I Do it again?

In a word, absolutely. While I’ve found that the solutions created for these charities over the past 3 years have not been the most interesting technically, the delight and value we are able to provide for non-profit organizations is quite fulfilling. Sure, the weekend comes with a certain level of anxiety. At one point on Saturday, the Web Host for the charity’s site (and all our work in progress) went down temporarily rendering our team useless. Still, it is a great way to meet other local developers who do not necessarily work on the same platform in their day jobs. Leading a team of volunteers who just want to contribute their skills in the most effective way possible provides exactly the right amount of eustress, and I’d recommend it to anyone.

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.

“What Makes a Nickname Stick?” – a Toastmasters Presentation

Today I present to you my 7th Toastmasters Speech. The focus of this speech is to prepare by researching the topic. The speech should be 5-7 minutes long.

Some of the feedback I received was that the speech didn’t fit the “research” tag in traditional sense. It also was short, coming in at only 4:45.

I thought the criticism was fair. However, in my defense, about half of my speeches are almost purely research related, about careers or technical topics. So, I didn’t feel like I had to prove I could do that. Also, this speech did require a fair amount of research (though I didn’t reference it specifically in my speech). I had to look up Cavaliers nicknames, accurate movie quotes, and search for the origination of nicknames for inspiration.

Here is one of the sites I used as a reference: 25 worst nicknames in NBA History

And if you were wondering more about that yearbook picture I refer to, here it is (I don’t remember being that much of a Surge fan):

First-Hand Tips to the Interviewee

Through recent discussions with interviewers such as HR managers, Project Managers and Technical Hiring Managers, I’ve compiled a list of first-hand tips to job candidates. I hope they are helpful to you.

From Conversations


“[A] stumper for more entry level individuals is the ‘where do you see yourself in 5 years’? Many times (most times) it is ‘manager’. Given that they are probably interviewing with the manager, they should think what the manager wants them to say which is more ‘an expanded role in what I am interviewing for’. This stumps many of the interviewees. Remember, the interview is about the company not about the interviewee.”

Pat Tokarcik – HR Director – ShurTech Brands, LLC


“There is one piece of advice to the experienced or inexperienced that I’d pay forward – [get] Gallup’s Strengths Finder & set out some realistic development goals as part of self discovery.

I didn’t think about the book when we discussed ratings the other day, and it’s a pretty important piece of advice that was recommended to me & I’ve been successfully deploying in my ‘self discovery’ phases of life. I wish someone would’ve told me that after college. Nevertheless, interview advice for college grads, especially recent college grads, is to focus on strengths and deploy those for confidence. If you gain confidence through preparation or whatever gets you to that ‘I’m ready’ feeling, then you are going to more easily control your behaviors on the ‘stumping’ questions or even the relatively easy ones. It’s also being comfortable that you don’t know everything and don’t have to, giving the interviewer a chance to draw their own conclusions on that.”

Lacey Strete – Special Projects Analyst – Construction Software Technologies


“Bring portfolios of your work if you have it and be prepared to discuss what is included. Interviewers are focused on a variety of your attributes. If I find an entry level candidate who exhibits confidence in their abilities (even if they need to be fine tuned from a technical standpoint), but who also has confidence in their communication skills and can speak to what they have created, I see potential for a future mentor/manager. Candidates who can fill those roles in the future are incredibly valuable.”

Natalie Stuller – HR Manager – WS Packaging Group


“I’m reminded of an interview I did a few years ago. I asked a guy about a specific version of a program or application, and his response was something along the lines… ‘I did xxx which is similar in the past, and since it should be the same principles, I could adapt to figure it out. Plus if I have specific issues I can always use Google and figure it out.’

I thought it showed his ability to work outside of the box and solve his own issues, and he turned out to be one of the few people on my team who could.”

Jeff Strempel – Consultant – Accenture


Already in the Public Domain

Of course, there are some tips already on the Internet that can be very useful for interviewees.

In this YouTube clip, Jason Calacanis, an entrepreneur, speaks for a minute or so about having candidates self-rank themselves.



Lastly, this YouTube clip was produced by Toastmasters, an international organization helping members to be better public speakers. Here are 5 key tips to interviewing for a job.

Top 5 Cities to Earn as an IT Employee

Having lived in the Midwest my entire life, the idea of moving to a big city, with its increased cost of living, was overwhelming. Nonetheless, over the past several years I’ve fantasized about living and working in different US cities. There are many good reasons to move across the country (away from family): Moving To New Cities

  • Startup Hubs (e.g. Silicon Valley)
  • Top Notch Universities (e.g. The Research Triangle)
  • Better Weather (e.g. Southern California)
  • Better Geography (e.g. near the Ocean or Mountains)
  • Access to Specific Industries (e.g. Fashion in New York)

However, the cost of living difference between cities (and the decreasing value of my salary) have always been at the forefront of my thoughts.

One way I tried to overcome my hesitation to move was with research. Using, I calculated the increase in cost of living compared to my current city. This helped me to analyze just how much more it would cost to live somewhere else. The ratios were drastic, yet I knew I had to be missing something.

As a software developer, I’ve been using Robert Half Technology’s Salary Guides throughout my professional career as a way to compare my own salary against the average developer in my hometown. They’re a great resource. After all, they’ve been creating the guides since 1950.

I soon realized that the cost of living changes are not created equal for all careers. Likewise, a developer that moves to a technology hub will get paid more in that location. The more important ratio to analyze is very simple: %Salary Difference – %Cost of Living Difference. A more positive number is therefore better.


I compared 105 cities that had ratings in the 2 guides above. Using Cincinnati, OH (my current location) as the comparison, I came up with several big cities that actually have a positive impact on salary value.

Best value cities for someone in IT



Salary Vs Cincinnati %

Cost of Living %


Houston, TX




Salt Lake City, UT




Memphis, TN




Raleigh, NC




Austin, TX





The worst values were also highly interesting



Salary Vs Cincinnati %

Cost of Living %


Honolulu, HI




New York, NY




Washington, DC




San Francisco, CA




San Diego, CA






I must admit I am rather surprised by this list in which I also discovered that Cincinnati ranks #9 out of the 105 cities. Perhaps the reason my instinct is to stay put is because I’ve been pretty spoiled.