Senior Software Engineer
Location: Hybrid 2-3 Days in Office
Job Summary:
We are seeking a Senior Software Engineer to join our dynamic team in creating innovative software solutions. You will take a lead role in the entire development lifecycle, contributing your expertise to ensure our software is robust, scalable, and exceeds the expectations of our customers and internal stakeholders.
Primary Responsibilities:
- Software Development: Drive the design, development, and testing of robust software systems using C# and .NET to meet the needs of both internal operations and external clients.
- Lifecycle Management: Ensure our software remains efficient and current by proactively maintaining, updating, and upgrading.
- CI/CD Leadership: Develop and optimize CI/CD pipelines using GitHub Actions and Azure DevOps to streamline our release processes.
- Collaborative Engineering: Work closely with team members to establish and implement best practices in software development.
- Code Quality Assurance: Participate in and lead code reviews, fostering a high-quality, learning-oriented environment.
- Quality Assurance: Perform QA tasks to ensure our software meets project-specific requirements and maintains reliability.
- Documentation & Communication: Produce clear and concise documentation, facilitating easy user adoption and team communication.
- Troubleshooting & Support: Identify and solve development, testing, and production challenges, ensuring smooth operation.
- Cross-Functional Collaboration: Partner with other teams to enhance system efficiency, security, and overall performance.
- Continuous Learning: Stay updated with the latest technologies and methodologies to continuously improve skills and contribute fresh ideas.
Required Skills:
- Proven experience in a senior software engineering role with at least 5 years of experience in a software engineering role.
- Proficiency in object-oriented programming, design patterns, and coding best practices.
- Experience in complex system design, including microservices architecture, API design, and scalable infrastructure.
- Expertise in C# and the .NET framework.
- Strong experience with GitHub Actions for deployment automation.
- Experience with containerization technologies, such as Docker and Kubernetes.
- Hands-on experience with cloud platforms like Azure for application development and deployment.
- Database design, optimization, and management skills (MongoDB and SQL preferred).
- Excellent problem-solving skills and meticulous attention to detail.
- Self-driven with the ability to manage projects independently and effectively report progress.
- Strong interpersonal skills, with a focus on mentoring, cross-team collaboration, and knowledge sharing.
Preferred Skills:
- Familiarity with frameworks like ASP.NET Core and Vue.js 3.
- Competence in scripting languages (e.g., PowerShell or Bash).
- Understanding of agile development methodologies.