Sunday 28 December 2014

Developers, Programmers and Hackers

To be truthful, It really depends on what perspective you look at it but from a company perspective (such as Google), I'd say that:
  • Programmer is a professional hired to produce code of a computer program. He/She can solve problems by manipulating Computer Code.
  • Hacker This is one that makes things by programming computers. In the other words, they are usually level fellows who are skillful and with detailed understanding of some sections of the software world.
  • Developer: This entity is usually considered superior to a Programmer and is formally trained. They don't just solve problems or create stuff, but they also do it following a set of design and implementation principles (Performance, security in mind).
So I'd say that all of these categories have one thing in common, They solve problems with one tool, (code) and not just code but Computer Code. A Developer solves things in a formal and organized way, a Programmer just mostly makes sure that things are working and you are guaranteed that He'll make them work, a Hacker on the other hand can create the solution and also hack the existing solution to make it better suit the problem at hand. The same reason he/she is called a Hacker because they mostly break into systems or software to control and manipulate it. The also create things because they invent techniques and tools to help them break (crack) a software (by software I include All computer Systems). 
A Programmer Ooh my, this one is whose aim is to solve a problem no matter what and he too uses Code (Ladies forgive me but i just can't keep writing he/she phrases). 
One thing I learned is that whether your a hacker or your a developer. You can't dodge being a programmer. All developer and Hackers are programmers (A person who solves problems using computer code)

Hackers are SMART and CREATIVE and that's what distinguishes them from the other two (2) categories. They invent stuff and always find a way into someone else's software.

A Developer is formally trained and disciplined. He solves problems using computer code BUT does so in a rather formal and outlined principle. He/She follows a code of conduct/principles when solving problems. 

Take a scenario like this one below:

3 Programmers (Let's call them A, B and C) were hired to find a solution to blocking out intruders and viruses from infiltrating the company's system. Each was contracted independently and neither of them knew they were working on the same project but individually. 

Programmer A gather requirements, writes down a requirements document and design as well (of course after the architecture is up) and build the software as per the plan he'd laid out. He delivers the software along with it's documentation. He ensures that his software conforms to all the standards he knows. He took 3 Weeks to deliver the product.
Programmer B, Well this one always finds a solution regardless of the situation and as the saying goes, She looks around for some firewall and antivirus software around (open source I guess or even commercial) and hacks it, changes it to suit the requirements of the company. (changes every last bit of it making improvements and adding on features). He makes sure it's build on top of the word STANDARD (and covers his tracks). She took 4 Weeks to deliver.

Programmer C. This one just went right from first principles (source code mostly from scratch) and got the software up and running. It did take a little longer than the other two but it did work. He too 5 Weeks to deliver.

Now judging the 3 Programmers before you continue reading this article can you be kind and honest enough to figure out which category (Developer, Hacker and Programmer) each of the 3 Programmers fall.

Programmer A is a .......................................................
Programmer B is a .......................................................
Programmer C is a .......................................................

From the looks of it I'd say the story isn't pretty impressive but hey, they all did one thing in common, I'd ask you to tell me what it is you think but What the hell, the both solved the problem using code. Hence the term PROGRAMMER (PROBLEM SOLVER using code of course).

Now I'm not criticizing any of the 3 categories but let's be honest, a hacker is creative and inventive (probably the best at that.) He/She is most creative of the 3 categories and with this skill, he/she can be very inventive. No doubt they are most skillful compared to the other 2 categories. 

A Developer is formally recognized and well, he follows a procedure to solve problems using code. This makes Him recognized. He is also creative and innovative.

A Programmer, well, this one is both but can also be neither of the two. Most Programmers are not very talented to be considered hackers and are not educated enough to be called Developers but they hold one thing above all the others, They are problem solvers and can be any of the others. So if your a Programmer, well, cheer up coz Solving problems using code is in it's self superior. 

Personally I'm a programmer graduating soon to become a developer. I'm also a hacker because sometimes things need a little deeper understanding and this calls for, You know!!! HACKING

Douglas as usual and I'd like to WISH YOU ALL A HAPPY AND HACKERFUL NEW YEAR and stay out of trouble!!!!

No comments:

Post a Comment