The Staffing Problem
Finding the perfect team member is difficult. There are just too many candidates to consider, and their resumes make them all appealing. Choosing the wrong candidate results in time wasted on familiarizing the new employee with the company's problems, practices, and goals. Time is also wasted when the candidate decides to leave the company. The company needs time to find a replacement, and time is used to familiarize the replacement with the former employee's work to continue operations and development.
Problems with Employing Optimal and Superoptimal Candidates
Human resources representatives tend to bloat their job listings with superfluous job requirements, possibly to find a single candidate that can perform the responsibilities that are usually distributed among several people. If the job requirements are reasonable, then there exist people who possess the specified job requirements. Unfortunately, other companies also exist that desire the same candidate, and a subset of these companies can provide opportunities that attract employees away from other companies. Some candidates choose to pursue those opportunities even while being gainfully employed, because their current employer could not provide the room needed for professional growth, does not sufficiently challenge the employee to motivate self-improvement, or no longer offers the excitement of learning and joy of accomplishment as is often sought by programmers.
There exists people who do not possess all the specified job requirements and make themselves candidates by filling out employment applications, presenting resumes, and interviewing. These people are typically filtered from continuing the employment process simply because the skills listed on a candidate's resume do not contain all those listed on the job posting, or because they did not perform well on an examination or correctly answer conjured, non-practical interview questions. These people happen to be a better investment than optimal and superoptimal candidates, because they tend to be excited about the new knowledge they find in solving problems they have never before faced. They have room for promotion within the company, and they will be dedicated to the company that has received their contributions, which they believe are significant.
Motivation for Presenting Demonstrations
I present demonstrations to help me stand out from other candidates. The demonstrations were not written to fulfill class requirements. They were written independently, and thereby evidence my self-motivation and interest in writing software. They exemplify my ability to use different tools effectively and my drive to learn. Checkers is implemented using Java and its primitive graphics programming interface, and Shooter is implemented in C++ with Direct3D and DirectInput. Like this site, the demonstrations are not targetted to people who are dazzled by fanfare, buzzwords, and the latest technological methods. The site and these demonstrations are intended for visionaries who can see the foundational skills presented and how these skills can be guided and used to further their objectives.
Steve A. Doria as Part of a Staffing Solution
I understand that I do not possess all the required skills for most programming positions. I am, however, highly motivated in learning. I love solving problems, and I enjoy knowing that other people are using my solutions. With a strong sense of job security, I will develop applications that will make my tasks and those of others easier to perform. I intend to write small applications that automate simple job functions to make myself available to more challenging company problems and to enhance existing solutions for problems of the past. I will operate in a manner that is consistent with the goals of my employers, and I am dedicated to helping my employers remain highly competitive. I would expect the same from employees of my own company, and I offer to do the same for yours.