<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Oleg Dulin</title>
    
    
    <link rel="alternate" type="text/html" href="http://www.olegdulin.com/" />
    <id>tag:typepad.com,2003:weblog-1831445</id>
    <updated>2010-07-24T04:28:09-07:00</updated>
    <subtitle>New Jersey/NYC-area Java Software Engineer</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/QualityOnTime" /><feedburner:info uri="qualityontime" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://hubbub.api.typepad.com/" /><geo:lat>40.434239</geo:lat><geo:long>-74.40504</geo:long><feedburner:emailServiceId>QualityOnTime</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
        <title>What I expect from candidates, Part 2</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/4FVVBG2OR7Y/what-i-expect-from-candidates-part-2.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/07/what-i-expect-from-candidates-part-2.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c013485a9732d970c</id>
        <published>2010-07-24T04:28:09-07:00</published>
        <updated>2010-07-24T04:28:09-07:00</updated>
        <summary>Two of my former grad. school professors published a short article criticizing the modern academic curriculum as practiced by the majority of the computer science programs. While something tells me that Dewar and Schonberg may suffer from the Auld Lang Complex (diminishment of things present and glorification of things past), I can't help but wonder -- why do so many of the recent graduates from today's programs in comp. sci. have absolutely no depth to their knowledge ? Someone who has just graduated with a bachelor's degree in computer science must: Demonstrate a basic knowledge of operating systems and computer...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Interview Questions" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Software Engineering" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;br&gt;&#xD;
&lt;img src="http://olegdulin.typepad.com/.a/6a0111689c9405970c0133f28534fc970b-pi" width="360" height="480" alt="P7239317.jpg"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Two of my former grad. school professors published a &lt;a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html"&gt;short article&lt;/a&gt; criticizing the modern academic curriculum as practiced by the majority of the computer science programs. While something tells me that Dewar and Schonberg may suffer from the Auld Lang Complex (diminishment of things present and glorification of things past), I can't help but wonder -- why do so many of the recent graduates from today's programs in comp. sci. have absolutely no depth to their knowledge ?&lt;/p&gt;&#xD;
&lt;p&gt;Someone who has just graduated with a bachelor's degree in computer science must:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
  &lt;li&gt;Demonstrate a basic knowledge of operating systems and computer architecture concepts. This includes Turing machine, Von Neumann, NUMA, SMP, multiprocessing, threads, concurrency, locks, semaphors, etc. When asked you should be able to say what you think is the most interesting aspect of modern computer architectures and discuss why.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Demonstrate basic understanding of programming languages. At the very minimum you should be able to read source code in just about any commonly used language and identify what it does. By the time you graduate from a 4-year program you should've identified your preferred language and be able to discuss why.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;You must have basic understanding of human-computer interaction and GUI concepts. I don't care if the course on GUI design is not required. You should be able to think critically of user interfaces that you use and you should be able to describe the components, the layouts and the event handling of a simple GUI application.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Display basic knowledge of data structures and algorithm analysis. At interviews I don't ask complex algorithms and automata theory questions. However, I do expect the candidates to demonstrate ability to eye-ball the time-complexity of a search and a sort algorithm.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Demonstrate basic knowledge of tools. Pretty much all comp.sci. programs make students write simple projects. You have to understand what a compiler does and what a debugger does. If you claim you know how to use a particular OS then you should also be able to discuss commonly used tools and techniques.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Demonstrate basic problem solving abilities and out of the box thinking. This one is somewhat hard to judge and I've been attempting to come up with a good line of questioning that can help tell a problem solver from someone who requires handholding.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Finally, you have to be able to identify an area of interest in computer science that you are passionate about and discuss it. You have to demonstrate general curiousity about technology, problems and solutions.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Now, if you have a Masters or a few years of experience, or both. I would like to see the following:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
  &lt;li&gt;Demonstrate knowledge of all the basics as above.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;In addition to the basics you should be able to debate the specific implementation of the frameworks and tools you use. For example, a common question I ask at interviews is how does a ConcurrentHashMap work in Java ? If you say you've looked at the source code because you were curious then I will most definitely recommend you to my boss. If you haven't I expect you speculate and discuss pros and cons to different ways of implementing it.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Have a common theme to your experience and a story. For example, if you have a masters then you should be able to discuss your area of concentration, why you chose it, etc. If you have years of experience then I'd like to see some commonality to each of your projects, some sort of a developing narrative. Noone writes software in a vacuum so you must have some business or application area of interest, i.e. financial, manufacturing, inventory management, healthcare, etc. There must also be an identifiable thread to your contributions -- i.e. improvements to engineering process, software quality, refactoring, reducing costs, etc&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Last year I read "Java/J2EE Job Interview Companion" (see my &lt;a href="http://www.olegdulin.com/2009/04/javaj2ee-job-interview-companion---400-questions-answers-by-arulkumaran-kumaraswamipillai-sivayini-arulkumaran.html"&gt;review&lt;/a&gt;) and, frankly, I don't think that book is helpful as an interview prep material. I am now contemplating my own pet project of an interview prep guide and I will be posting more ideas over the coming weeks.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=4FVVBG2OR7Y:c5xux_fN2Ss:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=4FVVBG2OR7Y:c5xux_fN2Ss:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=4FVVBG2OR7Y:c5xux_fN2Ss:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=4FVVBG2OR7Y:c5xux_fN2Ss:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/4FVVBG2OR7Y" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/07/what-i-expect-from-candidates-part-2.html</feedburner:origLink></entry>
    <entry>
        <title>What I look for in candidates when I interview them</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/S-ypgm8NBM8/what-i-look-for-in-candidates-when-i-interview-them.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/07/what-i-look-for-in-candidates-when-i-interview-them.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0134857de83f970c</id>
        <published>2010-07-17T02:50:56-07:00</published>
        <updated>2010-07-17T04:13:25-07:00</updated>
        <summary>I was asked to interview a few people for junior-level Java developer positions. In trying to build a general framework for screening I came up with this. For me to give ok to my boss the candidate must demonstrate: Understanding of the language. Even first day out of college they should know the language to be used on the job. In this case it is Java. Understanding of the tools. I ask questions about the basics of using the IDE -- debugger, compiler, etc. Understanding of the technologies. Does the candidate understand the basics of how application servers work ?...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Interview Questions" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I was asked to interview a few people for junior-level Java developer positions. In trying to build a general framework for screening I came up with this. For me to give ok to my boss the candidate must demonstrate:&lt;/p&gt;&#xD;
&lt;ol&gt;&#xD;
  &lt;li&gt;Understanding of the language. Even first day out of college they should know the language to be used on the job. In this case it is Java.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Understanding of the tools. I ask questions about the basics of using the IDE -- debugger, compiler, etc.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Understanding of the technologies. Does the candidate understand the basics of how application servers work ? Do they understand the implications of designing Java software that runs on the servers ?&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Understanding of the algorithms and data structures, ability to spot inefficiencies.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Understanding of OOP, design patterns, and refactoring.&lt;/li&gt;&#xD;
&lt;/ol&gt;&#xD;
&lt;p&gt;I don't think I am a tough interviewer and generally speaking I don't look for right or wrong answers. I look for critical thinking and curiosity. Without these two I can't imagine the candidate to be a good problem solver or a useful colleague.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=S-ypgm8NBM8:D1t0z34MzZo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=S-ypgm8NBM8:D1t0z34MzZo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=S-ypgm8NBM8:D1t0z34MzZo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=S-ypgm8NBM8:D1t0z34MzZo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/S-ypgm8NBM8" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/07/what-i-look-for-in-candidates-when-i-interview-them.html</feedburner:origLink></entry>
    <entry>
        <title>Writing clean, reusable code is not incompatible with getting work done</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/CRMLO3CFy-o/writing-clean-reusable-code-is-not-incompatible-with-getting-work-done.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/07/writing-clean-reusable-code-is-not-incompatible-with-getting-work-done.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0133f2306789970b</id>
        <published>2010-07-10T02:56:47-07:00</published>
        <updated>2010-07-10T02:56:47-07:00</updated>
        <summary>In "Shop Class as Soul Craft" there was a story of an electrician who very carefully laid out the cables and labeled them. When asked why bother because, after all, all of his work will be covered by a layer of drywall anyway, he said something along these lines: "When a few years from now another electrician will come to repair or upgrade something I want them to know a professional did this." That is how I feel about my code. There is a school of thought that refactoring and OOP get in the way of "getting the work done."...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Software Engineering" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;In "&lt;a href="http://www.olegdulin.com/2009/08/book-review-shop-class-as-soul-craft-by-matthew-b-crawford.html" title="Shop class as soul craft"&gt;Shop Class as Soul Craft&lt;/a&gt;" there was a story of an electrician who very carefully laid out the cables and labeled them. When asked why bother because, after all, all of his work will be covered by a layer of drywall anyway, he said something along these lines: "When a few years from now another electrician will come to repair or upgrade something I want them to know a professional did this."&lt;/p&gt;&#xD;
&lt;p&gt;That is how I feel about my code. There is a school of thought that refactoring and OOP get in the way of "getting the work done." I couldn't disagree more. A good software engineer can meet the needs of users and come up with well crafted code that will be used for years to come.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=CRMLO3CFy-o:TOv33FnMspA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=CRMLO3CFy-o:TOv33FnMspA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=CRMLO3CFy-o:TOv33FnMspA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=CRMLO3CFy-o:TOv33FnMspA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/CRMLO3CFy-o" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/07/writing-clean-reusable-code-is-not-incompatible-with-getting-work-done.html</feedburner:origLink></entry>
    <entry>
        <title>The discipline of software maintenance</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/JiIjE9H1j7M/the-discipline-of-software-maintenance.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/07/the-discipline-of-software-maintenance.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c013485562b55970c</id>
        <published>2010-07-10T02:55:31-07:00</published>
        <updated>2010-07-14T02:29:41-07:00</updated>
        <summary>I hold a professional membership in the ACM and as a member I receive "ACM Communications" every month. That lets me keep an eye on the developments in my field. Occasionally a blurb pops up that grabs my attention. In the June 2010 issue (Vol. 53, No. 6) on p.7 a letter to the editors caught my eye. Donald J. Reifer writes about software maintenance: Support consumes almost as much effort as changes and repairs Maintenance teams focus on closing high-priority trouble reports rather than making changes Maintenance managers must determine what they can do with the resources they have...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Career" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I hold a professional membership in the ACM and as a member I receive "ACM Communications" every month. That lets me keep an eye on the developments in my field. Occasionally a blurb pops up that grabs my attention. In the June 2010 issue (Vol. 53, No. 6) on p.7 a letter to the editors caught my eye. Donald J. Reifer writes about software maintenance:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
  &lt;li&gt;Support consumes almost as much effort as changes and repairs&lt;br&gt;&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Maintenance teams focus on closing high-priority trouble reports rather than making changes&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Maintenance managers must determine what they can do with the resources they have rather than what needs to be done&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Maintenance personell is more experienced since they often have to work on outdated equipment and systems.&lt;/li&gt;&#xD;
&#xD;
  &lt;li&gt;Maintenance tools are inferior and most modern IDEs do not support the work&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Software maintenance is a rather understudied and underappreciated area of software engineering. The engineer assigned to the task must exhibit attentiveness and humility not necessarily applicable to new development. Maintenance is a dialog with the person who implemented the system and is no longer around to help. It requires dealing with the authoritative reality rather than asserting a vision of it. It demands a more humble approach that is so rare to find in an industry filled with both barely competent and with grandeur seekers.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=JiIjE9H1j7M:hg1eJ9Vfrto:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=JiIjE9H1j7M:hg1eJ9Vfrto:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=JiIjE9H1j7M:hg1eJ9Vfrto:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=JiIjE9H1j7M:hg1eJ9Vfrto:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/JiIjE9H1j7M" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/07/the-discipline-of-software-maintenance.html</feedburner:origLink></entry>
    <entry>
        <title>Best recommendation ever</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/tUjWMf4mCDQ/best-recommendation-ever.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/06/best-recommendation-ever.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c013484abdea4970c</id>
        <published>2010-06-20T10:41:12-07:00</published>
        <updated>2010-06-20T10:41:12-07:00</updated>
        <summary>The founder of a company I worked for (ConfigureCode) wrote the best recommendation for me on my LinkedIn profile that I've got so far: Oleg was more than just our Senior Developer at ConfigureCode (and Opence). Oleg is one of those developers that goes beyond the code to understand architectures and business. He is capable of leading a team by example. His strong programming skills allow him to participate, mentor and manage developers. His insight into algorithms and new processes means he is not just coding he is thinking about better requirements which result in a better design. I not...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Career" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The founder of a company I worked for (ConfigureCode) wrote the best recommendation for me on my LinkedIn profile that I've got so far:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
  &lt;p&gt;&lt;span style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;Oleg was more than just our Senior Developer at ConfigureCode (and Opence). Oleg is one of those developers that goes beyond the code to understand architectures and business. He is capable of leading a team by example. His strong programming skills allow him to participate, mentor and manage developers. His insight into algorithms and new processes means he is not just coding he is thinking about better requirements which result in a better design.&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;&lt;span style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;I not only endorse Oleg but I would work with Oleg again. Oleg has great communication skills and is just an over all pleasure to work with. One of the differentiators I noticed with Oleg is that he is not just about software, he cares about the value of the product, the usability of the product and the over all cost of the product. So while a product may have useful features, Oleg is constantly thinking about so how will people use it and how will a company profit from the idea.&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;&lt;span style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;Oleg likes Belgium Beer.&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;&lt;span style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;I believe Oleg is more than capable of development, architecture and managing teams. If you have any questions please do contact me to discussion.&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;&lt;font face="Arial, Helvetica, 'Nimbus Sans L', sans-serif" size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;Thanks Vish! This is awesome! I really appreciate that. For more please see my LinkedIn &lt;a href="http://www.linkedin.com/in/dulino"&gt;profile&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=tUjWMf4mCDQ:0SQEmF7VlGg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=tUjWMf4mCDQ:0SQEmF7VlGg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=tUjWMf4mCDQ:0SQEmF7VlGg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=tUjWMf4mCDQ:0SQEmF7VlGg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/tUjWMf4mCDQ" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/06/best-recommendation-ever.html</feedburner:origLink></entry>
    <entry>
        <title>Defining challenge</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/BcbUCzpbDlI/defining-challenge.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/06/defining-challenge.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0134840dec6d970c</id>
        <published>2010-06-12T05:13:41-07:00</published>
        <updated>2010-06-17T03:06:29-07:00</updated>
        <summary>I define challenge as the level of capacity utilization at which employee's skills are used at 100% and he is motivated to acquire new knowledge. This, of course, means that one employee's challenge is a piece of cake for another. In software maintenance challenge doesn't come in the form of new technologies or interesting new work. The challenge of maintenance is much misunderstood and neglected art of coaxing a legacy application to do new things. This requires a degree of understanding software engineering that is not always necessary when building new software. It requires care and attentiveness that is foreign...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Career" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I define challenge as the level of capacity utilization at which employee's skills are used at 100% and he is motivated to acquire new knowledge. This, of course, means that one employee's challenge is a piece of cake for another.&lt;/p&gt;&#xD;
&lt;p&gt;In software maintenance challenge doesn't come in the form of new technologies or interesting new work. The challenge of maintenance is much misunderstood and neglected art of coaxing a legacy application to do new things. This requires a degree of understanding software engineering that is not always necessary when building new software. It requires care and attentiveness that is foreign to many in the field.&lt;/p&gt;&#xD;
&lt;p&gt;By this reasoning, software maintenance is not only more challenging than building a new system -- but it also requires a completely different level of competence.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=BcbUCzpbDlI:xhmt_gEqO9c:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=BcbUCzpbDlI:xhmt_gEqO9c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=BcbUCzpbDlI:xhmt_gEqO9c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=BcbUCzpbDlI:xhmt_gEqO9c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/BcbUCzpbDlI" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/06/defining-challenge.html</feedburner:origLink></entry>
    <entry>
        <title>On having a life</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/Uocpl2CrCLg/on-having-a-life.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/05/on-having-a-life.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0133ed669f75970b</id>
        <published>2010-05-08T04:05:49-07:00</published>
        <updated>2010-05-08T04:05:49-07:00</updated>
        <summary>When I was single my days were simple. I got up around 7:30am, went to work, left the office around 6:30pm. Sometimes I would get absorbed in coding and stay in the office till 10pm. The evenings when I didn't have my NYU grad school classes I went to the Belgian Beer Bar on W4th and 6th. My typical day now goes like this. I wake up a 5:00am. My wife and I try to get up before the kids so we can get some morning chores done. I shower, have a coffee. My 3.5 year old daughter gets up...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Career" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Family" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;br&gt;&#xD;
&lt;img src="http://olegdulin.typepad.com/.a/6a0111689c9405970c0134809a2583970c-pi" width="359" height="480" alt="Sunday, June 21, 2009 02/23 PM.jpg"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;When I was single my days were simple. I got up around 7:30am, went to work, left the office around 6:30pm. Sometimes I would get absorbed in coding and stay in the office till 10pm. The evenings when I didn't have my NYU grad school classes I went to the Belgian Beer Bar on W4th and 6th.&lt;/p&gt;&#xD;
&lt;p&gt;My typical day now goes like this. I wake up a 5:00am. My wife and I try to get up before the kids so we can get some morning chores done. I shower, have a coffee.&lt;/p&gt;&#xD;
&lt;p&gt;My 3.5 year old daughter gets up 5:30am and for the next hour I help her get herself ready for the day.&lt;br&gt;&lt;/p&gt;&#xD;
&lt;p&gt;At about 6:35am I remind my daughter that it is time to go to school and she needs to get herself dressed. We leave the house at about 6:45am. I drop her off at school at 7:00am and make sure she is all settled and is ready for her day.&lt;/p&gt;&#xD;
&lt;p&gt;Around 7:15am I leave the daycare and drive to work. Driving is not the most optimal way to commute, but it gives me the flexibility I need to balance my work and my life. I keep a folding bike in trunk. On a good day I get to Jersey City in about 40mins, on a bad day it can be about an hour. I park at an optimal spot in Jersey City that is conveniently located within easy reach to NYC or to many employers in Jersey City.&lt;/p&gt;&#xD;
&lt;p&gt;I am in the office usually by about 8:15-8:30am. My most productive time is in the first half of the day and I feel like I get the most work done then. Around 11:30am I get myself lunch. If I wait till noon I will be standing in long lines. I eat at my desk. I try to get as much work done as I can.&lt;/p&gt;&#xD;
&lt;p&gt;My family needs me. If I don't have to work late, I don't volunteer. I leave around 5:30pm, definitely no later than 6pm, but if I can get out before 5:30pm I do. I get home typically around 6:30pm to find my wife dealing with a whiny toddler daughter and an infant boy. I take over the toddler daughter management, help her finish her dinner and take a bath, and go to sleep by 7:30pm-8:00pm. I get about 10 mins of quality time with my infant son before he goes to sleep for the night. By then, I am spent.&lt;/p&gt;&#xD;
&lt;p&gt;I have a life now. I have a wonderful family and I wouldn't change a thing. The kids are only kids for so long.&lt;/p&gt;&#xD;
&lt;blockquote cite="http://nick.typepad.com/blog/2007/08/dont-trade-your.html"&gt;&#xD;
  &lt;p&gt;Those of us in the technology sector see it all the time: co-workers who put in incredible hours coding away as though they have nothing else in their lives. And quite often, they don't.&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;I used to be one of those people.&lt;/p&gt;[From &lt;a href="http://nick.typepad.com/blog/2007/08/dont-trade-your.html"&gt;&lt;cite&gt;Nick Bradbury: Don't Trade Your Life for Tech&lt;/cite&gt;&lt;/a&gt;]&#xD;
&lt;/blockquote&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=Uocpl2CrCLg:196AjLWWOKI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=Uocpl2CrCLg:196AjLWWOKI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=Uocpl2CrCLg:196AjLWWOKI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=Uocpl2CrCLg:196AjLWWOKI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/Uocpl2CrCLg" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/05/on-having-a-life.html</feedburner:origLink></entry>
    <entry>
        <title>We all stand on the shoulders of midgets</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/-j6u4AfwTWo/we-all-stand-on-the-shoulders-of-midgets.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/05/we-all-stand-on-the-shoulders-of-midgets.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0133ed3f6f4a970b</id>
        <published>2010-05-05T05:04:01-07:00</published>
        <updated>2010-05-05T05:04:01-07:00</updated>
        <summary>I am going to make a bold statement: the vast majority of software code that needs to be written has already be written before. Everything new is based on that. We are all constrained by what's been done before. As a software engineer I start off with a machine and an operating system, both of which are the wheels few are about reinvent. On top of that there are libraries, languages, compilers, interpreters, and run-time environments. Add into the mix legacy code, legacy systems, legacy data, mismanaged projects, developers with visions of grandeur and you have one jumbled mess of...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Software Engineering" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;img src="http://olegdulin.typepad.com/.a/6a0111689c9405970c0133ed3f6f30970b-pi" width="480" height="359" alt="SUCCESS.jpg"&gt;&lt;/img&gt;&lt;br&gt;&lt;/p&gt;&#xD;
&lt;p&gt;I am going to make a bold statement: the vast majority of software code that needs to be written has already be written before. Everything new is based on that. We are all constrained by what's been done before.&lt;/p&gt;&#xD;
&lt;p&gt;As a software engineer I start off with a machine and an operating system, both of which are the wheels few are about reinvent. On top of that there are libraries, languages, compilers, interpreters, and run-time environments.&lt;/p&gt;&#xD;
&lt;p&gt;Add into the mix legacy code, legacy systems, legacy data, mismanaged projects, developers with visions of grandeur and you have one jumbled mess of bad code. Even if I am not expected to reuse legacy code and I am rewriting the system I am still forced to rely on the code before me. I have to learn and understand the intent of the spaghetti code before I venture out and repeat the mistakes. This requires a certain degree of patience and treatment of my job as a representational art dealing with an independent reality -- and it is not always easy.&lt;/p&gt;&#xD;
&lt;blockquote cite="http://c2.com/cgi/wiki?StandingOnTheShouldersOfMidgets"&gt;&#xD;
  &lt;p&gt;Problem: You're working in an organization that dictates that you reuse code in libraryX to solve the problem you're working on. Looking at this API, you find a jumbled mess of cluttered concepts and weird hacks, or it doesn't do half of what you want it to do.&lt;/p&gt;&#xD;
&#xD;
  &lt;p&gt;&lt;br&gt;&#xD;
  Context: This pattern can show up not just with code libraries, but also with general architectures and databases. For example, the organization might be using a hand rolled messaging system with various limitations, or a hand rolled database with peculiar semantics, or a complicated/convoluted/contorted project management methodology.&lt;/p&gt;[From &lt;a href="http://c2.com/cgi/wiki?StandingOnTheShouldersOfMidgets"&gt;&lt;cite&gt;Standing On The Shoulders Of Midgets&lt;/cite&gt;&lt;/a&gt;]&#xD;
&lt;/blockquote&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=-j6u4AfwTWo:vhHd0YmzhGw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=-j6u4AfwTWo:vhHd0YmzhGw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=-j6u4AfwTWo:vhHd0YmzhGw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=-j6u4AfwTWo:vhHd0YmzhGw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/-j6u4AfwTWo" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/05/we-all-stand-on-the-shoulders-of-midgets.html</feedburner:origLink></entry>
    <entry>
        <title>The Joel Test: 12 Steps to Better Code - Joel on Software</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/XrRF9SqJlH4/the-joel-test-12-steps-to-better-code---joel-on-software.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/05/the-joel-test-12-steps-to-better-code---joel-on-software.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0133ed1eacbe970b</id>
        <published>2010-05-02T03:09:06-07:00</published>
        <updated>2010-05-02T03:09:06-07:00</updated>
        <summary>I've been reading Joel Spolsky blog lately. I used to follow it closely a few years back and then lost interest for sometime. Meanwhile, I have yet to work in a place that fits all 12 points of Joel's 12 steps: Do you use source control? Can you make a build in one step? Do you make daily builds? Do you have a bug database? Do you fix bugs before writing new code? Do you have an up-to-date schedule? Do you have a spec? Do programmers have quiet working conditions? Do you use the best tools money can buy? Do...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Software Engineering" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I've been reading Joel Spolsky blog lately. I used to follow it closely a few years back and then lost interest for sometime. Meanwhile, I have yet to work in a place that fits all 12 points of Joel's 12 steps:&lt;/p&gt;&#xD;
&lt;blockquote cite="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;&#xD;
  &lt;p&gt;Do you use source control?&lt;br&gt;&#xD;
  Can you make a build in one step?&lt;br&gt;&#xD;
  Do you make daily builds?&lt;br&gt;&#xD;
  Do you have a bug database?&lt;br&gt;&#xD;
  Do you fix bugs before writing new code?&lt;br&gt;&#xD;
  Do you have an up-to-date schedule?&lt;br&gt;&#xD;
  Do you have a spec?&lt;br&gt;&#xD;
  Do programmers have quiet working conditions?&lt;br&gt;&#xD;
  Do you use the best tools money can buy?&lt;br&gt;&#xD;
  Do you have testers?&lt;br&gt;&#xD;
  Do new candidates write code during their interview?&lt;br&gt;&#xD;
  Do you do hallway usability testing?&lt;/p&gt;[From &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;&lt;cite&gt;The Joel Test: 12 Steps to Better Code - Joel on Software&lt;/cite&gt;&lt;/a&gt;]&#xD;
&lt;/blockquote&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=XrRF9SqJlH4:WlBtwinj2Kc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=XrRF9SqJlH4:WlBtwinj2Kc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=XrRF9SqJlH4:WlBtwinj2Kc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=XrRF9SqJlH4:WlBtwinj2Kc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/XrRF9SqJlH4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/05/the-joel-test-12-steps-to-better-code---joel-on-software.html</feedburner:origLink></entry>
    <entry>
        <title>My ideal job</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/pSZiOTzOAJ8/my-ideal-job.html" />
        <link rel="replies" type="text/html" href="http://www.olegdulin.com/2010/04/my-ideal-job.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a0111689c9405970c0133ed0d9150970b</id>
        <published>2010-04-29T05:18:55-07:00</published>
        <updated>2010-05-15T09:19:58-07:00</updated>
        <summary>One is allowed to visualize ideal scenarios, and so I am going to describe what my ideal job would be like. Of course, there are always trade offs and many things to consider when selecting a job -- compensation, paid time off, work hours, career development, location, etc. It is never really possible to land a perfect job, but it is worth it to describe it. I am a technologist and a problem solver. I solve technical problems. I build systems. I apply technology to fulfill requirements of a business model. Therefore, my ideal job would start off as being...</summary>
        <author>
            <name>Oleg Dulin</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Career" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://www.olegdulin.com/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;One is allowed to visualize ideal scenarios, and so I am going to describe what my ideal job would be like. Of course, there are always trade offs and many things to consider when selecting a job -- compensation, paid time off, work hours, career development, location, etc. It is never really possible to land a perfect job, but it is worth it to describe it.&lt;/p&gt;&#xD;
&lt;p&gt;I am a technologist and a problem solver. I solve technical problems. I build systems. I apply technology to fulfill requirements of a business model. Therefore, my ideal job would start off as being heavy on technology. Regardless of what they really do the company I work for might as well consider themselves a technology company. If they see no value in technology they probably won't see much value in me. Technology would have to be such a core aspect of the company's business that they couldn't possible survive without it. To some extent this is why I like working on Wall St.&lt;/p&gt;&#xD;
&lt;p&gt;I am a knowledge professional. I am not a call center operator. I am most productive when given a problem to solve, access to the resources I may need, and the freedom to seclude myself in a private office. &lt;a href="http://www.joelonsoftware.com/articles/BionicOffice.html"&gt;The Bionic Office&lt;/a&gt; is ideal.&lt;/p&gt;&#xD;
&lt;p&gt;I am a responsible and conscientious worker. I can work without supervision at the office. I can work from home. I can work from a Starbucks locations. I will get stuff done. My ideal boss would not be standing over my shoulder, checking in with me, and assuming I am not responsible enough to manage my time and deliver. My ideal job would give me freedom to choose my own schedule and to work from home as often as I need.&lt;/p&gt;&#xD;
&lt;p&gt;I am a tinkerer and a fixer. I take particular joy in maintaining and improving existing systems. I also take pride in building new ones. I expect both aspects of my personality to be respected. If the company only has a career path for those working on new development and leaves maintainers behind then I would rather not be in a dead end role. But all new development projects eventually lead to maintenance -- meanwhile an engineer's career shouldn't end with the last stage of the software lifecycle.&lt;/p&gt;&#xD;
&lt;p&gt;I am a trusted advisor. Given all of the information I will make the right decisions and offer the best solutions. I don't like secretive clique environments where management makes decisions without involving the engineers.&lt;/p&gt;&#xD;
&lt;p&gt;I like a challenge and I often challenge others, including those in authority. I like to work in teams of intelligent people with whom I can share my knowledge and learn from. I like to work with curious people who care about their work, to whom technology is not just a job but also a key aspect of their lives.&lt;/p&gt;&#xD;
&lt;p&gt;I don't seek management as a goal. I am flattered when my expertise is recognized and I am asked to advise on technology matters or to mentor the team. I will gladly accept a leadership role that evolved organically from my role as a technologist in a team of like-minded and professionals. But advisory and mentorship is where I stop -- I don't get power trips from enforcement.&lt;/p&gt;&#xD;
&lt;p&gt;On the balance my present job covers many of these aspects. I've worked here for five years now and will probably stay here for the foreseeable future. That said, though, I find that in the name of building up my personal brand going on the record never hurt.&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=pSZiOTzOAJ8:wQI5qAerBig:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=pSZiOTzOAJ8:wQI5qAerBig:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/QualityOnTime?a=pSZiOTzOAJ8:wQI5qAerBig:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/QualityOnTime?i=pSZiOTzOAJ8:wQI5qAerBig:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/pSZiOTzOAJ8" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://www.olegdulin.com/2010/04/my-ideal-job.html</feedburner:origLink></entry>
 
<entry><title type="text">Links for 2009-06-10 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/BhzVK2DF5ik/olegdulin" /><updated>2009-06-11T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-06-10</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/developer/techDocs/hi/repository/"&gt;Java look and feel Graphics Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html"&gt;How to Use Icons (The Java&amp;trade; Tutorials &amp;gt; Creating a GUI with JFC/Swing &amp;gt; Using Swing Components)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/BhzVK2DF5ik" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-06-10</feedburner:origLink></entry><entry><title type="text">Links for 2009-06-09 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/Wqk2l1rMrOU/olegdulin" /><updated>2009-06-10T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-06-09</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml"&gt;Java play WAV sound file - AnyExample.com&lt;/a&gt;&lt;br/&gt;
&amp;quot;There is source code of simple class AePlayWave in this article, which can play WAV(AUFF, SND, AU might also be supported) sound files asynchronously (in a separate thread, without interruption of main program). It is possible to use it in console or GUI Java programs for playing user notification sounds. There is also trivial RSS-feed checker, which plays various sounds on rss-feed update. &amp;#039;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/Wqk2l1rMrOU" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-06-09</feedburner:origLink></entry><entry><title type="text">Links for 2009-05-26 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/YQQzEkRFkvA/olegdulin" /><updated>2009-05-27T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-05-26</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://directory.apache.org/"&gt;Apache Directory - LDAP and Kerberos, entirely in Java&lt;/a&gt;&lt;br/&gt;
&amp;quot;The Apache Directory Project provides directory solutions entirely written in Java. These include a directory server, which has been certified as LDAP v3 compliant by the Open Group (Apache Directory Server), and Eclipse-based directory tools (Apache Directory Studio).&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/YQQzEkRFkvA" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-05-26</feedburner:origLink></entry><entry><title type="text">Links for 2009-05-22 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/lkqPoI5XdQA/olegdulin" /><updated>2009-05-23T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-05-22</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.linkedin.com/answers/career-education/mentoring/CAR_MEN/480252-33126074"&gt;LinkedIn: Answers: What's after high school? or college?&lt;/a&gt;&lt;br/&gt;
&amp;quot;If you are in a position to give guidance or guidelines to young people who will soon graduate from high school, what would that be?

For young people graduating from college, would your guidance, advice or guidelines be of any difference? &amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jakarta.apache.org/jcs/"&gt;JCS - Java Caching System&lt;/a&gt;&lt;br/&gt;
&amp;quot;JCS is a distributed caching system written in java. It is intended to speed up applications by providing a means to manage cached data of various dynamic natures. Like any caching system, JCS is most useful  for high read, low put applications. Latency times drop sharply and bottlenecks move away from the database in an effectively cached system.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/lkqPoI5XdQA" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-05-22</feedburner:origLink></entry><entry><title type="text">Links for 2009-05-21 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/mzFPxgL_3r4/olegdulin" /><updated>2009-05-22T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-05-21</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.acm.org/globalizationreport/pdf/fullfinal.pdf"&gt;Globalization and Offshoring of Software&lt;/a&gt;&lt;br/&gt;
A report of the ACM Job Migration Task Force&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/mzFPxgL_3r4" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-05-21</feedburner:origLink></entry><entry><title type="text">Links for 2009-05-15 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/i1up4SKl_Mw/olegdulin" /><updated>2009-05-16T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-05-15</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.partnerup.com/landing/network.aspx?gclid=CMHR7eikvpoCFRKAxgod6wcsrQ"&gt;PartnerUp - Redefining the way Business are built -&lt;/a&gt;&lt;br/&gt;
Make Meaningful Connections with Other
Small Businesses and Entrepreneurs&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/i1up4SKl_Mw" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-05-15</feedburner:origLink></entry><entry><title type="text">Links for 2009-05-06 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/QualityOnTime/~3/8qp9Djze3vU/olegdulin" /><updated>2009-05-07T00:00:00-07:00</updated><id>http://del.icio.us/olegdulin#2009-05-06</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/javaee/reference/tutorials/index.jsp"&gt;Java EE Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityOnTime/~4/8qp9Djze3vU" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/olegdulin#2009-05-06</feedburner:origLink></entry></feed><!-- ph=1 --><!-- nhm:dynamic-ssi -->
