Software developer
we are seeking an experienced and skilled software developer to join our dynamic engineering team. As a key member of our team, you will be responsible for designing, developing, and maintaining cloud-native applications using modern technologies and best practices.
* design, develop, and maintain scalable cloud-native applications using .net and modern front-end frameworks for invoice and payment automation solutions
* architect and implement solutions leveraging aws native services including lambda, ecs, eks, sqs, rds, s3, cloudwatch, cognito, secrets manager, and cloudfront
* build and deploy architectures that scale efficiently and leverage cloud-native capabilities
* implement infrastructure as code using aws cdk or cloudformation to automate infrastructure provisioning and management
* develop and maintain ci/cd pipelines using github actions to enable rapid, reliable deployments
* write comprehensive unit tests and contribute to automated regression testing frameworks to ensure exceptional software quality
* partner with ai engineers to integrate artificial intelligence capabilities into applications, including generative ai, classification models, and ocr for document processing
* develop and consume restful apis and event-driven architectures to enable seamless system integration
* optimize database queries and leverage proper indexing strategies in postgresql and sql server environments
* implement robust monitoring, logging, and alerting solutions using cloudwatch and related aws services
* collaborate with product management, devops, and cross-functional teams to translate business requirements into scalable technical solutions
* participate in code reviews, providing constructive feedback and ensuring adherence to coding standards and best practices
* troubleshoot and resolve technical issues in production environments with a focus on root cause analysis
* stay current with emerging cloud technologies, and industry best practices
* participate in agile development processes including sprint planning, daily standups, and retrospectives
* contribute to architectural decisions and technical strategy discussions
key responsibilities
* deliver high-quality, scalable cloud-native code contributions
* provide comprehensive automated test coverage
* implement infrastructure as code implementations
* ensure timely delivery of features with minimal technical debt
* engage actively in code reviews and knowledge sharing
* document technical solutions and system architectures
* proactively identify and resolve performance, security, and cost optimization opportunities
requirements
* strong proficiency in .net (c#) development with experience in modern .net versions
* demonstrated expertise in building cloud-native applications using aws services (lambda, ecs, eks, sqs, rds, s3, etc.)
* hands-on experience with infrastructure as code tools (aws cdk, cloudformation, or terraform)
* proficiency in modern front-end development using react, angular, vue.js, or similar frameworks
* strong understanding of ci/cd concepts and experience implementing pipelines using github actions, jenkins, or azure devops
* experience with microservices architecture and scalable serverless computing patterns
* understanding of artificial intelligence applications
* solid understanding of database design, query optimization, and indexing strategies in sql server and postgresql
* experience with containerization technologies (docker) and orchestration (kubernetes/eks, ecs)
* understanding of event-driven architectures and message queuing systems
* knowledge of api design, development, and integration best practices
* familiarity with monitoring, logging, and observability tools (cloudwatch, application performance monitoring)
* understanding of security best practices including secrets management, iam policies, and secure coding practices
* strong problem-solving skills with the ability to debug complex distributed systems
* excellent communication and collaboration abilities
* passion for mentoring and knowledge sharing
* commitment to writing maintainable, well-documented code