Job Description
Job Description
The Database Developer will be responsible for designing, implementing, and maintaining robust database systems that support the needs of various business applications. This role involves optimizing databases, ensuring data integrity, and troubleshooting database-related issues to enhance performance and reliability.
Main Job Responsibilities:
- Design, develop, and maintain database systems to ensure high performance, availability, and security.
- Collaborate with application developers to define and optimize database schemas, queries, and indexes.
- Develop stored procedures, triggers, and functions to improve database operations.
- Monitor and optimize database performance, including query execution plans, indexing, and resource usage.
- Implement and maintain database backup, recovery, and archiving procedures.
- Ensure data integrity through the implementation of appropriate validation checks, constraints, and redundancy mechanisms.
- Troubleshoot and resolve database-related issues, such as locking, replication, and connection pooling problems.
- Design and implement data migration strategies for legacy systems and assist in database upgrades.
- Work with DevOps and cloud engineering teams to deploy databases in cloud environments (AWS, Azure, GCP).
- Implement and enforce data security and privacy policies based on regulatory requirements.
- Develop and maintain documentation for database systems, processes, and data dictionaries.
- Stay updated with the latest database technologies and recommend improvements where necessary.
- Collaborate with the business intelligence team to ensure data is properly structured for reporting and analytics.
Skills
Needed Competencies:
- Problem-solving: Ability to diagnose and resolve complex database issues efficiently.
- Collaboration: Experience working with cross-functional teams (developers, DevOps, etc.).
- Attention to Detail: Accuracy in ensuring data integrity and security.
- Adaptability: Willingness to learn and apply new technologies and methodologies.
- Communication: Excellent verbal and written communication skills, particularly in explaining technical concepts to non-technical stakeholders.
- Project Management: Ability to manage multiple database projects concurrently.
- Install, patch, maintain and monitor Oracle databases.
- Create and maintain SQL and PL/SQL queries and shell scripts
- Monitor, and verify backups and perform ad-hoc backups
- Provide maintenance support for database systems.
- Data Extraction, transformation, and loading
- Perform routine security and authentication measures
- Database tuning and troubleshooting
Knowledge, Skills and Abilities:
- Proficiency in SQL and experience with relational databases (e.g., MySQL, PostgreSQL, Oracle, MS SQL Server).
- Experience with NoSQL databases (e.g., MongoDB, Cassandra, DynamoDB).
- Familiarity with database design principles, normalization, and indexing.
- Strong understanding of database performance tuning and optimization techniques.
- Knowledge of database backup, recovery, and security best practices.
- Experience with cloud databases and related services (e.g., AWS RDS, Google Cloud SQL, Azure SQL Database).
- Familiarity with automation tools (e.g., Ansible, Terraform) for database deployments.
- Understanding of data warehousing concepts and ETL processes.
- Knowledge of programming languages like Python, Java, or C# for database interaction.
- Experience with database monitoring tools (e.g., Datadog, SolarWinds, or native tools).
- Strong skills in troubleshooting and performance optimization for large databases.
Preferences:
- Experience with database clustering and high-availability solutions.
- Experience with cloud-based infrastructure and managed database services.
- Familiarity with big data platforms (e.g., Hadoop, Apache Spark).
- Certification in relevant database systems (e.g., Oracle Certified Professional, AWS Certified Database Specialty).