So, you’re interested in becoming a database developer?
I’ll show you the path you can take, what skills are needed, and much more, in this article.
But first, let’s start with some basics. You might already know what a database developer is, but I’ll explain it anyway, in case you’re not sure.
If you already know this, feel free to skip past this and read the steps on how to become a database developer.
What is a Database Developer?
A database developer is an IT professional who is responsible for creating databases and database software. They design databases and work on the code that sits between an application and the data in a database.
Database developers, or database programmers, often work in an IT department as part of a software development team. They know specific programming languages and have certain skills that make them useful to software teams and the company as a whole.
What Does a Database Developer Do?
If you’ve read some job descriptions for database developer jobs, you might have some idea.
Or you might be more confused!
So, let’s clear it up.
A database developer is responsible for:
- Design new databases that meet the needs of the users or customers, in an efficient and accurate format
- Make modifications to the design of existing databases to meet client needs
- Develop the database code to perform a range of tasks, including:
- Extracting data from a database for analysis for reports
- Creating, updating, extracting, or deleting data as required by an application
- Designing and developing business intelligence reports using existing software systems that link to a database
- Decide on or advise the business on database languages and technologies
- Ensure projects meet the standards and requirements for database design and development
- Create documentation for new or existing databases to assist their team and other areas of the business
- Assisting software teams with database-related activities for deploying applications
What about administration?
There are other database-related areas to focus on, such as maintenance of the database, upgrades, backups, and installation. However, these tasks are handled by the Database Administrator, or DBA. You can read more about DBAs and how to become a DBA here.
So, in short, it’s similar to other development roles, but not entirely the same. There are design and development elements involved, but in specific languages and technologies.
What Database Management Systems and Languages are Used?
The main language used by database developers is SQL, or Structured Query Language.
It’s a language that allows you to communicate with the database and perform a variety of tasks.
CREATE TABLE sample_group_table ( student_nameVARCHAR(50), subject_nameVARCHAR(100), school_yearINT, student_gradeINT ); INSERT INTO sample_group_table (student_name, subject_name, school_year, student_grade) VALUES ('Andrew', 'Physics', 2020, 76); INSERT INTO sample_group_table (student_name, subject_name, school_year, student_grade) VALUES ('Belle', 'Physics', 2020, 85);
Commonly it’s used to retrieve data from the database, but you can do many other things such as add data, update data, delete data, set up tables, and much more.
Now, just like in web development there are many options for technologies to use.
However, with database development, the majority of your work will be in some variation of SQL.
The variations come from different vendors who implement their own versions. Each of these vendors has their own database management software, which developers use as part of their application.
While it might seem like there are a lot of companies, the good news is that they can be classified into two groups:
- those that are used in larger companies
- those that are used on smaller projects.
Some of the different vendors are:
- Oracle Database: used in larger organisations as it offers a lot of customisation and performance, but at a high license cost.
- Microsoft SQL Server: also used in larger organisations. The main alternative to Oracle.
- MySQL: used in a lot of web development projects and smaller companies. Free to use.
- IBM’s DB2
- SQLite: a small database technology, often used in apps and very small programs.
- Microsoft Access: Part of the Microsoft Office suite, and has some basic database development features. Never use this for any kind of database development (see below)!
You can see a large list of database management systems at db-engines.com if you’re interested, which are ranked according to their popularity.
I’ve written a post that contains 59 resources for learning SQL. Take a look at the list and use one (or more) of the tutorials to learn SQL.
How do you know which system to use?
Which Database System Should I Choose?
So, which one should you learn? Which system should you choose?
This is a hard question to answer.
If you’re looking to get a job in a large company, I would suggest Oracle or Microsoft SQL Server.
I’ve never worked in a place that didn’t use one of these two as their main database technology.
Having said that, I’ve always worked in large companies or government departments.
If you’re looking to get a job in a smaller company or work on smaller projects, I would suggest MySQL, or possibly PostgreSQL. Both are popular.
The thing with database technologies is that once a company chooses a technology, they stick with it, as it’s very hard to migrate. It’s not impossible, it just involves a lot of work.
So, if you choose Microsoft SQL Server to learn, for instance, you’ll likely be looking to work in places that offer that technology.
The good news is that because each of these systems is built off the same standard of SQL, the skills are transferrable.
I learnt Oracle SQL when I was in uni, and it’s the one I’m most familiar with, but I’ve had roles at clients where I’ve worked on Microsoft SQL Server (and even linked an Excel spreadsheet to an SQLite database).
Some of these databases include their own transactional language as an enhancement.
Oracle has PL/SQL (Procedural Language Structured Query Language), and Microsoft offers T-SQL (Transactional-Structured Query Language). Learning either of these will allow you to write stored procedures, functions, and much more.
What about Microsoft Access?
One rule to remember, though, is never to use Microsoft Access for any kind of commercial application.
Why is that? Why do I not recommend using Access?
It’s easy to use, and has a good user interface allowing people to set up a database easily and populate it with data.
However, there are several problems:
- Once you get past a small number of records, it starts to slow down. Improvements have been made over the years, but it’s not designed to be used for a lot of data.
- Having more than one person access the database at a time can cause issues. Other databases are designed for concurrent access, and Microsoft Access is not.
- The data is hard to back up, can be corrupted easily, and doesn’t have the same flexibility as other systems.
So, if you’re considering using Access for something, I would suggest something else. MySQL is a good place to start.
What Skills Does a Database Developer Need?
If you’re looking to become a database developer, you’ll need to have a set of skills.
A particular set of skills. Not the kind that Liam Neeson’s character in Taken has, but specific skills for database development.
The required skills in my opinion for a database developer are:
- SQL development in one of the database management systems. One will be enough to get you a job (e.g. Oracle OR Microsoft SQL Server).
- Database design: the ability to analyse a business domain, and create a data model and normalized database from it.
- Transactional language SQL in a specific system (e.g. Oracle PL/SQL, Microsoft T-SQL).
- Ability to understand complex problems and provide solutions
- Ability to explain complicated topics in simple terms to both technical and non-technical people
How much SQL do you need to know? You’ll need to be able to do the following tasks comfortably, using good practices:
- Insert data into a table
- Update existing data in a table
- Delete data from a table
- Retrieve data from a table using a variety of techniques, such as aggregate functions, subqueries, ordering, grouping
- Table aliases and column aliases
- Joins, what they are and the different types
- Using functions
- Creating, updating, deleting tables
- What a primary key, foreign key, and other constraints are, and how to create them
- Generating and understanding an execution plan
- Transactions, commit, rollback, and what locking is
- How to create and use functions, stored procedures, views, indexes, and other database objects such as synonyms and sequences
Other desirable skills are:
- Knowledge and understanding of the ETL process (Extract, Transform, Load), which is used in data warehousing.
- SQL development in two or more database management systems.
- Knowledge and understanding of operating systems (WIndows, Unix, Linux, etc). This can help with writing scripts or basic administration tasks.
- Knowledge of SQL and databases in order to improve performance of your code (best practices, indexes, in-built performance features)
You can find out more about the SQL techniques on my SQL Roadmap page.
What Tools Does a Database Developer Use?
There are a few tools that database developers use.
Like any programmer, a lot of their work is done in an IDE (Integrated Development Environment). There are some other tools that are used for specific tasks as well.
Here’s what many database developers use:
- An IDE. The particular software depends on your database management system. Some tools are specific to a vendor, and others work on many vendors. Microsoft has a tool called SQL Server Management Studio (SSMS), while Oracle offers SQL Developer. Read my guide on SQL IDEs for more information on the available tools for Oracle.
- A database modeller/design tool. This allows a developer to create and modify database designs. They can be built-in to the IDE or separate tools. In the past, I’ve used Microsoft Visio, MySQL Workbench, and Lucidchart. There are many tools available.
- A command line tool. This is for running commands on the operating system if required. Whichever is built in to the operating system is usually enough.
- A text editor. Using a tool that’s better than Notepad will help developers write scripts or manipulate data easily. I like Notepad++ for this.
- Microsoft Excel. I often use Excel for manipulating data or presenting it to others. Some of this functionality can be done in a database, but often it’s easier to do it in a spreadsheet and easier to share with others.
What’s the Salary of a Database Developer?
The salary of a database developer, I think, is quite good. However it varies by country and by city.
These charts are extracts from PayScale.com’s page on Database Developers:
This chart shows salary by experience level:
What Education is Required to Become a Database Developer?
Education to become a database developer is usually achieved from two places:
- A university/college degree
- A certification
You can get either, or both. But I think you need to have one to be able to get a job.
A Bachelor’s degree in Computer Science or a related degree is ideal. That’s what I got many years ago. However I understand it can be hard to spend 3-4 years on a degree first.
An alternative is to get a certification and some experience. Both Oracle and Microsoft offer certifications on their database technology, and they usually take a few months to study for and obtain (depending on your level of knowledge and time available).
The certifications that Oracle offer that are suitable for beginners are:
The certifications that Microsoft offer that are suitable for beginners are:
So, while I think it’s better if you have a Bachelor’s degree to start your career, you could get a certification instead.
Also, avoid exam dumps or certification dumps. I’ve written more about what they are and why you should avoid them in this article.
How to Become a Database Developer
To become a database developer, you can follow these steps.
1. Get a Bachelor’s degree in Computer Science, OR get a database certification
The first step is to get educated on database development. Whether this is part of a Bachelor’s degree or a certification, you’ll need to understand the theory behind databases and how to work with them.
You don’t need a degree, as I mentioned earlier in this article, but it certainly helps. If you don’t want to, or aren’t able to get a degree, you can get a database certification.
Result: Formal education on database theory and an understanding of SQL.
2. Create a portfolio of your work
Once you have learnt SQL and how to work with databases, it’s a good idea to create a portfolio of your work.
Just like many other developers have a portfolio of the projects they have created, a potential database developer can benefit from having a portfolio.
What does this mean for you?
Create a database around a personal project or area of interest to you. This could be your finances, an application you’ve always wanted to build, movies, sports, or video games, for example.
This would involve designing the database, writing the SQL to create the database, and populating it. You can then practice your SQL skills by writing queries to retrieve data from it.
You can start with a small project and work your way up to larger projects.
This will test your knowledge and skills on a variety of database topics, such as database design, joins, creating tables, inserting data, and selecting data.
Result: Practice with SQL and database design, and a collection of work for future job interviews.
3. Optional: Volunteer your database development skills
Something else you can do to help yourself get a job and improve your skills is to volunteer your newly-learnt database development skills.
Find a non-profit or some other organisation that has a need for their database to be updated or redesigned.
This might be a hard thing to ask for or find, as it’s not a question that these organisations might know that they have. But you can ask your friends, family members, or other students if they know anyone that needs any computer software work. You could design the part of the application you know how (the database), or work as part of a team on all of the database tasks.
The aim is to get valuable, real experience with working on databases.
Result: Real experience with designing and developing a database.
4. Create your resume
Now you have your education and some experience, it’s time to create (or update) your resume.
There’s a lot of information out there on resumes, so I’ll just summarise it here:
- Include your recent education on databases
- Include your contact information but no photo or full address
- There’s no need to add a certification logo to your resume
- Add links to your portfolio (e.g. on Github or a personal website) and mention any volunteer work you did.
This will help you when applying for jobs, as it shows you have the skills needed for the job, and where you got them.
Result: A document that shows your education and experience to help you get a job.
5. Update or create a LinkedIn profile
LinkedIn, the social network for professionals, is used a lot in the IT industry.
If you don’t have a LinkedIn profile, I suggest you create one. It works in a similar way to a resume but has more information.
Create a profile and fill out your information – name and details, education, experience, and skills.
This will help employers find you when looking to fill roles, and can also be added to your resume as a link.
Should you get LinkedIn Premium? I wrote a post on this topic if you’re interested. I think it’s worth it if you want to get access to more jobs and improve your chances of getting hired. But it’s not essential.
Result: More visibility during the job searching process.
6. Apply for Database Developer roles
Now the fun part – searching for and applying for jobs!
Use your favourite job site and start applying for jobs.
Search for roles such as “database developer” or “database programmer” to find roles that are a good fit.
As mentioned earlier, a Database Administrator is a different role and usually requires more experience. If you happen to look at any of the requirements for those roles, you’ll likely find that you need a few years’ experience. So, just stick to the database developer roles.
You’ll probably want to limit your job search to the technology that you have been focusing on in your education. For example, if you learnt SQL Server in your degree, or got Microsoft certifications, then you would be a better fit for roles that work with SQL Server instead of Oracle.
Sure, you could apply for roles that mention Oracle SQL, but if you’re new, it might be harder to get.
So, I suggest focusing on the roles that mention your preferred technology first, and then expanding your search as needed.
From here, a portion of those jobs should contact you and ask for an interview, and a portion (hopefully at least one) of those should offer you a job. When you’ve accepted the job, congratulations! You’re now a Database Developer!
I have a list of SQL interview questions an answers which might be helpful.
Summary – How to Become a Database Developer
So, in summary, the steps on how to become a database developer are:
- Get a Bachelor’s degree in Computer Science, OR get a database certification.
- Create a portfolio of your work
- Optional: Volunteer your database development skills
- Create your resume
- Update or create a LinkedIn profile
- Apply for Database Developer roles