HomeBlogProgrammers Have It Easy?

Do We Just Charge For Using Other's Code?

Published August 20, 2010

A few days ago a client made a joke about software/web development companies (i.e. us?). It was generally along the lines of “they just charge you for work that other people already have done.” Before I go on, I want to emphasize that this was just a joke, and the client is very happy with us and knows we are putting a lot of hard work in our products and services. He knows we do all of our web construction in-house and that when he speaks with us he's speaking directly to the developer, not some middleman.

I suppose he was referring to the plethora of tools, apis, widgets, and software packages that a developer may use when developing a product. These “third-party” modules might be licensed (non-free) or even open source (free). Some developers might use more “pre-made” tools than others, but it got me thinking, where can you really draw the line between something created “from scratch” and something that is “pre-made”?

For example, the lowest possible form of programming on a computer is simply feeding the computer a long series of binary data, in other words ON (1) or OFF (0) input signals, which cause a great number of “switches” to be flipped and eventually produce some form of output, maybe to add two numbers together for example.. But of course no one manually feeds 1s and 0s into a computer! Early programmers created assembler utilities to translate simple English comands into binary code to feed into the computer. After that they created higher level languages which would translate more verbose and feature rich language code (such as C or C++) into assembly language. And even further than that, scripting languages such as Javascript and PHP were created for the world wide web, focusing on telling the computer WHAT to do, as opposed to HOW exactly to do it.

For example, if you’re an iPhone developer, you’re using Apple’s wide selection of user interface widgets and controls to construct an app -- things such as cover flow, screen transitions, or multitouch gestures. Part of this is because you have to adhere to Apple’s "human interface guidelines" so it will be easily navigable by the user -- but more importantly it allows you to do more things with your app in less time.

So whenever you sit down to program on a computer (with modern programming languages and tools), you’re doing things made possible by an innumerable amount of milestones that were achieved before your time. You could just say that all these things make doing your job easier; but the truth is, all of these virtual, “pre-made” assistants that exist in the software development world allow you to take your work further and do more things; things that simply weren’t possible or feasible in years past.

It really isn’t any different in other industries where using new technology can advance your products & services further. It's just a combination of invention and innovation.

What do you think? Do programmers have it easy with the amount of tools and conveniences available, or are we pushing the boundries further?

blog comments powered by Disqus


Michael Butler

Michael Butler

Michael joined the RustyBrick team in 2008 to focus on transitioning existing web sites to new & enhanced platforms. He graduated from Rutgers University in 2005 and holds a B.S. in Computer Science.

This article is under General Business, Programming, Marketing

There is 1 comment for this post

Connect With Us

Send Us a Message

Do you wish to give us feedback on one of our apps, send us a message or explore a proposal? Fill out the form below and we'll get back to you pronto!

Visit Us

250 West Nyack Road, Suite #200 West Nyack, NY 10994
Get Directions

Call Us Toll Free