Professional Documents
Culture Documents
CODERHOOD
MENU
You are here: Home / career / 19 Types of Developers Explained
Before the existence of the internet, many of these specializations didn’t exist. The
world wide web has shifted most aspects of our lives, including revolutionizing the
career paths of software engineers.
There isn’t an official industry glossary of terms. Understanding the skills that each
type of developer needs to have is confusing to newcomers, and can be intimidating to
non-technical people.
In this post, I define 19 of the most common types of developers with a short
description and list of technologies they use and skills they must have. The definitions of
those terms reflect my professional understanding, but it may vary depending on the
company, the region, or the industry.
It is very high-level work, normally far removed from the hardware. It requires an
understanding of human-machine interaction and design principles more than computer
science theory. Much of a front-end developer’s life is spent dealing with cross-browser
compatibility issues and tweaking details of the visual presentation of a UI.
Front-end development skills include the design of user interface (UI) and user
experience (UX), CSS, JavaScript, HTML, and a growing collection of UI frameworks.
Back-end systems can grow to be very complex, but their complexity is often not
visible to the users. For example, consider Google search engine. The front-end part is
a very simple UI with a title, a text box, and two or three buttons. The backend is an
enormously complex system, able to crawl the web, index it, and find what you are
looking for with a growing array of sophisticated mechanisms.
3 – Full-stack Developer
This is a developer that does both front-end and back-end work. He or she has the
skills required to create a fully functional web application.
4 – Middle-Tier Developer
This is a developer who writes non-UI code that runs in a browser and often talking to
non-core code running on a server. In general, middle tier is the “plumbing” of a system.
The term middle-tier developer is used to describe someone who is not specialized in
the front-end or the back-end but can do a bit of both, without being a full stack
developer. Only rarely engineers have this as a title, as it is more of a description of a
skill set than a career path.
5 – Web Developer
Web developers are software engineers who specialize in creating websites. They
are either front-end developers, back-end developers, middle-tier developers or full-
stack developers.
Back in the ’80s, this was one of the most common types of engineers, popularized
by inexpensive development environments such as Turbo Pascal, Turbo C, Visual
Basic, Quick C, Visual Studio, and Delphi.
Desktop developers often use GUI Toolkits such as Cocoa, XAML, WinForms, Gtk,
etc.
7 – Mobile Developer
This is a developer who writes code for applications that run natively on consumer
mobile devices such as smartphones and tablets. Mobile development was almost
unheard of before the early 2000s and the explosion of the smartphone market. Before
then mobile development was considered a subset of embedded development.
8 – Graphics Developer
This is a type of developer specialized in writing software for rendering, lighting,
shadowing, shading, culling, and management of scenes. These developers are often
responsible for integrating technologies in the gaming and video production industry.
Frameworks include DirectX, OpenGL, Unity 3D, WebGL. For more advanced
graphic developers, low-level development requires C, C++, and Assembly.
9 – Game Developer
This is a generic term to identify a developer specialized in writing games. Game
developers can fall into one of the other categories of developers, but they often have
specific knowledge and skills in designing and implementing engaging and interactive
gaming experiences.
Frameworks used by game developers include DirectX, OpenGL, Unity 3D, WebGL,
and languages such as C, C++, and Java. Adobe Flash used to be the standard gaming
platform for web games. Since Flash is being abandoned, JavaScript and HTML5
became the new standard. On mobile devices, Swift and Java are now the technologies
of choice for iOS and Android games.
10 – Data Scientist
This type of developer writes software programs to analyze data sets. They are often
in charge of statistical analysis, machine learning, data visualization, and predictive
modeling.
A big data developer is often familiar with frameworks and systems for distributed
storage and processing of vast amounts of data such as MapReduce, Hadoop, and
Spark. Languages used by Big Data Developers include SQL, Java, Python, and R.
12 – DevOps Developer
This is a type of developer familiar with technologies required for the development of
systems to build, deploy, integrate and administer back-end software and distributed
systems.
13 – CRM Developer
This type of developer specializes in the field of systems that collect user and
consumer data. These developers are tasked with improving customer satisfaction and
sales by improving the tooling used by customer support representatives, account
managers, and sale representatives.
15 – Embedded Developer
These developers work with hardware that isn’t commonly classified as computers.
For example, microcontrollers, real-time systems, electronic interfaces, set-top boxes,
consumer devices, iOT devices, hardware drivers, and serial data transmission fall into
this category.
Embedded developers often work with languages such as C, C++, Assembly, Java or
proprietary technologies, frameworks, and toolkits.
16 – High-Level Developer
This is a general term for a developer who writes code that is very far from the
hardware, in high-level scripting languages such as PHP, Perl, Python, and Ruby. Web
developers are often high-level developers, but not always.
17 – Low-Level Developer
This is a general term for a developer who writes code that is very close to the
hardware, in low-level languages such as assembly and C. Embedded developers are
often low-level developers, but not always.
18 – WordPress Developer
I include WordPress developers in this list because they are a hefty group of
specialized web developers. They create and customize themes and plugins for
WordPress and administer WordPress sites.
This kind of developer uses the WordPress system, PHP, JavaScript, and HTML.
19 – Security Developer
This type of developer specializes in creating systems, methods, and procedures to
test the security of a software system and exploit and fix security flaws. This type of
developer often work as “white-hat” ethical hacker and attempts to penetrate systems to
discover vulnerabilities.
Security developers most often write tools in scripting languages such as Python and
Ruby and understand in details the many patterns used to attack software systems.
More advanced security developers need to read and understand operating systems
source code written in C and C++. They might also reverse engineer libraries and
commercial software systems to find and exploit vulnerabilities.
Conclusions
There are many paths software developers can take to enter and progress in their
careers. Regardless if you start with a formal computer science education, or stumble
into web development with personal projects, or try to make a million dollars creating an
iPhone game, the possibilities are endless.
Once you choose a path, you can change as your skills and knowledge improve.
Even if you choose to stick with one path for your entire career, you’ll never run out of
things to learn. Technology evolves so quickly that is far easier to be left behind than to
get bored.
Share this:
4Save
Email
Share
WhatsApp
Print
Pocket
Telegram
Like this:
Loading...
Related
FILED UNDER: CAREERTAGGED
WITH: CAREER, HIRING, INTERVIEW, PEOPLE, RESUME, ROLES, TECHNOLOGY
Reader Interactions
COMMENTS
1. Newhippyera says
Nice Post
Reply
2. Chris Lance says
Reply
3. Download Movie says
Thanks for this wonderful and amazing information, Kudos to your team
Reply
4. yusf ahmmed says
nice website
Reply
5. Mark says
October 31, 2019 at 11:51 pm
Reply
6. Malik says
Reply
7. Yusuf Kabiru says
Thanks.
Reply
8. techsteeds says
Reply
9. EB says
Reply
LEAVE A REPLY
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Primary Sidebar
SUBSCRIBE VIA EMAIL
Enter your email address to subscribe to this blog and receive notifications of new posts
by email.
Email Address
SUBSCRIBE
JOIN US ON FACEBOOK
ARCHIVES
November 2019
February 2019
January 2019
December 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
RECENT POSTS
Doodle Tuesday: Flying Tree of Drops
Doodle Tuesday: Roots, Fruits and Flowers
Doodle Tuesday: Mushrooms
Software Maintenance, Understanding the 4 Types
What I Have Been Doing Lately
MOST POPULAR
TAGS
advice agile art balance behaviour blog bolbo career code cultur
brain
All links to Amazon products on this site are affiliate links; this means that we
may receive a small commission (at no cost to you) if you subscribe or
purchase something through the links.
DONATE
Leave a donation to support this blog.
SUBSCRIBE TO BLOG VIA RSS
RSS - Posts
ADVERTISMENT
TOOLS OF THE TRADE
Footer
SOCIAL