We are seeking an experienced Senior Software Developer to join our team and contribute to the development and maintenance of our cutting-edge software solutions. As a Senior Software Developer, you will play a crucial role in designing, building, and optimizing our software systems.
Responsibilities:
- Design, develop, and maintain robust and scalable software solutions using C# (Currently .NET 4.6.1 but planning to rewrite to .Net core).
- Experience with microservice architecture, docker containers and orchestration
- Recommend and implement architectural changes to enhance performance and reliability.
- Perform thorough code reviews to ensure code quality and adherence to best practices.
- Deliver reusable service and infrastructure templates.
- Define solutions that allow for local customization and optimizations on top of a robust technology base.
- Contribute to solution architecture sessions and provide leadership when required.
- Generate innovative product ideas and see them through from inception to completion.
- Write clean, highly maintainable, and well-tested code.
- Identify and address pain points in the application lifecycle.
- Collaborate with the development team to design and build deployment pipelines.
- Develop strategies with high availability (HA), disaster recovery (DR), canary deployments, and rollbacks in mind.
- Manage a backlog of features, bugs, and technical debt, effectively prioritizing tasks.
- Work closely with product managers to ensure accurate and timely delivery.
Platform Performance and Maintenance:
- Ensure the performance and availability of our Azure-based cloud services.
- Utilize third-party services such as Event Store, Azure Service Bus, Azure SQL Database, Redis Cache, SendGrid, and SMS Portal.
- Implement strong API security practices.
- Help and support when production issues happen with products your team owns.
Team and Collaboration:
- Work in a cross-functional team environment, collaborating with other developers, designers, and stakeholders.
- Familiarity with Agile methodologies, particularly Scrum.
- Experience with Azure DevOps or similar tools for project management and collaboration.
- Contribute to a culture of continuous improvement, knowledge sharing, and innovation within the team.
- Assist merchants with custom integrations into our Clients API.
- Improve and maintain our Clients e-commerce plugins for various e-commerce platforms, including Magento, WooCommerce, and Shopify.
- Collaborate with merchants to understand their integration requirements and provide technical guidance and support.
- Develop scalable and efficient integration solutions to enable seamless transactions and data synchronization between our Client and e-commerce platforms.
- Ensure the security and reliability of merchant integrations, implementing robust error handling and monitoring mechanisms.
- Stay up to date with the latest developments in e-commerce platforms and APIs to continuously enhance our Client's integration offerings.
- Troubleshoot and resolve any integration-related issues and provide timely support to merchants.
- Work closely with cross-functional teams, including product managers and designers, to align integration efforts with business objectives and user needs.
- Contribute to the documentation of integration processes, best practices, and guidelines for merchants.
Qualifications:
- Bachelors degree in computer science or related field.
- Minimum 5+ years of experience in software development.
- Proficient in C# (.Net 4.6.1) and familiar with Angular 13.
- Experience working with Azure cloud services.
- Strong understanding of microservices architecture.
- Strong understanding of API security principles and experience ensuring compliance with relevant regulations.
- Familiarity with Scrum methodology and Agile development practices.
- Excellent problem-solving, troubleshooting, and analytical skills.
- Strong communication and collaboration abilities.
- Self-motivated and able to manage time effectively.