<?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>IndianGeek &#187; computer science</title>
	<atom:link href="http://www.indiangeek.net/tag/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.indiangeek.net</link>
	<description>Perspectives on Computer Science and Software Engineering</description>
	<lastBuildDate>Wed, 30 Nov 2011 05:08:14 +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>Tools don&#8217;t matter</title>
		<link>http://www.indiangeek.net/2009/11/16/tools-dont-matter/</link>
		<comments>http://www.indiangeek.net/2009/11/16/tools-dont-matter/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 11:26:29 +0000</pubDate>
		<dc:creator>sijin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.indiangeek.net/?p=468</guid>
		<description><![CDATA[Tools don&#8217;t matter I don&#8217;t use vim or emacs, but for some reason whenever I used to read a vim or emacs article or blog post, I used to download, install and spend the rest of the day reading books, &#8230; <a href="http://www.indiangeek.net/2009/11/16/tools-dont-matter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Tools don&#8217;t matter</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I don&#8217;t use vim or emacs, but for some reason whenever I used to read a vim or emacs article or blog post, I used to download, install and spend the rest of the day reading books, manuals and playing with the editors. I&#8217;ve done this several times in the last few years with each iteration making a more firm resolve to switch to vim/emacs for my day to day tasks. However, I always ended back at Visual Studio.Net/Eclipse/Notepad++ as the tools of my day to day work. For some reason I always felt inferior to all the Guru* Hackers** using vim and emacs and having this crazy productivity and superior intellect. Why couldn&#8217;t I be part of this &#8220;elite&#8221; club? The same holds true for several other areas as well, for e.g. downloading Python, Ruby, J and spending the day learning the language only to forget the next week.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">All this kind of reminded me of my experiences with finding the perfect weapon while playing Call of Duty 4 over the past year. I spent 3 hours a day almost every day for the past one year playing this game, reaching the max prestige level (the &#8220;elite&#8221; club) in the multiplayer version. I became really really good at it and could kick a lot of ass no matter what weapon I was using. But I remember when I started out and I really sucked, I became obsessed with finding the perfect weapon with the perfect set of perks and addons. I used to wander the forums asking people about which weapons and perks to use on which map and what the best tips were etc. Thinking that having the perfect weapon would make me a good player. In the end, the only thing that mattered was all the hours I put in to learn all the maps, routes, tricks and my ability(I like to think). The surprising thing was that once I mastered the game, it didn&#8217;t really matter what weapon I chose, I was able to adapt any weapon and do a decent job.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Based on my experiences with the game I started thinking about why I felt I needed to be using vim/emacs. I realized that I was really efficient at doing everything that vim/emacs claimed to do using my own toolchain. And I didn&#8217;t really need to un-learn the toolset that I am the master at and pick up another toolset because a lot of people claim that it&#8217;s only way to do it right. The same applies to my language/platform of choice (C#/.Net) and my OS of choice (Vista). For some reason I was giving more weight to the opinions posted by people on the Internet than to my own experiences. I have no angst for the vim/emacs folks, they&#8217;re probably folks whose first editor was vim/emacs and that&#8217;s what they became comfortable with like to share their passion for the tool and help others in mastering it. For me coming from a DOS background with Turbo Pascal and Turbo C++ as the first tools, it&#8217;s a different perspective of what an editor should be able to do.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I&#8217;ve now made peace with my choice of tools, I know it&#8217;s limitatons and advantages compared to the other tools and I think that&#8217;s more important. The reason I have this confidence now is that I&#8217;ve written, read and debugged enough code to have an appreciation for our craft and what it entails. You just can&#8217;t get here by reading blog posts and books, you have to actually do it to the get confidence to be able to make those decisions. I am going to continue checking out new tools because I inherently love learning new things, but I&#8217;ve learned to be comfortable in my own choices.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To summarize, I&#8217;d say Pick a tool/language/platform &#8220;YOU&#8221; are comfortable with, stick with it for a non-trivial time and once you master it, you can do everything that some other tool claims to do, because in the end the tool does not matter, what really matters is the mind using It.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">*,** &#8211; Really interesting that I spewed the term Guru Hackers&#8230;Guru was what the term used for master programmers before Paul Graham made Hacker the defacto term.</div>
<p><span style="background-color: #ffffff;">I don&#8217;t use vim or emacs, but for some reason whenever I used to read a vim or emacs article or blog post, I used to download, install and spend the rest of the day reading books, manuals and playing with the editors. I&#8217;ve done this several times in the last few years with each iteration making a more firm resolve to switch to vim/emacs for my day to day tasks. However, I always ended back at Visual Studio.Net/Eclipse/Notepad++ as the tools of my day to day work. For some reason I always felt inferior to all the Guru* Hackers** using vim and emacs and having this crazy productivity and superior intellect. Why couldn&#8217;t I be part of this &#8220;elite&#8221; club? The same holds true for several other areas as well, for e.g. downloading Python, Ruby, J and spending the day learning the language only to forget the next week.</span></p>
<p>All this kind of reminded me of my experiences with finding the perfect weapon while playing Call of Duty 4 over the past year. I spent 3 hours a day almost every day for the past one year playing this game, reaching the max prestige level (the &#8220;elite&#8221; club) in the multi-player version. I became really really good at it and could kick a lot of ass no matter what weapon I was using. But I remember when I started out and I really sucked, I became obsessed with finding the perfect weapon with the perfect set of perks and addons. I used to wander the forums asking people about which weapons and perks to use on which map and what the best tips were etc. Thinking that having the perfect weapon would make me a good player. In the end, the only thing that mattered was all the hours I put in to learn all the maps, routes, tricks and my ability(I like to think). The surprising thing was that once I mastered the game, it didn&#8217;t really matter what weapon I chose, I was able to adapt any weapon and do a decent job.</p>
<p>Based on my experiences with the game I started thinking about why I felt I needed to be using vim/emacs. I realized that I was really efficient at doing everything that vim/emacs claimed to do using my own toolchain. And I didn&#8217;t really need to un-learn the toolset that I am the master at and pick up another toolset because a lot of people claim that it&#8217;s only way to do it right. The same applies to my language/platform of choice (C#/.Net) and my OS of choice (Vista). For some reason I was giving more weight to the opinions posted by people on the Internet than to my own experiences. I have no angst for the vim/emacs folks, they&#8217;re probably folks whose first editor was vim/emacs and that&#8217;s what they became comfortable with like to share their passion for the tool and help others in mastering it. For me coming from a DOS background with Turbo Pascal and Turbo C++ as the first tools, it&#8217;s a different perspective of what an editor should be able to do. I like the deep intellisense that Visual Studio and Eclipse are able to provide, this coupled with Notepad++ for quick edits is all I need right now.</p>
<p>I&#8217;ve now made peace with my choice of tools, I know it&#8217;s limitations and advantages compared to the other tools and I think that&#8217;s more important. The reason I have this confidence now is that I&#8217;ve written, read and debugged enough code to have an appreciation for our craft and what it entails and I don&#8217;t think I could have gotten this confidence by reading blog posts and books, you have to actually do it to the get confidence to be able to make those decisions. I am going to continue checking out new tools because I inherently love learning new things, but I&#8217;ve learned to have confidence in my own choices and to make an objective decision on the tool to use for a particular task.</p>
<p>To summarize, I&#8217;d say Pick a tool/language/platform &#8220;YOU&#8221; are comfortable with, stick with it for a non-trivial time and once you master it, you can do everything that some other tool claims to do, because in the end the tool does not matter a lot, what really matters is the mind using It.</p>
<p>*,** &#8211; Really interesting that I spewed the adjective Guru Hackers, &#8220;Guru&#8221; was what the term used for master programmers before Paul Graham popularized &#8220;Hacker&#8221; as the de facto term.</p>
<div class="wp-caption alignleft" style="width: 750px"><a href="http://xkcd.com/378/"><img title="XCKD: Real Programmers" src="http://imgs.xkcd.com/comics/real_programmers.png" alt="Real Programmers" width="740" height="406" /></a><p class="wp-caption-text">Real Programmers</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.indiangeek.net/2009/11/16/tools-dont-matter/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Programmer Competency Matrix &#8211; 32 attributes to evaluate programmers</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/</link>
		<comments>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 16:44:54 +0000</pubDate>
		<dc:creator>sijin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.indiangeek.net/?p=360</guid>
		<description><![CDATA[Having worked with programmers with an extreme variance in skills, I sometimes get the feeling that there is an big lack of good programmers but when I thought about it a little more I realized that it's not very clear cut, some of the programmers have strong areas and if you confine the tasks into their strong areas then they tend to deliver well. So I started thinking about all the lines on which we can evaluate a programmer and came up with this Programmer Competency Matrix, that organizes all the attributes that I could think of to evaluate a programmer. <a href="http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Having worked with programmers with an extreme variance in skills, I sometimes get the feeling that there is an big lack of good programmers but when I thought about it a little more I realized that it&#8217;s not very clear cut, some of the programmers have strong areas and if you confine the tasks into their strong areas then they tend to deliver well. So I started thinking about all the lines on which we can evaluate a programmer, here&#8217;s what I have so far&#8230;</p>
<p><a title="Programmer Competency Matrix" href="http://www.indiangeek.net/programmer-competency-matrix/" target="_self">Programmer Competency Matrix</a> (the table is too big to fit on this blog post and needs a whole page of it&#8217;s own)</p>
<p>After having spent a whole afternoon on this I realize that even this is not comprehensive, this matrix is more biased towards non-visual programmers, so a big majority of web devs will not be able to relate well to this matrix, but I am tired and will come back to this at a later time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

