Ask any graduate of computer degree programs about what they want for a first job, and around 50% of the time, you’re going to hear “I want to be a programmer.”  Or, a “developer.”  Yes, it appears that the local technology sector as we know it is divided into 50% software development, and 50% everything else. But in that first half of the computing profession demographic alone, graduates can’t even tell between being a “programmer” and a “developer.”  For a company training officer and college instructor like myself, I can’t blame the graduates.  That’s because most employers and hiring professionals don’t even know the difference too.  Even the government doesn’t know (they have salary grades Computer Programmer I to IV).  That can be a cause for concern for those behind recruitment in IT firms.

Know Your Tech Career: Programmers Vs. Developers
To be a computer programmer, you need logic, and some Kragle to keep things in place before they defy logic.  But to be a software developer, you need a balance of creativity and order...even if you work with very, very dark shades of gray. 
Let’s investigate what makes computer programmers and software developers as two distinct species of computer professionals (ideally, at least).

What they do

Computer programming, as a job description, is literally and practically rooted in their senses of their words.  First, you have a computing machine—regardless if that’s digital electronic or even mechanical (or even biological).  Second, that machine must be given a sequence of instructions in order to do what’s built to do.  That sequence or sequences of instructions are programs.

It is the role of the computer programmer to know what the machine was designed to do, and the language with which to talk to that machine. Obviously, we don’t talk “Binarese”, get it 1001010010101001010101000110010!  Programming languages therefore do the dirty work of translating instructions from near-English to totally Machine Code.

Know Your Tech Career: Programmers Vs. Developers
At right is how you tell a microcontroller (an ATMEL 8051) what to do.  A microcontroller is a special-purpose computer that can operate simple robots, sensors and instruments, or even the wash cycle of your washing machine.

It’s one thing to pay a person to tell a machine what to do; it’s entirely another to package those instructions into an application software or a suite of closely-related applications or apps.  Apps are not just instructions; they are products.  Some of these products, in the hope that they can appeal to users through their “human touch”, are treated as though they are living things that thrive in a proper “ecosystem”: a livable environment, if you will.  Individual products are then designed to integrate with each other based on shared operating systems, resources and instruction frameworks—just like Microsoft’s Word, Excel and PowerPoint, or Google’s Docs, Sheets and Slides.

Where frameworks and architectures are involved, and design efficiency and user experience are considered, the software developer is the right role for the job.

You’re need to know

Whether you are the recruitment officer or the new recruit, I can’t say enough that you need to know the differences between the two based on the level of their instruction-feeding.

Just because we live in a world where instructions are now visual (graphical user interface) and even ordinary non-techies know some programming doesn’t mean that computer programmers will soon be an extinct species.  Far from it, there will always be new machines to design and give instructions to, and new experimental algorithms to test for efficiency (executing with less resources like processing and memory).

In some cases, where programming is seen as a close secondary function, business analysts, database administrators and quality assurance specialists are also required to possess programming know-how and actually do some real programming.  Their programs, however, hardly ever become products.  Often, their programming skills are necessary for the configuration of servers and apps so they function according to specifications.
Know Your Tech Career: Programmers Vs. Developers
The latest .Net Framework guide from CSharpLearners.  Frameworks show the relationships among groups of instructions (libraries and/or objects).  Objects tend to build on top of others, thus the term architecture.

If you wish to be a software developer for PC’s, mobile devices or the Web/Cloud, you have to know more about the tools you are using, as well as your company’s coding conventions and application architecture/s.  Remember, it’s one thing to say your program works, and another to say “it works terrific, it’s going to be huge”!  What may be an app to you, may not be to your company and its customers.  Developers have a lot to consider aside from conventions and architecture.  Your prototype apps must be testable, scalable (can be improved without redesigning from scratch) and interoperable (it follows the common conventions of other apps, operating systems and devices).  Developers must also know the capabilities—and limits—of their preferred programming languages and development tools.

Since many hiring professionals in medium to large companies are good at hiring, but not IT, it’s your job to read the job opening details before actually applying.  You alone can best determine if you’re a fit for the position as they named it.

How do you feel?
Share this article :)

Geeky Pinas

Geeky Pinas is a Tech News, Reviews and a Lifestyle Site