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

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

Push-up Experiment: The Nerdy Parts

I wrote The Push-up Experiment  earlier and got enough responses asking about the nerdy parts that I'm now writing this one. So, buckle-up and hold on, this could be a long nerdy ride. Tools Here are the tools that I used with links: Google Drive Forms Sheets IFTTT Date & Time Channel Pushover Channel Daily Push-up Notification Pushover Collecting the Data Google Drive allows you to build surveys and send them out; it's called "Google Forms". Your drive options might look a little different than mine but here's the gist of it. Create a new form and make a question for it. For the push-up survey I simply asked "How many push-ups did you do?" and left it as a "Text" type question. When you do this it shows up as a simple text box on the survey and when opened on the phone brings up the keyboard. One other thing I did was only allow for numbers to be entered into the text box because obviously I can't do "abcxyz&

"The Push-up Experiment" or "How I learned that being able to see progress is motivating..."

I've found that when I'm able to visualize progress it motivates me. I'm not a productivity expert or a psychologist but this makes a lot of sense and I figured I'd share it even if you've heard it before. Since March 28th, I've been doing push-ups and tracking the number of push-ups I achieve in a spreadsheet. Yes, I know this completely classifies me as a total nerd, but I'm OK with that; I'm writing a blog post about my push-up spreadsheet, I'm well aware of the overall nerdiness going on here. I won't get into the nirty-gritty about how I used IFTTT  to send me a Google Drive survey every morning on my phone reminding me to do push-ups as well as providing a convenient place to simply enter the numbers. I won't go into the details about how that survey automatically goes into a Drive sheet and the graph (pictured below) automatically updates with each response. No, I won't go into that because I'm afraid that you will think