<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Jonathan Paullin's Blog</title>
        <link>http://geekswithblogs.net/JPaullin/Default.aspx</link>
        <description>Yo</description>
        <language>en-US</language>
        <copyright>Jonathan Paulin</copyright>
        <managingEditor>jpaullin@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Jonathan Paullin's Blog</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/JPaullin/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>The Transition...</title>
            <link>http://geekswithblogs.net/JPaullin/archive/2007/07/16/113973.aspx</link>
            <description>&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;For the last 7 months, I've been working at a company that makes accounting software for the construction industry. Fresh out of the womb of one of those Universities in California, I’ve had to transition from the academic world to the business world. I’ve had quite a few unexpected challenges. Back in college, I felt confident in my understanding of what a "Software Developer" was, yet I was quite mistaken. As it turns out, the "Everything Is Perfect Computer Science World" and the "Make It Work Before This Deadline Business World" are quite different. While I scratch my head looking at my CS degree hanging on the wall, I'll recap a few of the surprises I've found along the way.&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.) When you are coding in a software company, you might not be spending 99% of your time trying to make a complex algorithm work.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;This was a shocker. I always figured the hardest and most time consuming part of programming was writing complex yet elegant algorithms. Albeit, in some fields, I'm sure this is a large part of it, but the deeper and deeper I fall into this software development world, the more I find that writing hard algorithms is a very small piece of the puzzle. Managing a large code base between multiple programmers, writing maintainable code that will make sense tomorrow, and realizing that adding more features does not necessarily make something better are some of the day to day challenges I face. A large amount of the complexity I thought I would deal with just isn't there. &lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.) Maintaining code: Round One...&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Data Structures and Algorithms.....Check.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
Operating Systems and Compilers.....Check&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
Networks, Security, Database..…Check&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
Graphics, Animation, Artificial Intelligence…..Check&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
Billions of math courses.....Check&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
One simple class on code maintenance........Priceless&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;I never had any idea how big code maintenance is. In college, almost every project I worked on involved me sitting down and coding something from scratch. I did the design. I did the coding. I did the testing. I never worried about others looking at the code. But now, everything is different. Sometimes I deal with legacy code that is over 9 years old, and other times I'm dealing with someone else’s code that is only half complete. Learning how to look at a piece of code that you know should be rewritten from an academic point of view but should not be&lt;strong&gt; &lt;/strong&gt;changed from a business point of view was difficult for me to accept. Once you realize changing something can (a.k.a. &lt;strong&gt;will&lt;/strong&gt;) introduce a million new errors, you start to think twice about the change. In the business world, not every block of code can be an elegant masterpiece. There is definitely an art form to maintaining code. I think a good first step in the right direction is to follow the Good Enough principle (design software to fully satisfy the current requirements and nothing more), and to realize that the purpose of the code is to make the company money, not be put into a code museum.&lt;br /&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.) Doing things right the first time around is awesome.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;I remember back in college, I would be sitting there, writing some code, and then think to myself, "I should abstract this piece and put it in a function. Eh, I'll do it later." Of course, I'd never get around to it. Other times I knew that if I would just spent 1 hour learning some programming tool, my life would be a hundred times easier for whatever I was working on. Alas, I wouldn't do it. These little lazy tendencies can end up costing me enormous amounts of time. I found that if I have to work with some code that employs a technology I'm not familiar with, I'd best go Google it and spend a little time reading about it. Playing this guessing game of "It should work this way" sucks since it usually never works exactly the way you think it does. I found that there is no reason to be intimidated by new technologies or new ways of doing things. I use to think learning a new language or a new tool was this huge deal, but it really isn't. When I first had to learn ADO .NET, I thought it was going to be this enormous beast that would take me months to learn. Within a single day, I was able to use it comfortably for what I needed. Many times I've been faced with having to do things the quick and easy way (but not maintainable or scalable), or the more advanced correct way. I've found over and over again that when you spend extra time doing something correctly, you end up saving massive amounts of time when you have to come back to it later, and you can just assume that'll come back to it, because you will.&lt;strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In conclusion...&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are many other things I could write about that I learned from my academic to business world transition. I could write pages on the things I've learned concerning just the social dynamics of this place. But that would be for a different type of blog :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;Till next time...&lt;o:p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113973"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113973" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/JPaullin/aggbug/113973.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jonathan Paulin</dc:creator>
            <guid>http://geekswithblogs.net/JPaullin/archive/2007/07/16/113973.aspx</guid>
            <pubDate>Mon, 16 Jul 2007 17:09:46 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/JPaullin/comments/113973.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/JPaullin/archive/2007/07/16/113973.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/JPaullin/comments/commentRss/113973.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/JPaullin/services/trackbacks/113973.aspx</trackback:ping>
        </item>
        <item>
            <title>And so it begins...</title>
            <link>http://geekswithblogs.net/JPaullin/archive/2007/07/01/113627.aspx</link>
            <description>Like many others, I've been challenged to become part of "The Brotherhood of Becoming Better Developers" by &lt;a href="http://geekswithblogs.net/clingermangw/archive/2007/06/22/113405.aspx"&gt;George Clingerman&lt;/a&gt;. I'll gladly accept this challenge, and see how far I can take it. Here are the 3 goals I aim to accomplish in the next 6 months...&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;I will put time aside every week specifically for game programming. Whether it's 1 hour or several hours, I'll continually make progress on a project. In addition, I'll set deadlines on my projects to help me finish them.&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;I will pick a certain programming construct or idea and blog about it every week. The concept may be new to me which will require me to do some good research or I may already be familiar with it which will still require me to do some good research. Whatever the case, I will be doing research, thus learning.&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;I'll start jumping head first into sites like Gamasutra.com and GameDev.net to stay more current on what's going on in the gaming world. &lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
If I come up with any other goals, I'll make sure to post them. And so it begins...&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113627"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113627" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/JPaullin/aggbug/113627.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jonathan Paulin</dc:creator>
            <guid>http://geekswithblogs.net/JPaullin/archive/2007/07/01/113627.aspx</guid>
            <pubDate>Mon, 02 Jul 2007 05:59:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/JPaullin/comments/113627.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/JPaullin/archive/2007/07/01/113627.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/JPaullin/comments/commentRss/113627.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/JPaullin/services/trackbacks/113627.aspx</trackback:ping>
        </item>
    </channel>
</rss>