Job Description
We are seeking a Senior Software Engineer with deep expertise in .NET technologies, extensive experience in designing and implementing ETL processes, and a solid background in managing large-scale databases and enterprise data warehouses. This individual will play a key role in building scalable, maintainable, and high-performance software solutions that support core business functions and enterprise data operations.
As a Sr. Software Engineer, you will collaborate with cross-functional teams to deliver end-to-end solutions that ensure reliable data integration, processing, and reporting capabilities. You will also work closely with stakeholders to understand business needs and translate them into effective technical solutions.
Responsibilities
.NET Development & Application Design
Design, develop, and maintain enterprise-grade applications using .NET (C#, ASP.NET, .NET Core).
Write clean, scalable, and well-documented code aligned with industry best practices.
Participate in code reviews and ensure adherence to software development standards.
ETL Development & Data Integration
Design, develop, and optimize ETL processes to extract, transform, and load data from diverse sources.
Collaborate with analysts and DBAs to ensure data quality, integrity, and consistency.
Automate data workflows and error-handling routines to support critical business operations.
Database & Data Warehouse Management
Design and maintain large relational databases (SQL Server, Oracle, or equivalent).
Develop and optimize stored procedures, functions, and indexing strategies.
Support data warehouse architecture, ensuring scalability, performance, and data governance.
Mentorship & Knowledge Sharing
Provide technical guidance and mentorship to junior and mid-level software engineers.
Conduct code reviews and share best practices to promote a strong engineering culture.
Support skill development through pair programming, design discussions, and training sessions
Collaboration & Stakeholder Engagement
Work with cross-functional teams to gather requirements and translate them into technical specifications.
Communicate complex technical concepts to both technical and non-technical stakeholders.
Participate in agile ceremonies, providing input on timelines, architecture, and resource planning.
Performance Tuning & Continuous Improvement
Monitor system performance and implement improvements to ensure system availability and responsiveness.
Evaluate and implement new tools and frameworks to enhance productivity and efficiency.
Stay up to date on emerging technologies and propose relevant improvements or migrations.
Qualifications