{"id":64,"date":"2008-04-17T21:55:07","date_gmt":"2008-04-18T04:55:07","guid":{"rendered":"http:\/\/codefork.com\/blog\/index.php\/2008\/04\/17\/lessons-learned\/"},"modified":"2008-04-17T21:56:27","modified_gmt":"2008-04-18T04:56:27","slug":"lessons-learned","status":"publish","type":"post","link":"https:\/\/codefork.com\/blog\/index.php\/2008\/04\/17\/lessons-learned\/","title":{"rendered":"Lessons Learned"},"content":{"rendered":"<p>After about 5 months, I&#8217;ve decided that it&#8217;s time to move on to another gig. I&#8217;ve learned a few things, and I&#8217;m posting them here in the hopes that the lessons might be helpful to other programmers and techies-at-large.<\/p>\n<p>Working in a small business as the sole do-it-all technology person has its unique challenges. It can be very fulfilling to be the sole expert and &#8220;enabler,&#8221; if that turns you on. But the flip side is that management might not really understand or care that much about their technology. Is there a reasonable budget for what they&#8217;re trying to accomplish? Do they understand, at a high level, your projects and how they contribute to the mission? Are technology projects considered a burdensome mystery or something valuable and embraced by the company? Question the reasons why there&#8217;s only one tech guy\/girl and whether that seems right.<\/p>\n<p>Another thing to assess is whether you can deal with taking over the existing codebase. I&#8217;ve taken over other code before with success, retaining what was good and doing clean up as necessary. At this past gig, things looked reasonably tidy at a first glance, but as time progressed, I realized a ton of abstractions weren&#8217;t in place, and those that did exist didn&#8217;t make sense. Some refactoring might have been interesting to do, but this endeavor wasn&#8217;t valued when I proposed it as a project.<\/p>\n<p>Lastly, I think it&#8217;s important to be wary of promises about the future. Even with the best of intentions, things change quickly at small businesses. The projects I was initially excited about got perpetually deferred for various reasons, and I found myself preoccupied with doing maintenance code fixes, making cosmetic tweaks, performing server administration, and providing support for third party software (which I really don&#8217;t like to do). The company needed these things done, so I did them with as much cheer as I could muster, hoping we&#8217;d eventually get to a place where some solid new development could occur (and I could sneak in some refactoring)&mdash;that&#8217;s what floats my boat. But it became to clear to me that wasn&#8217;t going to happen anytime soon.<\/p>\n<p>So that&#8217;s that. It&#8217;s a shame it didn&#8217;t work out, especially since I actually liked everyone I worked with. At least it&#8217;s an amicable departure, and I hope to be involved in hiring a replacement who might be a better fit for their current needs than I am.<\/p>\n<p>The new gig? Java. Been catching up on it, since it&#8217;s been a few years. Oh, it feels so nice to have package namespaces, real data types, full-featured APIs, and real object-orientedness again. Like coming home.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After about 5 months, I&#8217;ve decided that it&#8217;s time to move on to another gig. I&#8217;ve learned a few things, and I&#8217;m posting them here in the hopes that the lessons might be helpful to other programmers and techies-at-large. Working in a small business as the sole do-it-all technology person has its unique challenges. It &hellip; <a href=\"https:\/\/codefork.com\/blog\/index.php\/2008\/04\/17\/lessons-learned\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Lessons Learned&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,13,9,12],"tags":[],"class_list":["post-64","post","type-post","status-publish","format-standard","hentry","category-java","category-php","category-software","category-work"],"_links":{"self":[{"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":0,"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/64\/revisions"}],"wp:attachment":[{"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codefork.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}