Welcome to a guide and list of the different types of computer programmers. Digital devices and automation are everywhere in this age, and programmers are in huge demand. Maybe you are interested in the job called “programmer”? Or maybe you are just curious? To keep the story short, “programmer” is a very generic title these days.
Technology has evolved a lot, and there are many disciplines in “programming”. There are those who create apps, do automation for factories, write firmware for devices, analyze data, and so much more. Let us explore some common “types” of programmers in this guide – Read on!
1. SOFTWARE (OR APPLICATION) DEVELOPER
WHAT THEY DO
There are all kinds of apps these days – Word processing, photo editing, media players, communications, navigation, news, travel, finance, etc… Software developers are the guys who are responsible for developing and maintaining these apps.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
Depending on the platform, but the common ones:
- Operating System – Windows, Linux, Mac OSX.
- Programming Languages – C, C++, C#, Java, Python, Visual Basic, Swift, or Objective-C.
EXAMPLES
Application Developer, Software Engineer, Software Architect, Software Analyst, and Software Development Lead.
MEET THE TEAM
Depending on the size of the project, a software development team can range from a single developer to an entire army. But a generic software development team will consist of the following:
- Project Manager – The guy who manages the entire project. It may not be in a technical way, but more on human resources and finances.
- Lead Software Developer – The brain of the entire project.
- Software Architect – The system designer, down to the nuts and bolts.
- Software Engineer – The guy who does the programming and bug fixes.
- UI/UX Engineer – More on graphical design, interface design, and overall usability of the software.
- Software Analyst – Analyzes the business and user needs. Makes sure that the software is built to the correct specifications.
2. MOBILE DEVELOPER
WHAT THEY DO
Pretty self-explanatory. This is a “specialized breed” of developers that is dedicated to developing apps on mobile devices only.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
- Operating System – Windows, Linux, Mac OSX.
- Programming Languages – Java, Kotlin, C#, Swift.
EXAMPLES
Mobile Developer, Mobile App Developer.
MEET THE TEAM
Pretty much the same as “software developer” above, the size of the team can be a single person or an entire team. Mobile developers can also be a part of a larger project that covers both desktop and mobile devices.
3. DATABASE DEVELOPERS
WHAT THEY DO
You may have already heard of the term “database”, a “huge collection of data”. For example – A database of products and customers for eCommerce websites, a database of crimes in law enforcement, patients/health records in hospitals, and even a simple phone directory.
Database developers are the guys who design, structure, and build databases for applications. Some of them are even specialized analysts who dig the database records for statistics and predictions (otherwise also known as data mining).
PROGRAMMING & KNOWLEDGE REQUIREMENTS
- Types of databases – Relational database, cloud, object-oriented, time series, etc…
- The common languages – Structured Query Language (SQL), Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), etc…
EXAMPLES
Data Analyst, Database Administrator, and Database Engineer.
MEET THE TEAM
- Database Engineer – The guy who designs and builds databases.
- Database Administrator – The guy who maintains the database.
- Data Analyst – Does data mining, and generates reports from the database.
4. WEB DEVELOPERS
WHAT THEY DO
Once upon a time in the stone age of the Internet, web pages are simple text and pictures. That is not the case with the modern Internet. eCommerce websites, blogs, forums, social media, video, sound, file sharing – All of these are complex full-fledged web applications that require skilled code ninjas to build.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
- Knowledge of “how the Internet works” – HTTP, FTP, IP, etc…
- Common Programming Languages – PHP, ASP, Javascript, CSS, HTML, Ruby, Python, Perl, SQL, etc…
- May cross into interfacing with server and mobile apps.
EXAMPLES
Web Developer, Front-end Developer, Back-end Developer, Full Stack Developer.
MEET THE TEAM
- Front-end Developer – The guy who only deals with front-facing user interfaces.
- Back-end Developer – The guy that only deals with back-facing sequences and algorithms.
- Web Developer – Does both front-end and back-end.
- Full Stack Developer – Crazy guy who pretty much does everything. Design, structure, database, front-end, back-end, interfaces, 3rd party support, cross-platform support, etc…
5. SYSTEM HARDWARE DEVELOPERS
WHAT THEY DO
When you power up the computer, there will be a boot screen with information on all your processors, memory, graphics card, and more. This is not done by the operating system (Windows, Linux, macOS), but by a lower-level firmware – Which is what computer hardware programmers do, to create the “software behind software”.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
Depending on the system and device. It could be Java or an even lower-level programming language such as assembly.
EXAMPLES
System Software Engineer, Embedded Software Engineer.
MEET THE TEAM
- System Software Engineer – Builds the mechanics behind software applications, stuff like file systems, device drivers, compilers, debuggers, and more.
- Embedded Software Engineer – Creates embedded software that controls a machine or device. That could be smartphones, digital cameras, smartwatches, cars, and more.
6. GAME DEVELOPERS
WHAT THEY DO
Game developers are the guys behind the gaming industry, and it is a different ball when it comes to game development. It is no longer just about “hard coding”, but a combination of various media as well – Video, audio, and animation.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
Pretty much the same as software developers, depending on the platform. But rather than coding from scratch, there are several game engines in the world such as Unity, Godot, and Blender.
EXAMPLES
Lead Programmer, Game Programmer, Sound Programmer, and Animator.
MEET THE TEAM
There are a lot of people involved in game development, but here are some of the programming-related ones.
- Lead Programmer – The guy to lead the entire programming team, and coordinate programming efforts.
- Game Programmer – The guy to do the “hardcore” mechanics behind the game.
- Sound Programmer – Responsible for the development of audio tools and technologies for the game.
- Animator or 3D Programmer – Does all the graphics rendering for the game engine.
7. SOFTWARE QUALITY CONTROL (QC)
WHAT THEY DO
One does not simply release untested code into a critical system, cause a crash, and make businesses lose millions in the process. This is why software quality control is so important, and why we need people who understand code to test code.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
Depending on the kind of project and platform it is built on. Test engineers may need to know more about the testing tools than the actual language itself.
EXAMPLES
Software QA Analyst, Software Quality Engineer, and Software Test Engineer.
MEET THE TEAM
- Software QA Analyst – Develops test plans and scripts.
- Software Quality Engineer – Does audit checks and defect tracking.
- Test Engineer – The guy who runs the software tests.
8. ANALYST PROGRAMMER
WHAT THEY DO
Analyst programmers are busy people. They are a combination of a data analyst, business analyst, and programmer. Hire one, get three. Good deal. But jokes aside, analyst programmers are different in the sense that they are both business and technical-oriented. I.E. Programmers do the technical implementation, analysts study the business, and come up with the system design.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
All kinds of programming languages, databases, and business processes.
EXAMPLES
Senior Analyst Programmer, Analyst Programmer, Software Analyst.
9. AI PROGRAMMER
WHAT THEY DO
Artificial Intelligence is the “big thing” that everyone seems to be talking about. But wait, AI has already been around for quite some time. Factory automation? Automated testing? Machine learning? Pattern learning? The AI in games? Yes, AI programmers cover a wide range of applications these days.
PROGRAMMING & KNOWLEDGE REQUIREMENTS
Not quite the “usual programming”, but “AI programming” – Neural networks, machine learning, pattern learning, fuzzy logic.
EXAMPLES
AI Programmer/Engineer, Machine Learning Programmer/Engineer, AI Researcher, and Game AI Programmer.
PERSONAL THOUGHTS – WHICH IS THE BEST CAREER PATH?
So, which of the above is the best type of programmer to be? Well, my short answer will be – Whichever your interest is in. But as a full-stack senior web developer who crawled up the ladder over the years, I have some rather bad taste as to where the entire programming industry is headed towards…
Whichever path you choose to take, just don’t stop learning and improving. Because technology is changing fast, you might find yourself overtaken within just a few short years. Keep expanding your skillsets, open more possibilities for yourself, and that is the best path to take.
THE END
Thank you for reading, and we have come to the end of this guide. I hope that it has helped you to better understand the programming world, and make a career choice. If you want to share anything with this guide, please feel free to comment below. Good luck and happy coding!
Your article and insight was neat and helpful :). However, I’m wondering if you could explain more on where you think the entire programming industry is headed towards?
Much Thanks!
* Programming languages are becoming easier. A lot of “wannabe programmers” will emerge.
* What’s so bad – They know sh*t about programming and charge very low prices.
* Best part – People buy their lies. Programming is easy, anyone can do it, I shouldn’t pay programmers too much.
* Good software developers suffer – Programming also demands knowledge and skills in other aspects. Can’t build a system without knowing how the business operates. Can’t create financial reports without knowing accounting. Can’t create games without knowing multimedia. Not many people know the true value of a good developer, most only know “cheaper is better”.
If you are interested, search for “Boeing 737 bug” and “Boeing 787 bug”. See for yourself what is already happening in the industry… They literally hired some cheapo “wannabe programmer” to work on a passenger aircraft.