<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5160689\x26blogName\x3dThree+Letter+Acronyms+(TLA)\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dSILVER\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://tla.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttp://tla.blogspot.com/\x26vt\x3d-8755022925038927658', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Three Letter Acronyms (TLA)

Thursday, August 02, 2007

Today's TLA is HGP

Hack-Gile Programmer

This is a nerdy post. OK so I have been a programmer for 7 years now. I want to comment on approaches/philosophies which I have learned. So I have read many different methodologies for working with software. For me the best way to program is something which I call Hack-gile programming. Pretty much it is the only way good software engineers work to produce something which we call "software". Good engineers are innovative and have a knack to fiddle with archaic tools and esoteric code. So they need to fiddle with things in order to deliver proper software behavior. This is the "hack" part of the word. However, good software engineers also need to meet the demands from product managers, third-party vendors, and (in shock and horror) the actual customer in a timely manner. This is the "agile" part of the word. Agility means using good software tools. A great example is Cruisecontrol. It can schedule builds and track your code repository for changes and triggers a build accordingly when a change occurs. This leads me to the core of software which is change. Change is a necessity in the world. And it is central when you deal with software. How to deal with change and how to quickly adapt because of change and how quickly to solve problems when everything and anything changes is a true art form in software engineering. This is when software becomes an art form and one in which I am continuously trying to master, but I am getting better at it. Some software engineers fear change, but as I grow older I welcome it, because it is a great opportunity to learn from a new problem to solve. Learning and incorporating past problems to solve new problems for a changing growing world is probably the best life lesson from being a hack-gile programmer.

Enjoy,
Jonathan

0 Comments:

Post a Comment

<< Home