Guide to identify the types of software developers
"Software is eating the world" - The news is that every day more and more people are becoming software developers or risk getting replaced by software soon. Some will become sophisticated software developers and some will just learn how to tweak little code here and there to get their job done.
Thanks to exploding usage of mobile devices such as smart phones and having jobs that require daily interaction with computers. Everyday normal people such as accountants, financial executives and managers are learning how to code or at least teach themselves how to code or tweak existing code.
This article attempts to serve as a guide for you to identify the types of software developers that work around you, growing up as a family member of yours or maybe yourself. Types will be divided into 8 most common traits the software developers exhibit, the tools they use at work or their choice of words. See if you're able to use them to identify one or two software developers ;-)
1. Language purists
A rare breed these days, a language purist is a software developer that choose to write their program in a single programming language and stick to traditional rules of programming. They prefer to write their own routines and refuse to use frameworks or third-party libraries contaminated by other programming languages. Unlike the old days, where a developer can write a complete DOS or Unix application with Pascal or C language without involving SQL, CSS or HTML. As users move toward web and mobile apps, it is hard to develop something useful in today's programming environment with a single language.
Most of these language purists are known to develop program for their own use as a hobby.
2. Low level or hardware developers
This type of software developer deal with chips, EEPROM, micro processor, micro controllers and you can usually see soldering tools on their work desk. In computer science, they work mostly in the embedded system world. They make the "bridge" that allows high-level software such as a word processor able to print out words on paper or a WiFi USB stick able to connect to the router. Our smart phones, VCR, phone system will not be here today if not for this type of software developers.
They will get to the lowest level of programming language such as Assembly language and even binary code just to get things done!
No, this type of developers are not obsoleting. They are heavily employed in industries that manufacture daily appliances, ships, air crafts, radar system and etc.
With the craze of IoT(Internet of Things) and hardware startups mushrooming worldwide, low level coders dwell well in startups that deal with hardware.
3. Front-end developers
Ah... notice all the beautifully designed web pages that make it so nice for you read and interact with? The beautiful alert prompt that slowly fade away or the widget boxes that can shake to get your attention. The type of software developers that manufactured these visible part of web pages or mobile applications is known as front-end developers.
They usually handle the user interface parts such as a button size is big enough for a thumb to press on smart phone screen, responsive web page, the color or layout of the web page. It was said that a front end developer is also a good graphic designer. They care about the presentation part of the application they help to bring to life.
Imaging them like those sailors working on a ship's deck and visible to the passengers(users). A typical telltale sign of a front-end developer is that they like programming and design. They use words such as Bootstrap framework, Javascript, JQuery, SaSS, LESS, CSS, Angular JS or React JS. You can find some of them selling their "art" at marketplace such as themeforest.com
4. Back-end developers
According to Ying-Yang philosophy...if the front-end developers taking care the visible part, then there must be some kind of developers that take care of the invisible part of a web or mobile application. This type of developers is known as back-end developers. They handle things that tucked away at the back-end or hidden at server and thus the name back-end.
They usually well versed with languages such as Python, Golang, PHP, Ruby, SQL,NoSQL or C/C++. They make sure that the email got send out the moment the "Send" button is pressed, SMS to cab drivers the moment the "Book" button is pressed or the form data was stored successfully into the database or there are backups to restore services in case of hacking or system shutdown.
Imagine them as those engineers working inside a ship's engine room or boiler room. Quietly working to ensure smooth operation.
5. Mobile App developers
Exploding usage of smart phones put many people online more than ever. Mobile app developers are the type than produce applications for your smart phones. Nowadays, most of them spend their time cooking up applications for Android and iOS platforms. Working together with back-end developers, they develop myriad of wonderful and not so wonderful applications such as TV streaming app, recipes app, social media app, taxi booking apps and of course games such as Angry Bird or Flappy Bird.
6. Full stack developers
When you meet a developer that can do front-end, back-end and mobile-app. The developer is known as the "full stack developer". This type of developers are who they are - a full-stack - because they have no choice. Circumstances forced them to be full-stack developer when they have to learn whatever programming languages just get the job done, to ship out their product or simply because of job security.
Some said this type of developer is rare as unicorn and hard to find. While there is some truth in it, typically you will find them in startups helmed by 1 or 2 persons. From observation, those that complained about difficulty in finding full-stack developer are those "idea" people. People that refuse to learn coding or looking to recruit CTO(Chief Technical Officer) to launch their own startup.
NOTE : Those capable full-stack developers .... most of them already working on their own startups. Developers should be street-smart and learn to protect themselves from those "idea" people.
7. The pseudo developer
This type of developer is not those typical developers aforementioned, but they sure know enough to get what they want. Who are they? Normally you will find them in financial world, they know how to code simple Visual Basic Script(VBA) or Excel's macro to plot chart or perform financial calculation.
For example, financial executives that know simple Excel programming can get their job done faster than those that couldn't write program. Also, I know of one 60++ years old retiree that learn how to program Excel to predict stock movement and invest in shares base on his own prediction formula.
8. The know-it-all
Finally, there is a type of developers that known as the know-it-all. Maybe they are afraid of being ignored, want to cover up their own incompetence or just want to belittle people. They love to talk trash loudly about their past achievements and when challenged... they will try to beat you with technical knowledge or experience. For instance, quoting words from famous open source developers, leaving immature or sarcastic comments in forums such as StackOverFlow or citing the difficulty of their past projects they managed to deploy.
For those new learners coming to software development world, this type loves to attach themselves to the newbies and show off their technical prowess. Be mindful of them. It is ok to learn from them, but keep a distance and don't take it personally whatever coming out from their mini minds.
Summary :
Like it or not, no one can escape from interacting with software or escape the effect of software development, unless the person choose to live off the grid and away from machines.
So, have you identify which type of developers you are or someone that you know? Miss out any type of developers out there? Let us know in the comment box below.
END NOTE : This blog post is dedicated to my wife .... who freaked out the first time she attended a geek party.
References :
http://mattermark.com/software-startups-eating-the-world-then-and-now/
http://www.industryconnect.co.nz/everyday-users-becoming-software-developers/
By AdamNg
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Something interesting
Advertisement
Tutorials
+9.8k Golang : Translate language with language package example
+6.4k Golang : Embedded or data bundling example
+38.9k Golang : How to iterate over a []string(array)
+15.4k Golang : How to convert(cast) IP address to string?
+26.1k Golang : Convert(cast) string to uint8 type and back to string
+9.5k Golang : Detect number of active displays and the display's resolution
+25.2k Golang : convert rune to integer value
+7.8k Golang : What fmt.Println() can do and println() cannot do
+6.7k Fix sudo yum hang problem with no output or error messages
+23.8k Golang : Upload to S3 with official aws-sdk-go package
+19.4k Golang : Set or Add HTTP Request Headers