Skip to main content

Looking For: Software Mechanic

Software development appears to be heading in a similar direction as automobile assembly. Before Henry Ford revolutionized the industry every car was unique and complicated. They required specialized mechanics who knew the specific vehicle inside-and-out. This sounds very much like software development today; it is possible for any developer to get into an application and make changes but it is only efficiently done by someone intimately familiar with the specific nuances of the application.

We're very close to a tipping point in development where applications may be created on an "assembly line". It is already beginning, you no longer (and haven't for quite a while) need to know HTML to create a website because many hosting companies have a WYSIWYG editor that allows you to generate the markup needed to display content on a site. I'm writing this in a blogging engine right now that doesn't require me to change my CSS to alter the look/feel of my post. Using Google Drive you can already create forms that accept data and store it for analysis. When you're talking about a simple application there isn't much left that needs to be automated for anyone without development experience to be able to create an application.

Many developers (including myself) would say that the last part is probably the most difficult because it consists of what many would call the business logic. These rules around what needs to happen when certain data is entered or certain events occur is where many developers spend their time because it is so intricate and specific. Perhaps the "assembly line" will end up creating everything except for this detailed logic but the possibility for this to become computer generated seems inevitable as well.

Developers are inherently efficient; we strive to solve a problem only once and allow tools to manage it from then out. How many different tools do you use in your development workflow and how many of them are designed to automate a portion the process? The development for the software assembly line has already begun and it exists in small disparate tools created by individuals to help solve a small problem or annoyance.

When we finally hit this point where software is generated by more software where will all the developers be? Will developers become more like auto mechanics today only jumping into applications to fix things when normal wear-and-tear as taken it's toll? Should the focus now be on building, maintaining, and updating better assembly lines?

Comments

Popular posts from this blog

I'm Restless

I've been thinking about doing a lot of different things lately. I've been wanting to learn the violin, go rock climbing, start a side business, and drive to the west coast, just to name a few. I'm not exactly sure where these urges started or why they're just now coming up but it seems that something in me is stirring. Part of this may be caused by my age; I'm not old by any means but in October of 2012 I turned 30. I've been living in the same house working at the same job for roughly 8 years now and I wonder if I'm starting to feel like I'm letting life pass me by. I'm sure this is a very normal feeling around my age and probably every milestone birthday from here on. I want to make sure that when I hit 40 I don't think to myself, "What did I do for the last 10 years?" I want to be able to look back and say "Wow, look at all the fun I had, the people I met, and the work I accomplished." I'm going to start right now,

My Life After LastPass

I'm sure this post is going to feel like a commercial and I'm fine with that. :) A friend (who will remain entirely anonymous) posted a light-hearted jest on Facebook about some password requirements being insane and asking about ways to make up a password that worked within these particular criteria. All of the usual suggestions came up: take a normal password and change some letters to numbers, the algorithm that you remember that turns the url of the site into a password, XKCD's awesome method at http://xkcd.com/936/ , and I mentioned LastPass . At this point I hadn't used LastPass, only heard about it and thought it would solve his problem. LastPass is a secure password management tool that will generate (and remember) new passwords for anything you want. The passwords tend to look something like this "bQ0SCNPS7Q1c" and are encrypted and stored locally as well as on their servers so that you can access them from anywhere. Your master password is the ke

Mentorship Education

Disclaimer : This is a work in progress, I'm mostly curious about what you think about this idea. Also, sorry about the wall of text. As a software developer, I try to identify places were technology can help people. I've had many conversations with a few people about how the education industry is on the cusp of a large reform because of the Internet. I'm not sure if that's true but I'm going to act like it is for the sake of argument at the moment. Many people believe that this is going to come in the form of a centralized education platform or standard that delivers online education. We're already seeing things like this, Kahn Academy ( https://www.khanacademy.org ) and Lynda ( http://www.lynda.com ) are two excellent examples. I'd like to look at how technology can help education from a different perspective because I think the idea of online education (or eLearning) is flawed in one very serious way; it completely ignores the human aspect of learning