- The Intermediate Software Developer - AWS Cloud would be responsible for designing, developing, testing, deploying, and maintaining software applications and cloud-based solutions using modern programming technologies and Amazon Web Services (AWS).
- The role involves developing scalable, secure, reliable, and efficient software solutions, integrating applications with cloud services, supporting system deployments, and contributing to the continuous improvement of software development processes.
- The successful candidate will work closely with senior developers, software testers, DevOps engineers, business analysts, and project managers to deliver high-quality software solutions that meet business requirements.
- The position requires practical software development experience, a good understanding of cloud computing, and the ability to independently handle assigned development tasks while collaborating effectively with the wider technical team.
Software Application Development
- Design, develop, implement, and maintain software applications based on approved business and technical requirements.
- Write clean, reusable, maintainable, and efficient code using appropriate programming languages and frameworks.
- Develop backend services, APIs, application components, and integration modules.
- Participate in application architecture and technical design discussions.
- Translate business requirements and technical specifications into functional software solutions.
- Develop and maintain existing applications, ensuring performance, reliability, and scalability.
- Identify and resolve software defects, performance issues, and technical challenges.
- Follow established software development standards, coding conventions, and best practices.
- Participate in code reviews and incorporate feedback from senior developers.
- Contribute to the development of new products, enhancements, and software features.
AWS Cloud Development and Deployment
- Develop and deploy applications on Amazon Web Services (AWS).
- Implement cloud-based application architectures that support scalability, availability, security, and performance.
- Work with AWS services including:
- Amazon EC2 for cloud computing and application hosting.
- Amazon S3 for object storage.
- Amazon RDS for managed relational databases.
- AWS Lambda for serverless computing.
- Amazon API Gateway for API management.
- Amazon CloudWatch for monitoring and logging.
- AWS IAM for identity and access management.
- Amazon VPC for cloud networking.
- AWS ECS or EKS for containerized applications, where applicable.
- Configure and manage application environments across development, testing, staging, and production.
- Support application deployment, cloud resource configuration, and environment management.
- Implement appropriate cloud storage, database, networking, and application integration solutions.
- Monitor cloud application performance and troubleshoot infrastructure-related issues.
- Support cloud resource optimization to improve performance and control operational costs.
- Apply AWS security best practices in application development and deployment.
- Collaborate with DevOps and infrastructure teams to improve cloud deployment processes.
API Development and System Integration
- Design, develop, and maintain RESTful APIs and application services.
- Integrate software applications with internal systems and external third-party platforms.
- Implement API authentication, authorization, validation, and error handling.
- Develop integration components for payment gateways, banking platforms, enterprise systems, and other digital services.
- Support API documentation using Swagger, OpenAPI, or equivalent tools.
- Implement secure data exchange between applications and cloud services.
- Troubleshoot API connectivity, integration failures, and data processing issues.
- Support integration testing and end-to-end validation of connected systems.
- Ensure APIs are scalable, reliable, and compliant with established technical standards.
Database Development and Management
- Design, develop, and maintain application databases.
- Write efficient SQL queries, stored procedures, and database scripts.
- Work with relational databases such as PostgreSQL, MySQL, SQL Server, or Amazon Aurora.
- Support database integration with application services.
- Ensure data integrity, consistency, and appropriate validation.
- Optimize database queries and application data access.
- Support database migration, backup, recovery, and deployment activities.
- Collaborate with database administrators to resolve database-related performance issues.
Software Testing and Quality Assurance
- Develop unit tests and participate in integration testing.
- Validate application functionality against defined requirements.
- Identify, investigate, and resolve software defects.
- Collaborate with software testers during system testing and user acceptance testing.
- Support regression testing following application changes.
- Participate in code reviews and technical quality assessments.
- Ensure software changes meet established coding, security, and quality standards.
- Document technical issues, resolutions, and testing outcomes.
- Participate in the implementation and maintenance of continuous integration and continuous deployment pipelines.
- Work with Git-based version control systems such as GitHub, GitLab, or Bitbucket.
- Support automated build, testing, and deployment processes.
- Work with tools such as Jenkins, GitHub Actions, AWS CodePipeline, or AWS CodeBuild.
- Support containerized application development using Docker.
- Collaborate with DevOps engineers to improve application deployment reliability.
- Support infrastructure configuration using Infrastructure as Code tools such as Terraform, AWS CloudFormation, or AWS CDK.
- Participate in release management and production deployment activities.
Application Security and Performance
- Implement secure coding practices throughout the software development lifecycle.
- Apply appropriate authentication, authorization, and access control mechanisms.
- Protect application data through encryption and secure communication protocols.
- Identify and address common application security vulnerabilities.
- Support vulnerability remediation and security testing activities.
- Optimize application performance, resource utilization, and response times.
- Ensure applications follow organizational security and compliance requirements.
- Collaborate with security and infrastructure teams to address identified risks.
Documentation and Technical Collaboration
- Prepare and maintain technical documentation for applications, APIs, and cloud deployments.
- Document application architecture, configuration, and integration processes.
- Participate in technical planning, sprint meetings, and project reviews.
- Provide development estimates and progress updates.
- Support knowledge sharing and technical discussions within the development team.
- Assist junior developers where appropriate.
- Escalate technical risks, dependencies, and delivery challenges to the appropriate team lead.
- Contribute to continuous improvement of development standards and practices.
- 3-4 years of relevant experience
- Bsc. Degree