Software Developer
Role details
Job location
Tech stack
Job description
We are seeking a skilled and motivated Software Developer to join our technology team. The ideal candidate will have strong programming expertise, experience with cloud technologies, and a passion for designing, developing, and maintaining scalable, secure, and high-performance applications.
- Design, develop, test, and maintain software applications and services.
- Collaborate with cross-functional teams to gather requirements and deliver technical solutions.
- Write clean, maintainable, and well-documented code following industry best practices.
- Develop and consume RESTful APIs and microservices.
- Build and deploy cloud-native applications.
- Optimize application performance, scalability, and security.
- Troubleshoot, debug, and resolve software defects.
- Participate in code reviews and contribute to continuous improvement initiatives.
- Automate deployment and infrastructure using DevOps practices.
- Stay current with emerging technologies and recommend improvements.
Requirements
- Java
- Python
- C#
- JavaScript/TypeScript
- SQL
Cloud Technologies
- Experience with AWS, Microsoft Azure, or Google Cloud Platform (GCP)
- Cloud storage, networking, and compute services
- Serverless computing
- Containerization using Docker
- Kubernetes orchestration
- Infrastructure as Code (Terraform or CloudFormation)
Software Development
- Object-Oriented Programming (OOP)
- Data Structures and Algorithms
- RESTful API development
- Microservices architecture
- Event-driven architecture
- Design patterns
- Secure coding practices
DevOps & CI/CD
- Git version control
- Jenkins, GitHub Actions, GitLab CI, or Azure DevOps
- Continuous Integration and Continuous Deployment (CI/CD)
- Automated testing
- Monitoring and logging tools
Databases
- SQL Server
- PostgreSQL
- MySQL
- MongoDB or other NoSQL databases
Testing
-
Unit testing
-
Integration testing
-
Test automation
-
Performance testing
-
Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field.
-
3+ years of professional software development experience.
-
Experience developing cloud-based applications.
-
Strong understanding of software development lifecycle (SDLC) and Agile methodologies.
-
Experience with source control systems and collaborative development.