tag:blogger.com,1999:blog-13296248.post565788650920979365..comments2024-02-12T00:47:08.699-08:00Comments on David Weiss: ExperienceDavid Weisshttp://www.blogger.com/profile/00629153569649264575noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-13296248.post-31852269812036733612008-07-02T16:04:00.000-07:002008-07-02T16:04:00.000-07:00Great comment Steve! I've often heard the statemen...Great comment Steve! I've often heard the statement "building software is a social experience" and it really is. Software reflects the varied skill levels of people just as much as it reflects their personalities. Many times software also mirrors the actual company layout and hierarchy as well. Having to defend old software is never fun. Having to even look at your own old software is often painful. I've known a few great Junior developers who understood this and they would come with the attitude, "How does it work and what can I do to help." Thanks again for your comments.David Weisshttps://www.blogger.com/profile/00629153569649264575noreply@blogger.comtag:blogger.com,1999:blog-13296248.post-29274850914462539142008-07-02T15:51:00.000-07:002008-07-02T15:51:00.000-07:00I like reading your stuff. It's true that experie...I like reading your stuff. It's true that experience is precious when it comes to coding. And what you suggest about writing more code to make more mistakes is true. I think that's one major factor. But there is another, and this one is probably even more important.<BR/><BR/>As a consultant and coder of close to 20 years now (oy!) I can tell you that experience has as much to do with the psychology of development as anything else. Maybe more. <BR/><BR/>I explain.<BR/><BR/>I remember a very stressful time in my professional life. I was in the corporate world at the time, and I reported to one of the best project managers ever, which you don't ever want to do. We had several initiatives that were literally changing all of the business software systems of the company. And the daily meetings were excruciating. I learned a whole lot during that period. But what I remember most of all came when we were having a high volume discussion about a particular problem, and what the right solution was. I was exasperated arguing against a course of action we were all headed towards. I remember yelling, THIS MAKES ABSOLUTELY NO SENSE! At which point my boss the project manager called everyone down, and let the moment settle for a while. He scanned the table and (possibly) cocked a slight smile. And then he said quite confidently, "Business is not logical. It is a psychological phenomenon."<BR/><BR/>I had no idea what to do with that statement. I just sat there. <BR/><BR/>Over the next 10 years I have come to rely and appreciate that statement, and never forget that the reason we do this is for people. At least it's for people today (I <I>have</I> seen the Matrix trilogy).<BR/><BR/>I later found out that my old boss previously studied philosophy and theology. He was a real sonofabitch, and I am forever grateful that I worked for him. And that I am not ever going to again.<BR/><BR/>The thing is, it's not hard to write excellent code. That is useless. Code that matters is code that solves business problems, solves human problems, helps bridge the gap between the power locked inside a computer and the power locked inside the human mind. It's a big gap, because the way information gets processed by the two are completely different.<BR/><BR/>And this really makes experience in coding very, very valuable.<BR/><BR/>I frequently take heat from younger, better educated, more current coders that work for my clients. And I have to defend my design choices. Why didn't I use this technology, or code it that way? Etc. In the end, I design things the way I think make the most sense to the people who will use them and maintain them. This comes from experience, not only with the strengths and weaknesses of code platforms but also with the strengths and weaknesses of people.Steve Coanhttps://www.blogger.com/profile/02892245087449594392noreply@blogger.com