<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IdopI Technologies Inc.</title>
	<atom:link href="http://www.idopi.com/index.php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.idopi.com</link>
	<description>Measurement for Success</description>
	<lastBuildDate>Sat, 10 Dec 2011 22:48:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Be Honest About Your Corporate Culture</title>
		<link>http://www.idopi.com/index.php/hiring-process/76?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=be-honest-about-your-corporate-culture</link>
		<comments>http://www.idopi.com/index.php/hiring-process/76#comments</comments>
		<pubDate>Thu, 01 Dec 2011 02:49:49 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[The Hiring Process]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=76</guid>
		<description><![CDATA[Defining A Hiring Process (part 3) Over time corporations, like people, develop personalities that define them. They can be inflexible or flexible, unfriendly or supportive, supportive of innovation or conservative in regards to change. This personality is also known as &#8230; <a href="http://www.idopi.com/index.php/hiring-process/76">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Defining A Hiring Process (part 3)</h3>
<p>Over time corporations, like people, develop personalities that define them. They can be inflexible or flexible, unfriendly or supportive, supportive of innovation or conservative in regards to change. This personality is also known as the culture of the company.</p>
<p>If you take the time to research corporate culture you will frequently run into the phrase “it’s the way we do things around here.” This is another of way of saying that corporate culture is the sum of all explicit and implicit factors that govern how employees act or react to each other and  to customers. Explicit cultural factors are easy to identify. These are generally defined in your written policies and guidelines and employee handbook and may include dress code, traditions, employee comportment, etc. Implicit factors to corporate culture are harder to define and even may be at odds with you written policies and guidelines. For example consider dress policy. Your company policy may be business casual yet, due to how your executives dress, the unspoken rule may be “wear a suit if you wish to get ahead.” </p>
<p>
The acceptable modes of conduct are largely self-evident to experienced employees. New employees on the other hand may suffer embarrassing faux pas due to not knowing or understanding what is required of them. It is beneficial, as well as less stressful if new employees can be briefed on all portions of your corporate culture, implicit and explicit, increasing the likelihood of a smooth integration into your corporate family.</p>
<p>In addition to smooth integration of new employees, knowing all facets of your corporate culture allow you to better select new employees whose personalities will best fit in your corporate culture. Doing so will save your staff and new hires much aggravation. To lessen the possibility of hiring a person with a less than compatible personality, prepare a questionnaire to be used during the interview process that can be used to determine culture compatibility. This questionnaire should help determine the modes of conduct / employment expectations that are most acceptable to a new candidate by offering a series of opposites and allowing the candidate to indicate his / her comfort zones. For example:</p>
<ul>
<li>1. Team Projects  &#8212;&#8212;&#8212;- Individual Projects</li>
<li>2. Spontaneity &#8212;&#8212;&#8212;- Well defined guidelines</li>
<li>3. Casual Dress &#8212;&#8212;&#8212;- Business Suit</li>
<li>4. Competition &#8212;&#8212;&#8212;- Collaboration</li>
</ul>
<p>And so on. The candidate ranks themselves somewhere in between each extreme. These answers can then be compared to your known corporate culture and then used to guide questioning during the interview.</p>
<p>Most importantly be truthful about your corporate culture. Is your company a strict or well organized organization? Let candidates know. Is your corporation somewhat chaotic in day to day operations? Let candidates know. Different people thrive in different conditions. Finding those that thrive in your corporate culture increases the chances that they will integrate and work well with others in your organization.</p>
<p></p>
<div align="center">
<a href="http://www.idopi.com/index.php/hiring-process/27" title="IdopI, TechScreen: Software Deveopler Hiring Process">Prev: The Most Important Step</a>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/hiring-process/76/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Advice to Recruiters</title>
		<link>http://www.idopi.com/index.php/hiring-agents/64?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=some-advice-to-recruiters</link>
		<comments>http://www.idopi.com/index.php/hiring-agents/64#comments</comments>
		<pubDate>Thu, 01 Dec 2011 02:34:05 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[For Hiring Agents]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=64</guid>
		<description><![CDATA[Over the past fourteen years I have looked through hundreds of resumes and conducted many dozens of interviews with candidates, most presented by recruiting agencies. Something I have noticed and commented on to recruiters on several occasions is the lack &#8230; <a href="http://www.idopi.com/index.php/hiring-agents/64">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the past fourteen years I have looked through hundreds of resumes and conducted many dozens of interviews with candidates, most presented by recruiting agencies. Something I have noticed and commented on to recruiters on several occasions is the lack of format to resumes presented and the almost total absence of coversheets. I feel this is a disservice to your clients and the programmers you represent. To address this I would like to offer the following advice: Proof-read your candidates’ resumes, and help them craft cover letters. Not only will you be helping your clients and candidates, if you do it right you will also have the opportunity to strengthen your brand.
</p>
<h3>Formatting Resumes</h3>
<p>
In “Secrets of A Great I.T. Resume,” I address what goes into making a great resume. In this article I make the case that a resume is an advertising tool and the item being offered is the programmer. As this is the case why forward resumes to clients that have typos, grammatical issues, tense issues and other easily corrected problems? In “Secrets of A Great Resume” I mention that the characteristics of a good resume are well known and yet (in the I.T. world at least) the factors that contribute to a good resume do not appear to be well known.  You as a recruiter are the salesperson selling the services of you candidates. Allowing them to represent themselves with sub-optimal resumes is akin to a marketing representative who allows clients to send out brochures with typos, grammar issues and the like.
</p>
<p>Take time to review the candidate’s resume with the candidate. Point out grammar, tense, spelling and other issues. Better yet create a standard resume template that you send to clients and work with the candidate to fit his / her resume to the template. Adopt a standard font and form. Doing so allows your clients to quickly locate wanted information with every resume you deliver.
</p>
<p>Formatting can be automated through several means. The easiest would be to create a web form (such as those offered by Monster.com or Dice.com) that prompts the candidate to enter desired information and then presents the resume in a pre-determined format.
</p>
<p>Performing these simple tasks increases the appearance of professionalism of your firm and the candidates you represent. As an added bonus to you, include branding elements on the resume declaring that this is your candidate.
</p>
<h3>Include Relevant Cover Letters</h3>
<p>
A resume describes your candidate. A cover letter describes how the candidate matches the client’s position and briefly explains why your candidate is a good fit for the client’s position. Again, the job you are doing is selling your candidate to the client. As explained in “Secrets of A Great Resume” a cover letter should be targeted to a specific position of a specific client.  At the very least create a list of the requirements desired by the client matched to the skills of your candidate. As mentioned above it has been rare when I have been sent a cover letter with a resume. When I have the candidate that sent it was given additional consideration for the position being filled. As with resume formatting this is a task that can be easily automated using templates. Likewise the cover letter presents you with an additional means to present your firm’s unique brand to your client.
</p>
<p>The competition between recruiters to place candidates is fierce. I usually receive calls and emails from several recruiting firms for every position I am offered (yes I am still a very active programmer). Based on this I know that many recruiting firms submit candidates to the same client. Taking the time to review and edit your candidate’s email is a must. If you take the time to create standardized resumes and include cover letter you will set yourself above your competitors and have the opportunity to strengthen your brand.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/hiring-agents/64/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining A Software Developer Hiring Process</title>
		<link>http://www.idopi.com/index.php/hiring-process/61?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=defining-a-software-developer-hiring-process</link>
		<comments>http://www.idopi.com/index.php/hiring-process/61#comments</comments>
		<pubDate>Thu, 01 Dec 2011 02:11:59 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[The Hiring Process]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=61</guid>
		<description><![CDATA[If you do a search for “the hiring process” on the internet, most articles you find these days identify it as an ongoing series of steps that begin with the identification of a hiring need and end with the Post &#8230; <a href="http://www.idopi.com/index.php/hiring-process/61">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.idopi.com/wp-content/uploads/2011/11/photo.jpg"><img class="alignright size-full wp-image-94" title="IdopI Technologies, Inc. Hiring process Programmer pre-hire screening assessments" src="http://www.idopi.com/wp-content/uploads/2011/11/photo.jpg" alt="Defining a hiring process" width="187" height="191" /></a></p>
<p>If you do a search for “the hiring process” on the internet, most articles you find these days identify it as an ongoing series of steps that begin with the identification of a hiring need and end with the Post Hire process. Likewise, most information you find about setting up a hiring process starts with the need to fill a position and then encompasses, to varying degrees, the steps from creating an advertisement to making a hiring decision. This may lead to a mistake in perception that the hiring process begins with having an open position. This perception can lead to frustration through ill-conceived position descriptions and advertisements, and impulsiveness in the hiring process and acceptance of candidates that do not quite meet the actual requirements of the position being filled. I take the position that the hiring process should begin with a documented and detailed understanding of the positions that make up an organizational structure, not just the need to fill a position.</p>
<p>Without a well-documented description of each position you run several risks. First you run the risk that job postings for similar jobs will be inconsistent. This brings on the risk that candidates hired will have varying degrees of experience and skill that may not be compatible with or even meet the actual minimum requirements of a job. You run the risk of including requirements in job postings that are not actually needed to perform the job.</p>
<p>With a detailed, documented description of each position you will be able to: produce accurate, consistent job advertisements, create a hiring process (including effective interview questions) that is fair, that accurately identifies the requirements of the positions to be filled and that leads to hiring candidates that best meet the needs of the company.</p>
<p>This series will cover creating a hiring process to use when hiring software developers but is pertinent to hiring other types of employees as well. We will examine some pre-hire steps that should be completed before you begin a hiring cycle. These include, defining positions, understanding your corporate culture and creating a solid hiring process. We will then look at the steps of the hiring cycle including: creating effective advertisements, resume and candidate screening, and creating effective interview questions. Finally we will discuss making an offer and the post hire process.</p>
<p>&nbsp;</p>
<div align="center"><a title="Software Deveopler Hiring Process" href="http://www.idopi.com/index.php/hiring-process/27">Next: The Most Important Step</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/hiring-process/61/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If You Want to be a Developer, Be a Developer</title>
		<link>http://www.idopi.com/index.php/programmers-corner/50?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=if-you-want-to-be-a-developer-be-a-developer</link>
		<comments>http://www.idopi.com/index.php/programmers-corner/50#comments</comments>
		<pubDate>Thu, 03 Nov 2011 11:56:42 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[Programmer's Corner]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=50</guid>
		<description><![CDATA[A question I have observed on several forums (usually from a newbie programmer) is “How can a new programmer get experience when they cannot get hired due to lack of experience?” If you are first starting out and you are &#8230; <a href="http://www.idopi.com/index.php/programmers-corner/50">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.idopi.com/wp-content/uploads/2011/11/developers.jpg"><img class="alignright size-full wp-image-89" title="IdopI Technologies, Inc. Developer pre-hire screening assessments" src="http://www.idopi.com/wp-content/uploads/2011/11/developers.jpg" alt="Be a developer" width="187" height="201" /></a>A question I have observed on several forums (usually from a newbie programmer) is “How can a new programmer get experience when they cannot get hired due to lack of experience?” If you are first starting out and you are serious about being a developer, be a developer regardless of whether it is for a job or not. That is what a real developer is &#8211; someone who has a desire to code and learn and code more &#8211; regardless of the language or platform. Learn a language on your own time. Learn it deep. Don&#8217;t just read about it but practice it and not just what is in books or &#8220;samples&#8221; you find on the web. Define a problem and solve it &#8211; then do it again a different way. Read, research, and experiment. If you find yourself staying up all night, forgetting to sleep / eat so that you can solve a problem (also known as <a title="Want to be a Developer, Then Be a Developer" href="http://www.catb.org/jargon/html/L/larval-stage.html">larval stage</a> ) you have arrived <img src='http://www.idopi.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>When I applied for my first programming job I had already been a self-taught hobbyist for eleven years. I started in BASIC (every flavor and every platform I could find) and then taught myself C and then C++ then Java. I joined the Air Force at 17. When I was 19 I automated several of my more tedious job functions using Dbase II. The small scripts I wrote were adopted by a few other units and I won an award for my efforts. This experience I put on my resume at a later date. My first degree was not Computer Science but I found (after three years) that I didn’t like my first chosen profession. I took a few Computer Science courses for the fun of it and decided to find a job doing my hobby. I had two interviews. The first asked me to write some code, which I successfully did. For the second interview I had never heard of the Language (a 4GL called Natural). I was interviewed by the I.T. Director who had some doubt about my ability. I convinced him to let me borrow a book and give me two weeks. He agreed. Meanwhile the first position called and said they wanted to hire me but they had entered a hiring freeze. So I studied Natural for two weeks, sat down in front of the second hiring manager and wrote a short program in Natural. He hired me, albeit at a reduced rate. Within four months I was earning on par with the other developers.</p>
<p>You could look at my story and conclude I was hired with no experience but had knowledge. I would disagree. I gained experience and knowledge through my own explorations. When given the opportunity I applied this experience in a professional situation (my Dbase II scripts). Since I had spent time tinkering with various languages and programming scenarios, when asked to code on the fly I was able. When asked to quickly learn and then apply a language I had not worked with before I was able.</p>
<p>Don&#8217;t have experience because you can&#8217;t get hired because you don&#8217;t have experience (read it again <img src='http://www.idopi.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) &#8211; Create or join an open source project. Better yet go home at night and create a program or set of programs to automate a process at work. Demo it to your boss and get him / her to adopt it &#8211; experience for your resume &#8211; you wouldn&#8217;t believe then number of programmers who get kick-started this way.</p>
<p>What makes a good developer? A good developer has well-honed instinct for solving software problems and a demonstrated desire to continue growing and learning. This is not something that can’t be taught but must be developed by the software developer over a period of time. How quickly this develops depends on the natural ability of the software developer and his or her desire to better his or her skills. How do you measure instinct? The answer is, you cannot, at least not directly. In <a title="What Makes a Good Developer" href="http://www.idopi.com/index.php/hiring-agents/22">“What Makes a Good Developer”</a> I examine some traits that can serve as hints; basically someone with time and breadth of experience across languages and industries plus a demonstrable desire to grow and learn mark a good developer. To achieve this level requires dedication beyond working nine to five and earning a paycheck. It requires the developer to practice, research, and experiment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/programmers-corner/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Most Important Step</title>
		<link>http://www.idopi.com/index.php/hiring-process/27?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-most-important-step</link>
		<comments>http://www.idopi.com/index.php/hiring-process/27#comments</comments>
		<pubDate>Fri, 09 Sep 2011 00:01:56 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[The Hiring Process]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=27</guid>
		<description><![CDATA[Defining A Hiring Process (part 2) One of the most important, yet often overlooked, steps of the hiring process is the step of creating detailed definitions of each position in the corporation. Each position should have a clear and concise &#8230; <a href="http://www.idopi.com/index.php/hiring-process/27">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h4>Defining A Hiring Process (part 2)<a href="http://www.idopi.com/wp-content/uploads/2011/05/woman_334x500.png"><img class="alignright size-medium wp-image-74" title="woman_334x500" src="/wp-content/uploads/2011/05/woman_334x500-200x300.png" alt="" width="200" height="300" /></a></h4>
<p>One of the most important, yet often overlooked, steps of the hiring process is the step of creating detailed definitions of each position in the corporation. Each position should have a clear and concise description that states the responsibilities and duties of the position as well as a list of required skills and abilities necessary to fulfill the duties and responsibilities of the job.</p>
<p>It is important that the skills and abilities listed tie into the responsibilities and duties described for several reasons. First, having a detailed understanding of a position gives you and your staff the ability to consistently and objectively fill each position with truly qualified candidates. The second reason is liability. If you include skills and ability requirements that are not truly needed to do the job, include these in your hiring advertisements and then reject applicants based on the lack of the skill or ability, your company could be found in violation of the Americans with Disabilities Act (ADA) and or the Equal Employment Opportunity Commission (EEOC). By having accurate position descriptions, based on the skills and abilities truly needed to perform each job, you are able to define a hiring process that removes impulsiveness from the hiring processes and protects your company from legal hassle.</p>
<p>It is interesting how many companies do not have accurate, up-to-date, job descriptions.  In my personal experience only two of the eight environments I have worked in during my career had up-to-date job descriptions for each position in the corporation. So, where do you get the information needed to accurately define the jobs in you company as they currently exist?<br />
Most corporations have organizational chart providing a good place to begin. If the chart is not up to date (positionally not necessarily personal personnel wise) take the time to update it. An up-to-date organizational chart describes the reporting structure of the corporation and should include positions and the names and contact information of the persons filling those positions. Using the organizational chart you can easily identify managers with direct reports and task them to provide / update job descriptions for each of their direct reports.</p>
<p>To make sure that your job descriptions are standard and contain the vital information you require it is best to create a documented process to generate / update job descriptions. Your process should include orientation for new managers of direct reports, a position interview form that encourages the manager to provide title, brief description, responsibilities, and required skills and so on for each position.</p>
<p>Since we are examining the hiring process in regards to software developers it is important to clarify what requirements / skills should go into the position descriptions of programmers. It is important to remember that technology changes quickly and so your position requirements need to be specific as to responsibility but more general in regards to technology. For an example consider a position for a developer required to develop enterprise integration software (software that enables various systems, applications to interact across the enterprise). While the current technology flavor may be Windows Communication Foundation (WCF) or Apache Axis (.NET versus Java), it may be better to describe the position in terms of enterprise integration and / or Service Oriented Architecture (SOA) and then include the desired skills only in the skills section of the job description. Skills can then be adjusted a technology changes enabling the actual job description to be more static. This also makes the job description less restrictive by allowing development teams to react easier to changes in technology without leaving the bounds of a job description. </p>
<p>Though often overlooked, the step of creating detailed definitions of each position is the most important when defining a hiring process. Why is this? Having a solid understanding of the skills and abilities truly needed to perform a job provides you the means to create consistent, accurate and effective job descriptions and, when needed, accurate, consistent advertisements and finally consistent and effective interview questions. Consistency and relevancy are the two biggest factors needed to meet EEOC requirements and fill open positions with the best possible candidates.<br />
</p>
<div align="center" width="100%">
<a href="http://www.idopi.com/index.php/hiring-process/61" title="IdopI, TechScreen: Software Deveopler Hiring Process">Prev: Deveopler Hiring Process</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.idopi.com/index.php/hiring-process/76" title="IdopI, TechScreen: Software Deveopler Hiring Process">Next: Corporate Culture</a>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/hiring-process/27/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Lesson From School</title>
		<link>http://www.idopi.com/index.php/wordproblems/25?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-lesson-from-school</link>
		<comments>http://www.idopi.com/index.php/wordproblems/25#comments</comments>
		<pubDate>Sun, 21 Aug 2011 11:50:09 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[wordproblems]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=25</guid>
		<description><![CDATA[Think back to high school math. Remember when the teacher handed out a test? Inside you would beg “No word problems – please, no word problems.” If the test was just multiple choice questions, or better yet true and false &#8230; <a href="http://www.idopi.com/index.php/wordproblems/25">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Think back to high school math. Remember when the teacher handed out a test? Inside you would beg “No word problems – please, no word problems.” If the test was just multiple choice questions, or better yet true and false questions, you would breathe a sigh <a class="alignright" href="http://localhost:8080/wp-content/uploads/2011/05/apple.jpg"><img class="alignright size-full" title="apple" src="http://localhost:8080/wp-content/uploads/2011/05/apple-187x198.jpg" alt="apple" /></a>of relief. Why was this? Multiple-choice questions present you with the answer, and if you couldn’t come up with an answer you could usually figure out enough to eliminate two answers and give yourself a 50% chance to guess the answer. With word problems though, you not only had to know your theorems and equations well enough to answer a question, you had to recognize which to use or which was applicable in a given situation.</p>
<p>Then there were proofs – remember those? With a proof you not only had to know how to use an equation but you had to demonstrate why the equation was valid for a particular problem. With either word problems or proofs, you were required to apply your knowledge to real world situations, when you succeeded in arriving at a correct answer; you knew you had accomplished something.</p>
<p>When you hire a programmer to write business critical software which type of screening tool do you use? Do you plan on paying the programmer to sit around answering multiple choice questions or are you hiring him / her to write software? Instead of choosing a multiple-choice based test, choose a test that requires the candidate to perform the job you are hiring him / her to do, write software!</p>
<p>When an evaluee scores well on an TechScreen test, that evaluee has proven that he or she is able to apply skill and knowledge against real-world software development problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/wordproblems/25/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Makes A Good Developer?</title>
		<link>http://www.idopi.com/index.php/hiring-agents/22?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-makes-a-good-developer</link>
		<comments>http://www.idopi.com/index.php/hiring-agents/22#comments</comments>
		<pubDate>Sun, 21 Aug 2011 11:48:45 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[For Hiring Agents]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=22</guid>
		<description><![CDATA[What makes a good developer? Is it years of experience, a college degree, number of languages known, ability to communicate, amount of minutia memorized, or certifications? This is a question I have been asked on many occasions. Unfortunately the answer &#8230; <a href="http://www.idopi.com/index.php/hiring-agents/22">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.idopi.com/wp-content/uploads/2011/05/man_w_folder_236x293.png"><img src="http://www.idopi.com/wp-content/uploads/2011/05/man_w_folder_236x293.png" alt="What makes a good programmer?" title="man_w_folder_236x293" width="236" height="293" class="alignright size-full wp-image-124" /></a>What makes a good developer? Is it years of experience, a college degree, number of languages known, ability to communicate, amount of minutia memorized, or certifications? This is a question I have been asked on many occasions. Unfortunately the answer is not straight forward since the question is very subjective.</p>
<p>A candidate may have several years experience in Java, but has that time been spent writing Java Scripting Pages as opposed to J2EE? Will this experience translate? Candidate A has a degree in Computer Science but only two years experience, Candidate B has five years experience in a related field, and both claim to know the required language. Which is the better candidate? How can you tell?</p>
<p><strong>The Short Answer</strong><br />
What makes a good developer? A well honed instinct for solving software problems and a demonstrated desire to continue growing and learning. This is not something that can&#8217;t be taught but must be developed by the software developer over a period of time. How quickly this develops depends on the natural ability of the software developer and his or her desire to better his or her skills. How do you measure instinct? The answer is, you cannot, at least not directly. There are, however, some general criteria that can give insight into this aspect of a candidate.</p>
<p><strong>Look At the Code</strong><br />
First and most importantly, look at a candidate’s code. Even if you are not a developer you can still determine the following: Does the developer make good use of white space? Is the code neat, easy to read and appealing? Does the software developer provide coherent comments for methods, properties and complicated portions of code? Can the developer effectively explain what a given section of code does?</p>
<p><strong>Some General Guidelines</strong><br />
Generally, if you are looking for a mid to senior level developer, use the following guideline:</p>
<ol>
<li><em>Years of experience</em>: 5 or more. Obviously the more experience the better – as long as the experience is varied and demonstrates that the developer is continually learning and developing his or her skills. Be cautious about hiring a developer that has spent all of his or her time in one position. Unless the developer has spent a lot of his or her own time playing with new concepts and languages on the side such a developer may have difficulty solving problems not previously encountered.</li>
<li><em>College Degree</em>: At least a four year degree in any field, preferably not obtained fully online. While many developers become successful without having completed an undergraduate degree, the degree is important for several reasons. Possession of a degree demonstrates the ability to set and reach goals. Most undergraduate courses require a minimum amount of research, processing, writing and presenting of information via a standard style (e.g. APA). Most undergraduate courses require a minimum amount of team work. Most undergraduate courses require assignments to be completed by a published deadline. If the candidate’s degree is in Computer Science make sure he or she has experience across at least two industries. If the candidate’s degree is a field other than Computer Science, make sure he or she has at least five years experience coding and has at least a cursory understanding of design patterns such as the those described in the well known “Gang of Four” <a title="Wikipedia Design Patterns Entry" href="http://en.wikipedia.org/wiki/Design_Patterns">Design Patterns</a> book.</li>
<li><em>Certifications</em>: Certifications show some dedication by a software developer to demonstrate a specific skill set. However, certifications are not a replacement for an undergraduate degree or experience. Other than SUN’s Certified Java Developer (<a title="Java Cetification Program" href="http://www.sun.com/training/certification/java/index.xml">SCJD</a>) series of certifications, which require a developer to write an application and then write an essay explaining his or her development approach, all other certification programs I have taken or read about rely on multiple-choice tests as qualifying instruments. This is an important fact since multiple-choice tests are not authentic measurements. Multiple-choice tests require a person to recall facts and actually provide the answer to the taker. A multiple-choice test does not require an individual to apply knowledge and understanding to a real world situation. Authentic tests (such as IPES Evaluations) require that the taker demonstrate knowledge, and the ability to apply that knowledge, by completing an actual work related task.</li>
<li><em>Programming Languages</em>: In depth knowledge (i.e. at least two full years experience) of at least two, dissimilar languages is a must. By dissimilar I refer to the syntax of a language. Java and C# are both syntactically similar to C. NATURAL is syntactically similar to COBOL. For more information, start <a title="Wikipedia Programming Languages Entry" href="http://en.wikipedia.org/wiki/Programming_languages">here</a> and <a title="Wikipedia Categorial List of Programming Languages" href="http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages">here</a>. Obviously the developer should have several years experience with the programming language required by the position. Please use common sense here though, I still get a chuckle out of adds from the late 1990’s that require five plus years Java experience (Java was officially released in 1995). Also I would not hesitate to hire an experienced Java developer for a C# position (or vise versa) providing I knew I had the time available in my project timeline for the developer to become used to the few syntactical differences and different class libraries. Such a call should be made by, or at least made at the recommendation of, a senior developer on the hiring team.</li>
<li><em>Experience</em>: A mid to senior level developer should have experience in at least two industries and or unrelated technologies. By unrelated technologies I refer to technologies such as web-presentation versus middleware components, or device drivers versus desktop applications. Developing software targeted at different industries and or technologies offers the developer the opportunity to develop a broad repertoire of problem solving skills. While developers are known to move around often, be cautious of a developer that frequently spends less than three years at a position (unless the reason can be adequately explained: i.e. the developer worked on several short contracts).</li>
</ol>
<p><strong>Other Considerations</strong><br />
Has the candidate spent time programming outside of work, especially on collaborative works, such as open software projects? Has the candidate pursued courses of study, beyond an undergraduate degree? Is the candidate a member of any professional organizations? Does the candidate regularly post to any forums or has he or she written and submitted articles to any trade journals or web-sites? If so this demonstrates that the candidate is interested in software development as more than a means to a paycheck. Working on projects outside of work, being active in software development forums, taking additional classes and writing articles are all indicative of a software developer who is eager to develop and learn.</p>
<p><strong>Summary</strong><br />
Sometimes employers (and, particularly, hiring managers who are non-technical) expect it to be difficult to identify good developers, but there are several indicators (many non-technical) helpful in recognizing a talented developer. Education, work experience, and certifications all are important considerations. However, it is also highly recommended to examine the diverse languages the candidate knows, and the extent to which he or she participates in development-related activities outside of work – both indicate a passion for development and continuous honing of his or her craft. Of course, the specifically technical does matter, and examination of code is the measure which most resembles what the candidate will do on the job, and therefore an important component of candidate evaluation. Examining each area will take a little more time than reading through a resume and conducting an interview, but all taken together, a business has the vital benefit of the right candidate for the job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/hiring-agents/22/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secrets of A Great I.T. Resume</title>
		<link>http://www.idopi.com/index.php/programmers-corner/20?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=secrets-of-a-great-i-t-resume</link>
		<comments>http://www.idopi.com/index.php/programmers-corner/20#comments</comments>
		<pubDate>Sun, 21 Aug 2011 11:47:23 +0000</pubDate>
		<dc:creator>dbgoodrich</dc:creator>
				<category><![CDATA[Programmer's Corner]]></category>

		<guid isPermaLink="false">http://www.idopi.com/?p=20</guid>
		<description><![CDATA[Okay, I lied. The following ideas are not secrets nor do they represent original thought. In fact a better title might have been “Not Really so Secret Secrets of a Great I.T. Resume). Yet, within the I.T. Field at least, &#8230; <a href="http://www.idopi.com/index.php/programmers-corner/20">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okay, I lied. The following ideas are not secrets nor do they represent original thought. In fact a better title might have been “Not Really so Secret Secrets of a Great I.T. Resume). Yet, within the I.T. Field at least, the factors that contribute to a good resume appear to be unknown. Among the hundreds of resumes I have reviewed during my career only a few were well written. Why is this? Instructions and examples abound. An internet search will reveal thousands of sites that offer advice and insight into the writing of resumes. Not only is the information readily available, we as programmers are usually detail oriented, logical individuals.</p>
<p>So, if sources abound, why did I write this article? To be honest, the main motivator for me was the purely selfish hope that the next person to send me a resume will have read an article like this one.</p>
<p>So what are the secrets that really aren’t but still seem to be? The secrets (that really aren’t) are:
<ol>
<li>Include a Customized Cover Letter</li>
<li>Keep in mind the purpose of your resume.</li>
<li>Target your resume and cover letter to a specific position at a specific company.</li>
<li>Size matters, keep your resume and cover letter brief and to the point.</li>
<li>Keep you resume accurate and honest.</li>
<li>All that stuff you learned in High School English and (for those who at least completed a freshman year of collage) re-learned in English 1 &#038; 2.</li>
</ol>
<h4>Include a Customized Cover Letter</h4>
<p>Failure to include a cover letter is probably one of the worst mistakes you can make when submitting a resume. Why include a cover letter? A cover letter (also called a letter of introduction) introduces you to the prospective employer, informs the employer what job you are applying for and how you fit the employer’s needs. The best cover letter is one that is customized to the company and position to which you are applying. Do your homework and find out as much as possible about a potential employer. Use this information and the requirements in the job posting to create a letter that presents you as the best candidate for the position.</p>
<h4>Purpose of a Resume and Cover Letter</h4>
<p>Always remember that the purpose of your resume and cover letter is to win you an interview; a chance to go face to face with a prospective employer so that you can demonstrate why you are the best candidate for the open position. It is an advertising tool and the product being offered is you. It should catch the eye of the person responsible for scanning resumes and convince him or her to forward your resume to those responsible for interviewing candidates.</p>
<p>As all good advertising, your resume and cover letter should be pleasing to the eye and engaging, easily conveying the message that you are strong candidate to an advertised position.</p>
<h4>Target Your Resume</h4>
<p>Competition for good jobs is fierce and yet the majority of job seekers shotgun generic resumes to as many employers as possible, assuming that more is better. A resume, with a tailored cover letter always stands out since it addresses the needs of the hiring company.</p>
<p>This step (and indeed your job search) should start with your career goals in mind. The positions you apply for should be chosen to help you reach your career goals. Tailor your resumes to those goals. Yes you read that correctly, <i>resumes</i>, plural. You should have a good idea of where you want to be. Be aware that there may be more than one avenue to get there. For example, say you have determined to become a software architect. If all of your programming experience is with web-applications, you would be well served to find a position that would give you more experience in middleware and data access layer development. If you have not yet been a team lead you may want to move in that direction. These are two different paths and require two different resumes. For the first (middleware and data access) create a version of your resume that emphasizes the experience, training and certifications you have in those areas. The idea is to be specific, not general. For the second path (team lead) you may want to emphasize you experience, training and certifications that highlight your ability to lead development teams, write specifications, meet deadlines etc.</p>
<p>Find positions that match the next step in your career. Research each prospective employer and create a cover letter that demonstrates how you, and your skill set, meet the needs of the employer for that position. Pair this cover letter to the resume that best matches the target position.</p>
<h4>Keep it Relevant and Brief</h4>
<p>In the 1995 remake of the movie Sabrina, Sabrina Fairchild (Julia Ormond), who has been asked to take pictures of the Larrabee cottage on Martha’s Vineyard, asks multi-millionaire Linus Larrabee (Harrison Ford) which section of outdoor scenery he would like to include. Linus responds “all of it” to which Sabrina responds “More is not always better Linus, sometimes it is just more.” With a resume and cover letter the same concept applies. Everything in your resume and cover letter should be relevant to the position you are applying for.</p>
<p>I was always told to keep my resume as short as possible; it is not a Curriculum Vita. However, most software developer positions, while not executive level jobs, require more detail than say a manager at a fast food restaurant, especially if the relevant experience extends past ten years. As long as the information is relevent, do not be afraid to include detailed descriptions of your experience. That being said, if your resume becomes longer than two and a half pages review everything; if something is not relevant to the position(s) you are applying for, cut it out. If something requires more clarification or deserves more attention, highlight it in you cover letter.</p>
<h4>Be Accurate and Honest</h4>
<p>We are taught from a young age that lying is wrong. This is a lesson that more and more often seems to get forgotten when resumes are written. There are several web sites that teach the “art” of resume enhancement. The reasons given are that everyone lies on their resumes and companies, through hiring practices, force job seekers to lie and expect job seekers to lie.</p>
<p>In the field of software development it is fairly easy to bluff your way past non-technical individuals. Your new coworkers, other software developers, will not be as easy to fool. Software developers tend to be less tolerant of incompetence than most people since software developers recognize that development work done by someone who is not skilled results in more work for everyone. Lying is cheating. It is cheating your coworkers, your employer and ultimately yourself.</p>
<p>Your resume should be an honest representation of your experience and skill set. Enough said.</p>
<h4>Everything Else</h4>
<p>Remember all of the stuff you learned in high school English (and later in English 1 &#038; 2 as a freshman in college) about essay / report writing? All of it is essential to writing a good resume and cover letter.
<ol>
<li>Ask a friend or trusted or colleague to review your resume(s) and cover letters. This is especially important if English is a second language (and your resume is written in English), or if writing is especially troublesome for you. Remember that your resume is your opportunity for a first impression and the individual reviewing it does not know you as a person.</li>
<li>Check spelling and grammar.</li>
<li>Be careful of perspective. Your resume should be written in the third person. Your cover letter can be written in the first person, but avoid overuse of personal pronouns.</li>
<li>Check spelling and grammar.</li>
<li>Do not switch tenses or perspective within a document. The only exception would be to present a current position in the present tense while presenting previous positions in the past tense.</li>
<li>Check spelling and grammar.</li>
</ol>
<p>It should not need to be said but I am going to repeat it again &#8211; make use of your spell checker and grammar checker. </p>
<h4>Summary</h4>
<p>A resume (coupled with a good cover letter – remember this) is like a sales brochure. It is an advertising tool and the product being offered is you. It should catch the eye of the person responsible for scanning resumes and convince him or her to forward your resume to those responsible for interviewing candidates. Always remember that the purpose of your resume and cover letter is to win you an interview; a chance to go face to face with a prospective employer so that you can demonstrate why you are the best candidate for the open position. Target your resumes and cover letters; keep them brief, relevant and honest. Above all remember to make use of your spell checker and grammar checker.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idopi.com/index.php/programmers-corner/20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

