<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Keith's Web Blog RSS Feed</title>
<language>en-us</language>
<link>http://www.keithwatanabe.net/index.php</link>
<description>Keith Watanabe's Website</description>
<item>
<title>These guys blow hard</title>
<link>http://www.keithwatanabe.net/blogs/2007/7/26/3ea172558549d2871985313a1fe98401.html</link>
<description><![CDATA[My project is excrutiatingly painful for one reason: these goobers.  I'm surprised they have been able to convince other companies of any sense of quality whatsoever.  Sloppy execution, terrible programmers, zero design skills.  If you are an employer and are looking to outsource, make sure you steer clear from this group.]]></description>
<pubDate>Thu, 26 Jul 2007 08:41:52 -0600</pubDate>
<guid>http://www.keithwatanabe.net/blogs/2007/7/26/3ea172558549d2871985313a1fe98401.html</guid>
</item>
<item>
<title>Revisiting the Hiring Good Programmers Article</title>
<link>http://www.keithwatanabe.net/blogs/2007/8/7/80b8d9e23e796351110a7ea432ef9328.html</link>
<description><![CDATA[The Slashdot forum again has provided some excellent commentary on this situation (since many probably are themselves good to excellent programmers [note: Slashdot readers tend to be of a similar breed; this should be a standard]).  I noticed things such as Man Mythical Month, hiring practices, office politics, etc. come up in the forums.  But one thing that hit me which I can relate to right now is the whole notion of how to describe a good vs bad coder.<br />
<br />
I have to revisit my earlier thoughts on how the IT industry needs to have something like a global union.  They need to divide IT workers into various classifications, scale the pay accordingly, and tier it.  So for instance, classifications would be web developer, software engineer, architect, production support, DBA, network engineer, system administrator.  The pay needs to scale according to the demand and difficulty level of the position.  So things architects are hard to come by, especially good ones.  Thus the payrange would be quite high.  However, a Windows administrator or support worker might make a significant amount less considering the difficulty and quantity available.   The tiers would work according to experience and successfully executed projects.  This methodology would provide for a balance of allowing older, wiser people to gain more pay yet force them to be competitive and competent, even after proving themselves.<br />
<br />
Another key element as I mentioned in a previous article is that unions should require formal testing to progress through the tiers.  In this manner, people won't be forced to graduate with a degree in computer science or information sciences (although it may help).  However, it would induce all people to remain competitive on the market through constantly upgrading their skills.  The unions could utilize their fees partly to help subsidize for some of this cost.  But ultimately it would come down to the responsibility of the individual to maintain a standard of excellence for themselves if they wish to progress through the tiers.<br />
<br />
One key advantage that these tests provide is standardizing ways to measure the competency of an employee.  I've seen wide ranges of interviews (and given them myself) and there isn't a single one that truly gauges a person's ability (although another huge issue is the person's character, but that should be besides the point).  One thing this can provide is a range of tests to assess the level of competency a person has in different fields.  A Java developer might excel in areas like JSPs, JSTL, servlets, but might be somewhat weak in threads or Swing programming.  He might also be tested for creative problem solving and communication ability.<br />
<br />
Tests can be progressive.  If a person feels that they've succeeded at a certain level, they can continue to aim at higher levels until they hit the top tier.  Or they can try for other tests if they decide to follow a separate career path.  Also, the tests must be translated in all languages to be fair.<br />
<br />
Returning to the issue of standardizing salaries, one thing I felt was to make salaries relatively equal.  Not between positions and levels, but between countries so that companies won't get a competitive edge by outsourcing.  The only problem of course is where the cost of living is so low, those people would gain a huge advantage over their counterparts in the world.  Alternatively, the union from one country would have to partly subsidize the loss of jobs in another country if wages are forced to be lower.]]></description>
<pubDate>Tue, 07 Aug 2007 11:01:52 -0600</pubDate>
<guid>http://www.keithwatanabe.net/blogs/2007/8/7/80b8d9e23e796351110a7ea432ef9328.html</guid>
</item>
<item>
<title>outsourcing to India and what that means</title>
<link>http://www.keithwatanabe.net/blogs/2008/2/1/adc5d62cd532aa7e453a1083bb6a965f.html</link>
<description><![CDATA[This is an interesting article which briefly discusses a few issues in outsourcing to India.  The most striking point was the whole &quot;quantity vs quality&quot; issue, especially the resume buzzword explosion.  it's quite true that you can get these brilliant minds with tons of certifications and recognition from top universities over there.  but i find those credentials to be papered rather than proven.<br />
<br />
recently, i had found an interesting article on the various PHP questions you can ask during an interview written by an Indian blogger.  funny thing was that the questions included non-PHP topics like mysql as well (which demonstrates a misnomer and fault in the person's communication skills).  The questions reminded me of a trivia test to see how much one can memorize.  Along those lines, I met a very good Oracle DBA back when I was working at Racesearch.com.  He claimed that he memorized the entire Oracle 8i book when he went for his certification.  That's an amazing feat.<br />
<br />
However, these two examples lead me to my next point in that rote memorization is great, but it does not offer insight to an individual's creativity, problem solving skills (especially in tight situations), ability to communicate and most importantly, whether or not you just gosh darn like the person.<br />
<br />
When I was working at Nikko Citigroup, we had outsourced part of our system administration duties to WiPro for an audit project.  On paper, if you saw their resumes, they were littered with credentials and experience.  However, in practice these guys plain sucked.  One guy didn't even know how to use SSH properly.  I yelled at another guy when it took my workstation down after running a multi-tasking script that went out of control. <br />
<br />
At HLIKK, we used another group, Satyam, for our e-Business project.  The code came back with all of Sun's Best Practices and usage of design patterns employed.  From a high level, in examining the UML diagrams, it looked great.  In practice, the code stunk.  It was ugly, redundant and you could tell there was no art involved in coming up with employing those best practices.  It seemed like a bunch of junior programmers who were reading Sun's J2EE patterns for the first time and trying each pattern out to claim that they have experience on those patterns, on the technology and in the business realm.  Worse yet, the company had hired a ton of these people and the cost and times went out of control.<br />
<br />
I'm not the best coder in the world (if I was, I'd work for Blizzard, EA or Google).  I don't claim to even be a great coder, nor a good coder.  I'm adequate and I know enough to allow myself to be productive.  Better yet, I'm elegant enough to know what works best for me and how to code with good speed, readability and organization (which mostly stems from my writing capabilities, believe it or not).  The thing is that at some point, I realized that just sticking with the books blindly is no good and that you have to have the experience to back up what you put on paper.  That's what I've always attempted to state on my resume.  That I have these buzzwords and I've worked to learn as much as I can about them.  Otherwise, I won't write them down.<br />
<br />
The other thing is that I've been in IT now for 8+ years and have learned a lot about coding, best practices and started even doing my own.  It's like what Arn Anderson had said in one interview.  He spent 15+ years in the pro-wrestling industry and formulated a right to an opinion.  Having been beaten up, laid off, threatened, worn out and intellectually hazed, I too have earned a right to my opinion of the tech industry and what I do as a profession.<br />
<br />
When I see companies though, blindly outsourcing because upper management have been led to believe that numerous certifications, college degrees and certain gratuitous titles in working for these consulting firms = ROI, I get disgusted.  <br />
<br />
<em><strong>Quantity != quality.</strong></em><br />
<br />
I'm not saying that outsourcing is bad.  I'm not saying these people who receive these opportunities are bad.  All I'm saying is that companies should really understand what outsourcing means.]]></description>
<pubDate>Fri, 01 Feb 2008 20:07:20 -0700</pubDate>
<guid>http://www.keithwatanabe.net/blogs/2008/2/1/adc5d62cd532aa7e453a1083bb6a965f.html</guid>
</item>
</channel>
</rss>
