I have been working with databases for over 20 years now and have gained extensive experience in designing and developing application back-end for all kinds of systems.
In my history I've developed back ends for big ERP systems like HR, employee time tracking system, payroll, finance and warehouse management, but also for any smaller system or utility that required database.
I've also spent many hours building fully customized, complex ETL solutions that involves execution of custom programming blocks and procedures at any level of transformation. Such work allowed me to deepen and expand my practical knowledge and gain the necessary know-how to set up the database properly from scratch.
Today, most of the business logic is stored in database, so besides usual SQL, knowing of database programming language is a must. I'm specialized in writing stored procedures, functions, triggers, events, scheduled jobs and packages for Oracle (PL/SQL), MySQL, PostgreSQL (PL/pgSQL) and MS SQL (T-SQL). Here's is a common approach that I use in all of my projects :
► define the system goals, entities and attributes
► ER model design
► table and constraints design
► business logic programming
► if required building web front end using Oracle's APEX framework
And here's some of the areas I feel most comfortable :
► query analysis and optimization
○ identify weak spots and fix
○ speed up query execution by remodeling the query
► stored procedure programming
○ decomposing complex queries
○ turning applicable parts into stored procedure code
○ reusable code organization
► model design/re-design
○ create new DB from scratch
○ improve poorly designed data model
► DB administration
○ server optimization in general
○ replication set up / maintaining
○ AWS RDS/Aurora upgrades (low downtime/blue green deployments)
○ DB and data/code migrations (homogenous/heterogenous)