Senior Software Engineer
Job Title: Senior Software Engineer
Job Summary:
As a Senior Software Engineer with expertise in database designing, you will be responsible for leading and contributing to the development of complex software applications and systems, with a specific focus on database design and management. You will work closely with cross-functional teams, including software architects, product managers, and other software engineers, to design, develop, test, and deploy high-quality software solutions that meet business requirements. You will also play a key role in designing, optimizing, and maintaining efficient and scalable databases for applications, ensuring data integrity, security, and performance.
Key Responsibilities:
- Lead the design and development of database architecture, including schema design, indexing, query optimization, and performance tuning.
- Collaborate with software architects, product managers, and other team members to define and document database requirements, ensuring data integrity, security, and compliance.
- Develop, test, and deploy database-driven software applications and systems, following established coding standards and best practices.
- Debug and resolve database-related issues, such as performance bottlenecks, data anomalies, and security vulnerabilities.
- Optimize database performance by analyzing and tuning SQL queries, monitoring database usage, and implementing database caching and indexing strategies.
- Stay updated with the latest trends and advancements in database technologies and recommend appropriate tools, technologies, and methodologies to improve the overall performance and efficiency of the database systems.
- Collaborate with cross-functional teams to develop and maintain data models, data dictionaries, and data flow diagrams.
- Provide technical guidance and mentorship to junior software engineers, as needed.
- Collaborate with quality assurance teams to ensure thorough testing and validation of database functionality.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Proven experience as a Software Engineer with strong expertise in database design and management.
- In-depth knowledge of database concepts, such as relational databases, data modeling, indexing, and query optimization.
- Proficiency in database technologies such as SQL, NoSQL, and relational database management systems (RDBMS) like MySQL, Oracle, or SQL Server.
- Strong programming skills in one or more programming languages, such as Java, Python, C++, or C#.
- Experience with database design tools, such as ERwin, MySQL Workbench, or SQL Server Management Studio.
- Familiarity with database-related technologies, such as data warehousing, data integration, ETL (Extract, Transform, Load), and data migration.
- Understanding of database security best practices, such as encryption, authentication, and authorization.
- Excellent problem-solving skills and ability to troubleshoot and resolve complex database issues.
- Strong communication skills, both written and verbal, with the ability to effectively collaborate with cross-functional teams.
- Ability to work independently and manage multiple tasks in a fast-paced environment.
- Experience with Agile/Scrum software development methodologies is a plus.
Join our team as a Senior Software Engineer with database designing exposure, and contribute to the development of innovative software solutions while leveraging your expertise in database design and management to ensure efficient and scalable data storage and retrieval