Fantasy Football Playoffs – A Toastmasters Speech
January 1, 2012 Leave a comment
Enjoy this speech I gave about Fantasy Football Playoff time. In this speech, I focus on using body language and gestures during the presentation.
Lessons Learned Building Enterprise Software
January 1, 2012 Leave a comment
Enjoy this speech I gave about Fantasy Football Playoff time. In this speech, I focus on using body language and gestures during the presentation.
November 29, 2011 Leave a comment
Do you remember being taught math when you were young? If you were anything like me you hated word problems. That was the only time during math class that we could not just use mechanical processes. Instead, we had to think about how to apply those processes to real world problems.
The natural evolution of word problems in the adult world is Brain Teasers, those pesky puzzles that are supposed to be fun but, more often, are frustrating. For most people, the skill of solving riddles and impossible estimation problems has never had much use. That was until clever software companies, such as Microsoft and Google, famously began asking these types of questions during job interviews. The legends of these companies’ interview tactics are so predominant that they have essentially become their own category of technical interview questions.
How many golf balls can fit in a school bus?
Unprepared candidates confront brain teasers with shock and horror. A feeling of futility drapes over them like a giant rain cloud. Fortunately, all the candidate needs to understand is that he or she does not necessarily have to answer the puzzle correctly to “pass” the test.
Brain Teasers are great because when they work, they are a simple way to lighten the tone of an interview. They are also great at unearthing important traits of the interview candidate:
“A hunter sets up camp, walks 10 miles south and 10 miles east. He shoots a bear and drags it 10 miles north back to his camp. What color is the bear?”
Through years of practice, I became comfortable with the word problems in math class. It was a required step in progressing in mathematics. Likewise, Brain Teasers become conquerable with practice.
Personally, I love Brain Teasers now. I enjoy when a friend sends me one I have not before heard. I find it worthwhile to stretch my mind by thinking about different types of problems.
Still, Brain Teasers are rather overused in interviews. As stated above, they can be useful when they work but, when they do not work, they often fluster an otherwise good candidate. Some puzzles require a certain basis of knowledge that can lend itself to bias. Consider the puzzle about the hunter above, the answer is “White.” Why? Because the only place on Earth that someone can walk X distance South, X distance East or West, X distance North and then arrive at the same point again is at the North Pole. Polar bears are the only type of bears that live there. Polar bears are white. The candidate may be able to logically reason through the problem, but sometimes a small piece of “common knowledge” becomes a roadblock.
Lastly, Brain Teasers take too much precious time during an interview to not uncover anything of import. They test the “A-Ha moment” of the candidate, a long period of silence followed by the sudden discovery of the answer in the candidate’s mind. In cases where the candidate solves the problem right away, it usually does not mean that the candidate is brilliant but that he or she has heard it before.
As I mentioned, it is not required of the candidate to solve the problem. In most cases, the interviewer is trying to gain insight into how the candidate thinks and describes his or her thoughts. Therefore, the #1 suggestion for approaching these problems is to communicate your thoughts while you are reasoning through them. Talk aloud about alternative solutions you are considering. Ask questions of the interviewer about the constraints of the problem. If you cannot come up with a solution, explain some option that would get you close. Going back to the polar bear problem, it would probably be enough to understand that the hunter is at the North Pole.
For more tips and great job interview Brain Teaser examples, I recommend the book How to Ace the Brain Teaser Interview.
Some of the most fun Brain Teasers to discuss with friends are those from movies. It’s interesting when someone has seen the movie and remembers the solution, but when you propose it again after some time, he or she does not remember it. Below are some examples of the best movie Brain Teasers (hopefully YouTube won’t remove them).
Post your favorite Brain Teasers in the comments and good luck on your interview!
May 8, 2011 Leave a comment
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!”
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:
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 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.
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.
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.
May 4, 2011 2 Comments
Since October I have been attending Toastmasters meetings and occasionally giving speeches to improve my public speaking ability.
Below is my 4th speech:
- Ask your boss & peers which certifications are valuable.
You don’t want to waste time obtaining a certification that will not ultimately help you to achieve your goals. Ask your boss to find out about certifications that would aide in advancement within your current job. Ask peers to find out which would provide opportunity outside of your current employer. Ideally, you should choose a certification about which you have some relevant knowledge already. Otherwise, the preparation process will be significantly elongated.- Research the governing body’s website or magazine to determine what is required. Find out:
a. The format of the test (e.g. multiple choice, essay, etc.)
b. Recommended training materials (e.g. text books, practice tests, etc.)
c. Additional requirements (e.g. years experience, a verbal presentation, etc.)- Study
a. Obtain the recommended training materials
b. Review fundamentals
c. Spend extra time learning new concepts- Practice Tests
a. Take practice tests to get familiar with the testing environment
b. Write down notes about surprising answers and concepts with which you struggled
c. Schedule the official exam when ready and confident. In many cases, your company will pay for the exam fee.- Cram: study for an hour or two right before the test.
Focus on those concepts you struggled with as well as facts & formulas that will be beneficial to have memorized. No matter how much you study before-hand, always cram. It’s important to have that information in short-term memory going into the test. Trust me, you don’t want to fail a test because of something trivial that you would have known if you had just done a quick review of the material before the test.- Pass the Test
a. Many certifications last a lifetime
b. Update your resume
c. Now you can add those letters after your name on your business card
I have only been attending for 7 months, so I have plenty of room for continual improvement. However, I have already been helped by the members of my Toastmasters club to use fewer filler words and display fewer nervous ticks. I hope to become more comfortable, so that I can focus on my message while on stage instead of being so nervous my mind goes blank.
Toastmasters is useful because of the feedback given at the end of a meeting. It is helping me develop a sense for how long (in time) someone is speaking (including myself). I get to learn what I did well and what are areas for improvement. In the specific video above, I received the suggestion to not look back at the PowerPoint presentation but instead to create speaker’s notes to keep in front of me. My presentation could also have been helped with a personal, specific example.
I am looking forward to improving my public speaking by giving more speeches, receiving the feedback of others, videotaping, and personally reviewing my speeches. In fact, I look forward to improving the quality of my videos. I apologize for the poor video quality this time (I used a digital camera from 2004). To record my voice, the best option I brainstormed (that was mobile and not very distracting for the audience) was to use a blue tooth headset with my iPhone, call into a Free Conference Call number, and record the call. I later merged the audio and video. If anyone has any cheap, wireless recommendations for microphones that will work with my iPhone I am open to trying them.
April 14, 2011 Leave a comment
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!”
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.
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
April 7, 2011 2 Comments
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.
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 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)…
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.
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.
March 2, 2011 3 Comments
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.
Microsoft Certifications |
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 Administration) |
55 | 53.42 | 5.5 | 72 | 0.82 | May 27, 2005 |
70-229 (SQL 2000 Development) |
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 – ADO.NET) |
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:
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.
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.