<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: The wrong attitude of learning on the job</title>
	<atom:link href="http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html</link>
	<description>Thoughts on software development and project management</description>
	<pubDate>Thu, 20 Nov 2008 19:14:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Buu Nguyen&#8217;s Blog &#187; On interviewing - beyond technical competence</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-19498</link>
		<dc:creator>Buu Nguyen&#8217;s Blog &#187; On interviewing - beyond technical competence</dc:creator>
		<pubDate>Fri, 23 Nov 2007 15:29:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-19498</guid>
		<description>[...] the last few posts on interviewing, I discussed mostly about the technical aspects of the interviewing [...]</description>
		<content:encoded><![CDATA[<p>[...] the last few posts on interviewing, I discussed mostly about the technical aspects of the interviewing [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Buu Nguyen</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-12447</link>
		<dc:creator>Buu Nguyen</dc:creator>
		<pubDate>Tue, 02 Oct 2007 06:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-12447</guid>
		<description>Thanks for the thorough comment, Mark.  I largely agree with your observation about Windows-app developers.  I also agree that there are not a lot of MS docs discussing about building good software design while focusing mostly on how to use the MS tools (so that the tools can do the "design").  In fact, talking about focus, if you compare the certifications in the Java (like CJP, CJD) and .NET (like MCSD.NET) spaces, you will also see the assessment methods/topics areas are way too differently.  

Having said that, I am seeing some changes in the .NET space lately in which people &lt;a href="http://weblogs.asp.net/rosherove/archive/2007/06/04/alt-net-alternative-tools-and-approaches-to-mainstream-net.aspx" rel="nofollow"&gt;pay much more attention to things which are not MS-built&lt;/a&gt;.  Another good thing is that  MS starts seeing the value of stuffs like Ruby, ORM and implementing such products on top of the .NET platform.</description>
		<content:encoded><![CDATA[<p>Thanks for the thorough comment, Mark.  I largely agree with your observation about Windows-app developers.  I also agree that there are not a lot of MS docs discussing about building good software design while focusing mostly on how to use the MS tools (so that the tools can do the &#8220;design&#8221;).  In fact, talking about focus, if you compare the certifications in the Java (like CJP, CJD) and .NET (like MCSD.NET) spaces, you will also see the assessment methods/topics areas are way too differently.  </p>
<p>Having said that, I am seeing some changes in the .NET space lately in which people <a href="http://weblogs.asp.net/rosherove/archive/2007/06/04/alt-net-alternative-tools-and-approaches-to-mainstream-net.aspx" rel="nofollow">pay much more attention to things which are not MS-built</a>.  Another good thing is that  MS starts seeing the value of stuffs like Ruby, ORM and implementing such products on top of the .NET platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Miller</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-12352</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Sun, 30 Sep 2007 23:11:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-12352</guid>
		<description>I have always made an effort to learn a language comprehensively. I have also had an interest in design principles, because I've seen the results of badly designed software.

I have a couple easy questions that I think will tell you a lot about a candidate up front: Have they ever written a class from scratch? Have they ever derived a class from another one by themselves?

A lot of Windows developers probably have not, but have instead just used the facilities that VS.Net gives them. It creates their classes for them and many of their methods. The tool basically directs their design choices. They feel this false sense that they don't have to think about it.

In my own experience, even though I know about abstract classes, the last time I used one was in C++. I've used my own interfaces in .Net, but rarely. To tell you the truth I don't see how you could use .Net without having a rudimentary understanding of interfaces. The framework uses them extensively. It's difficult to use .Net classes in combination with each other without this knowledge.

I think what you're also seeing is people are still so used to .Net 1.x. Some of the blame I think lies with where most developers look for information. They typically consult MSDN docs most of the time, which never used to give examples about creating object models to use with applications. There was barely any documentation (none from Microsoft) about how to use ASP.Net with business objects, and how to databind to objects. Without that I can understand how it would be difficult for developers to see the advantages of ORM. This has changed with .Net 2.0, but it seems a lot of developers have not gotten with the program.

If they genuinely cared about development issues they would've learned this stuff without Microsoft docs. and searched for a way to implement it, rather than just saying "I don't care about it since Microsoft didn't talk about it".

I agree with you that there are some things that are not merely "theoretical", but would tend to make life easier, like generics and ORM. Any senior developer would be a fool not to learn about them, because they can save a significant amount of development time (ORM does have its pitfalls though, from what I hear).</description>
		<content:encoded><![CDATA[<p>I have always made an effort to learn a language comprehensively. I have also had an interest in design principles, because I&#8217;ve seen the results of badly designed software.</p>
<p>I have a couple easy questions that I think will tell you a lot about a candidate up front: Have they ever written a class from scratch? Have they ever derived a class from another one by themselves?</p>
<p>A lot of Windows developers probably have not, but have instead just used the facilities that VS.Net gives them. It creates their classes for them and many of their methods. The tool basically directs their design choices. They feel this false sense that they don&#8217;t have to think about it.</p>
<p>In my own experience, even though I know about abstract classes, the last time I used one was in C++. I&#8217;ve used my own interfaces in .Net, but rarely. To tell you the truth I don&#8217;t see how you could use .Net without having a rudimentary understanding of interfaces. The framework uses them extensively. It&#8217;s difficult to use .Net classes in combination with each other without this knowledge.</p>
<p>I think what you&#8217;re also seeing is people are still so used to .Net 1.x. Some of the blame I think lies with where most developers look for information. They typically consult MSDN docs most of the time, which never used to give examples about creating object models to use with applications. There was barely any documentation (none from Microsoft) about how to use ASP.Net with business objects, and how to databind to objects. Without that I can understand how it would be difficult for developers to see the advantages of ORM. This has changed with .Net 2.0, but it seems a lot of developers have not gotten with the program.</p>
<p>If they genuinely cared about development issues they would&#8217;ve learned this stuff without Microsoft docs. and searched for a way to implement it, rather than just saying &#8220;I don&#8217;t care about it since Microsoft didn&#8217;t talk about it&#8221;.</p>
<p>I agree with you that there are some things that are not merely &#8220;theoretical&#8221;, but would tend to make life easier, like generics and ORM. Any senior developer would be a fool not to learn about them, because they can save a significant amount of development time (ORM does have its pitfalls though, from what I hear).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Buu Nguyen&#8217;s Blog &#187; When you learn new things, learn from books</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-9052</link>
		<dc:creator>Buu Nguyen&#8217;s Blog &#187; When you learn new things, learn from books</dc:creator>
		<pubDate>Sun, 19 Aug 2007 08:32:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-9052</guid>
		<description>[...] I can hardly believe that there is any Java developer who never reads a Java book, or agile developer who never reads a book on XP, Scrum&#8230; Unfortunately, there are just so many many of those. In fact, many people I know/interview have very fundamental gaps in their knowledge and in most cases I discover that it is partly due to the fact that they never spend time learning things from books. Reasons provided often are: not enough time, internet resources are more than enough etc. In most situations, I don&#8217;t think it&#8217;s a good mindset to develop software. [...]</description>
		<content:encoded><![CDATA[<p>[...] I can hardly believe that there is any Java developer who never reads a Java book, or agile developer who never reads a book on XP, Scrum&#8230; Unfortunately, there are just so many many of those. In fact, many people I know/interview have very fundamental gaps in their knowledge and in most cases I discover that it is partly due to the fact that they never spend time learning things from books. Reasons provided often are: not enough time, internet resources are more than enough etc. In most situations, I don&#8217;t think it&#8217;s a good mindset to develop software. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quang, Nguyen Ngoc</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-7490</link>
		<dc:creator>Quang, Nguyen Ngoc</dc:creator>
		<pubDate>Fri, 20 Jul 2007 02:44:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-7490</guid>
		<description>Hi Buu, I'm J2EE software engineer.

I don't agree with you saying that they are advanced knowledge. In my point of view, they are basic knowledge as well as every good developer must know. If someone can't answer these question, they just be a junior developer, not be a senior developer as they said.

Maybe, in the .Net world, M$ supports a lot of thing and they wouldn't care these fundamental thing to make a good software. In our world, that's basic knowledge which every Java developer needs to know! I'm honest.</description>
		<content:encoded><![CDATA[<p>Hi Buu, I&#8217;m J2EE software engineer.</p>
<p>I don&#8217;t agree with you saying that they are advanced knowledge. In my point of view, they are basic knowledge as well as every good developer must know. If someone can&#8217;t answer these question, they just be a junior developer, not be a senior developer as they said.</p>
<p>Maybe, in the .Net world, M$ supports a lot of thing and they wouldn&#8217;t care these fundamental thing to make a good software. In our world, that&#8217;s basic knowledge which every Java developer needs to know! I&#8217;m honest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Malkin</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5909</link>
		<dc:creator>Bill Malkin</dc:creator>
		<pubDate>Wed, 13 Jun 2007 12:07:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5909</guid>
		<description>Good points! I hate it when people "learn on the job" as I have to maintain their crappy code! They're too damn lazy and arrogant to do industry certifications or professional development of any kind and their code is absolutely disgusting. "Learning on the job" is a euphemism for leaving behind a great big heap of stinking rubbish. Not that it bothers me of course.</description>
		<content:encoded><![CDATA[<p>Good points! I hate it when people &#8220;learn on the job&#8221; as I have to maintain their crappy code! They&#8217;re too damn lazy and arrogant to do industry certifications or professional development of any kind and their code is absolutely disgusting. &#8220;Learning on the job&#8221; is a euphemism for leaving behind a great big heap of stinking rubbish. Not that it bothers me of course.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: choy</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5901</link>
		<dc:creator>choy</dc:creator>
		<pubDate>Wed, 13 Jun 2007 06:25:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5901</guid>
		<description>Although I agree with most of what you're saying, I can't help but sense a certain amount of elitism here. Sometimes I question whether I myself am studying this stuff to be more effective (wise), because it's cool (childish), or to increase my elite quotient (very adult).  I love the wisdom of the sages as much as the next geeky coder. really i do.

But just because the candidate can't do our elitespeak or bookspeak doesn't mean they aren't capable coders. And I'm sure there are plenty of bad coders who can talk the elitist talk but can't quite walk the supercoder walk.

In my travels, which includes a long stint at a design patterns study group, I have met some talented coders who can't tell you the difference between an "object" and a "class."

But they still have this uncanny knack of doing the right thing. Their gut tells them when a responsibility is misplaced. "It just feels wrong" to them. They do rigorous unit testing (implying they design units) - may not be automated - but rigorous. Remarkably productive and efficient. A whirlwind to watch in action. These guys are running at 60 mph and I'm trying to convince them to crawl with NUnit and CruiseControl and what not.

Oh, and they ask great questions too. questions like "why should i know the difference between an object and a class?" "is it possible this man page is wrong?" Sure, you won't be able to explain things to them and they'll have some wierd magical way of explaining things to you but the communication gap should be more than compensated by the raw talent.

In summary, I think you should consider again some of those guys you've passed up on. Although scholarly diction probably correlates with talent, absence does not necessarily indicate a lack of talent. Personally I've learned a lot from these plebeian coders ;-)</description>
		<content:encoded><![CDATA[<p>Although I agree with most of what you&#8217;re saying, I can&#8217;t help but sense a certain amount of elitism here. Sometimes I question whether I myself am studying this stuff to be more effective (wise), because it&#8217;s cool (childish), or to increase my elite quotient (very adult).  I love the wisdom of the sages as much as the next geeky coder. really i do.</p>
<p>But just because the candidate can&#8217;t do our elitespeak or bookspeak doesn&#8217;t mean they aren&#8217;t capable coders. And I&#8217;m sure there are plenty of bad coders who can talk the elitist talk but can&#8217;t quite walk the supercoder walk.</p>
<p>In my travels, which includes a long stint at a design patterns study group, I have met some talented coders who can&#8217;t tell you the difference between an &#8220;object&#8221; and a &#8220;class.&#8221;</p>
<p>But they still have this uncanny knack of doing the right thing. Their gut tells them when a responsibility is misplaced. &#8220;It just feels wrong&#8221; to them. They do rigorous unit testing (implying they design units) - may not be automated - but rigorous. Remarkably productive and efficient. A whirlwind to watch in action. These guys are running at 60 mph and I&#8217;m trying to convince them to crawl with NUnit and CruiseControl and what not.</p>
<p>Oh, and they ask great questions too. questions like &#8220;why should i know the difference between an object and a class?&#8221; &#8220;is it possible this man page is wrong?&#8221; Sure, you won&#8217;t be able to explain things to them and they&#8217;ll have some wierd magical way of explaining things to you but the communication gap should be more than compensated by the raw talent.</p>
<p>In summary, I think you should consider again some of those guys you&#8217;ve passed up on. Although scholarly diction probably correlates with talent, absence does not necessarily indicate a lack of talent. Personally I&#8217;ve learned a lot from these plebeian coders <img src='http://www.buunguyen.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon e mouse</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5861</link>
		<dc:creator>anon e mouse</dc:creator>
		<pubDate>Tue, 12 Jun 2007 12:24:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5861</guid>
		<description>While I wasn't hired a a senior C#/.Net dev, I was definitely in this position before.

These people are probably just desperate to get a job of some type, or to leave their current situation for greener pastures.

When I took up ASP.Net/C#, I learned about all kinds of crazy stuff having to do with the language/framework.  This is going to sound snooty but after checking out Rails, I tried to find the same kind of thing in ASP.Net.  Studied Castle Project, NHibernate, code generation, all kinds of stuff to try and achieve the same kind of RoR zen.

When I didn't find it, and had to muddle through so much bloat / etc. to deal with things the ASP.Net/C# way, I pretty much gave up and starded seeking a RoR gig where I could then learn that "on the job" to some extent.  (they were aware of this, though)

ps. if I get desperate enough again, I'll start padding my resume &#38; applying to all kinds of different jobs where I don't have 100% perfect experience.  If you're smart/savvy/ a quick-learner enough, sometimes learning on the job really can fly, barely.  =)</description>
		<content:encoded><![CDATA[<p>While I wasn&#8217;t hired a a senior C#/.Net dev, I was definitely in this position before.</p>
<p>These people are probably just desperate to get a job of some type, or to leave their current situation for greener pastures.</p>
<p>When I took up ASP.Net/C#, I learned about all kinds of crazy stuff having to do with the language/framework.  This is going to sound snooty but after checking out Rails, I tried to find the same kind of thing in ASP.Net.  Studied Castle Project, NHibernate, code generation, all kinds of stuff to try and achieve the same kind of RoR zen.</p>
<p>When I didn&#8217;t find it, and had to muddle through so much bloat / etc. to deal with things the ASP.Net/C# way, I pretty much gave up and starded seeking a RoR gig where I could then learn that &#8220;on the job&#8221; to some extent.  (they were aware of this, though)</p>
<p>ps. if I get desperate enough again, I&#8217;ll start padding my resume &amp; applying to all kinds of different jobs where I don&#8217;t have 100% perfect experience.  If you&#8217;re smart/savvy/ a quick-learner enough, sometimes learning on the job really can fly, barely.  =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Buu Nguyen</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5819</link>
		<dc:creator>Buu Nguyen</dc:creator>
		<pubDate>Mon, 11 Jun 2007 18:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5819</guid>
		<description>Thanks a lot for your comments, everyone.

&lt;b&gt;@Hagrin:&lt;/b&gt;
The ability to learn things quickly is obviously expected.  No question about that.  

&lt;b&gt;@Lee:&lt;/b&gt;
Good point!  I'm not aware of any environment in which the bosses say "boys, you have 40 hours per week, spend 10 to sharpen your skills and the rest to code the apps".  

&lt;b&gt;@Mike Duncan:&lt;/b&gt;
Good point on how to cope with unsupportive environment, Mike.

&lt;b&gt;@Ubercoder:&lt;/b&gt;
Absolutely.  Incompetence does not express in creating bad design, it is also in over-designing the needs.

&lt;b&gt;@Ray:&lt;/b&gt;
Part of adaptability comes from the fact that you possess a good amount of fundamentals and current knowledge because most new things are built on top of existing things.  Hide in the mountain for 10 years and come back, then tell me how quickly one can learn .NET 5.0 faster than others :)

&lt;b&gt;@meijin:&lt;/b&gt;
&lt;blockquote&gt;You have no clue what a fundamental question is.&lt;/blockquote&gt;
Not all levels of "fundamental" need to be technology-independent.  I don't see anything wrong in saying "fundamentals of .NET framework" or "fundamentals of web programming" and so on.  

&lt;blockquote&gt;Once you understand them you should throw away all design patterns&lt;/blockquote&gt;
It's different between an expert designer who does not need to think about patterns when designing and a person who has bad design skills and yet has no interest in learning about patterns (a good way to learn about design, I would say).  Fortunately, it's pretty easy to tell between the two.

&lt;blockquote&gt;---&lt;i&gt;they do not know what on earth NUnit is&lt;/i&gt;
You misspelled JUnit...&lt;/blockquote&gt;
Isn't it more relevant to talk with .NET developers about NUnit than JUnit?

&lt;blockquote&gt;The problem of getting the software built in the right way is undecidable.&lt;/blockquote&gt;
"Right" is context-dependent, but it's not undecidable to a competent team.

&lt;blockquote&gt;Unless you have an MBA and a political agenda you are not suppose to use these words.&lt;/blockquote&gt;
Sorry for being dump, but I don't see why people need an MBA to talk about things like reliability, maintainability... can you explain?

Excuse me for not responding to the last few of your comments.

&lt;b&gt;@ryan:&lt;/b&gt;
I agree with many of your points.  I don't ask people to compare Visitor and Decorator (or Factory and Abstract Factory) - by the book knowledge about patterns is of little interest to me.  Typically, I ask the candidates to describe how they designed or would design a specific problem, and if it turns out to be a bad design, I provide hint whether they know some patterns/principles to apply for the circumstances.  Another question I often use after the candidate has confirmed that s/he knows about pattern is "which pattern do you prefer the most, and why?".   

&lt;b&gt;@Timmy:&lt;/b&gt;
You raised some valid points about the issues regarding fresh graduates.  But I talk about "senior developers" in my post.

&lt;b&gt;@Marcin:&lt;/b&gt;
&lt;blockquote&gt;It looks like a lot of the developers you mentioned went straight from their colleges to software companies, without any work experience&lt;/blockquote&gt;
I wouldn't write this blog entry if this is the case.  In fact, some do have &lt;i&gt;a lot&lt;/i&gt; of experience.  I agree with you that the problem of not pursuing further knowledge also has to do with management - in many circumstances, good managers should encourage and create a learning environment for their team.

I'm looking forward to your blog entry :).</description>
		<content:encoded><![CDATA[<p>Thanks a lot for your comments, everyone.</p>
<p><b>@Hagrin:</b><br />
The ability to learn things quickly is obviously expected.  No question about that.  </p>
<p><b>@Lee:</b><br />
Good point!  I&#8217;m not aware of any environment in which the bosses say &#8220;boys, you have 40 hours per week, spend 10 to sharpen your skills and the rest to code the apps&#8221;.  </p>
<p><b>@Mike Duncan:</b><br />
Good point on how to cope with unsupportive environment, Mike.</p>
<p><b>@Ubercoder:</b><br />
Absolutely.  Incompetence does not express in creating bad design, it is also in over-designing the needs.</p>
<p><b>@Ray:</b><br />
Part of adaptability comes from the fact that you possess a good amount of fundamentals and current knowledge because most new things are built on top of existing things.  Hide in the mountain for 10 years and come back, then tell me how quickly one can learn .NET 5.0 faster than others <img src='http://www.buunguyen.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><b>@meijin:</b></p>
<blockquote><p>You have no clue what a fundamental question is.</p></blockquote>
<p>Not all levels of &#8220;fundamental&#8221; need to be technology-independent.  I don&#8217;t see anything wrong in saying &#8220;fundamentals of .NET framework&#8221; or &#8220;fundamentals of web programming&#8221; and so on.  </p>
<blockquote><p>Once you understand them you should throw away all design patterns</p></blockquote>
<p>It&#8217;s different between an expert designer who does not need to think about patterns when designing and a person who has bad design skills and yet has no interest in learning about patterns (a good way to learn about design, I would say).  Fortunately, it&#8217;s pretty easy to tell between the two.</p>
<blockquote><p>&#8212;<i>they do not know what on earth NUnit is</i><br />
You misspelled JUnit&#8230;</p></blockquote>
<p>Isn&#8217;t it more relevant to talk with .NET developers about NUnit than JUnit?</p>
<blockquote><p>The problem of getting the software built in the right way is undecidable.</p></blockquote>
<p>&#8220;Right&#8221; is context-dependent, but it&#8217;s not undecidable to a competent team.</p>
<blockquote><p>Unless you have an MBA and a political agenda you are not suppose to use these words.</p></blockquote>
<p>Sorry for being dump, but I don&#8217;t see why people need an MBA to talk about things like reliability, maintainability&#8230; can you explain?</p>
<p>Excuse me for not responding to the last few of your comments.</p>
<p><b>@ryan:</b><br />
I agree with many of your points.  I don&#8217;t ask people to compare Visitor and Decorator (or Factory and Abstract Factory) - by the book knowledge about patterns is of little interest to me.  Typically, I ask the candidates to describe how they designed or would design a specific problem, and if it turns out to be a bad design, I provide hint whether they know some patterns/principles to apply for the circumstances.  Another question I often use after the candidate has confirmed that s/he knows about pattern is &#8220;which pattern do you prefer the most, and why?&#8221;.   </p>
<p><b>@Timmy:</b><br />
You raised some valid points about the issues regarding fresh graduates.  But I talk about &#8220;senior developers&#8221; in my post.</p>
<p><b>@Marcin:</b></p>
<blockquote><p>It looks like a lot of the developers you mentioned went straight from their colleges to software companies, without any work experience</p></blockquote>
<p>I wouldn&#8217;t write this blog entry if this is the case.  In fact, some do have <i>a lot</i> of experience.  I agree with you that the problem of not pursuing further knowledge also has to do with management - in many circumstances, good managers should encourage and create a learning environment for their team.</p>
<p>I&#8217;m looking forward to your blog entry :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcin Seredynski</title>
		<link>http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5799</link>
		<dc:creator>Marcin Seredynski</dc:creator>
		<pubDate>Mon, 11 Jun 2007 08:35:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html#comment-5799</guid>
		<description>It looks like a lot of the developers you mentioned went straight from their colleges to software companies, without any work experience. That's acceptable, of course, as nobody is born experienced.

What is unacceptable is that the "boss" does not have a clue about programming nor new technologies and methodologies, and does not encourage his developers to pursue ew knowledge. It's more of a management problem than a problem with developers.

Entry-level programmers should always have a mentor, who would show them see of the tricks he learned, and would teach them how to find references and communities in the net. Well, the reference is not enough, as it seems to be "carved in stone" most of the times. The most valuable resources now are the blogs, as they deal with most recent problems.

From my own experience, the best programmers are the guys who are self-taught. Sometimes they need some guidance, and they need to be un-taught the mannerisms that they have learned on their own, but they are very eager to learn.

Once, in one of the interviews I went to, I was asked a simple question: "what blogs do you read?" It's a perfect question to elicit whether the candidate is passionate about programming and is he up-to-date with the news.

An important concern has been raised here: experience != mileage. *creating a draft on my Wordpress*</description>
		<content:encoded><![CDATA[<p>It looks like a lot of the developers you mentioned went straight from their colleges to software companies, without any work experience. That&#8217;s acceptable, of course, as nobody is born experienced.</p>
<p>What is unacceptable is that the &#8220;boss&#8221; does not have a clue about programming nor new technologies and methodologies, and does not encourage his developers to pursue ew knowledge. It&#8217;s more of a management problem than a problem with developers.</p>
<p>Entry-level programmers should always have a mentor, who would show them see of the tricks he learned, and would teach them how to find references and communities in the net. Well, the reference is not enough, as it seems to be &#8220;carved in stone&#8221; most of the times. The most valuable resources now are the blogs, as they deal with most recent problems.</p>
<p>From my own experience, the best programmers are the guys who are self-taught. Sometimes they need some guidance, and they need to be un-taught the mannerisms that they have learned on their own, but they are very eager to learn.</p>
<p>Once, in one of the interviews I went to, I was asked a simple question: &#8220;what blogs do you read?&#8221; It&#8217;s a perfect question to elicit whether the candidate is passionate about programming and is he up-to-date with the news.</p>
<p>An important concern has been raised here: experience != mileage. *creating a draft on my Wordpress*</p>
]]></content:encoded>
	</item>
</channel>
</rss>
