Job Purpose
As a Senior Software Engineer at Tarjama&, you will lead and contribute to all phases of the software development lifecycle, focusing on designing, developing, and optimizing scalable software solutions. You will collaborate with cross-functional teams to drive innovative projects, ensure best practices in coding and security, and mentor junior engineers while delivering high-quality, robust applications.
Duties & Responsibilities
Architecture & System Design
- Design, implement, and evolve scalable, efficient, and secure server-side microservices architecture aligned with business objectives and modern best practices
- Architect microservice-based solutions that promote decoupling, scalability, and maintainability using cloud-native tools and services
- Develop robust solutions for data storage, retrieval, and management using relational databases such as MySQL and PostgreSQL, as well as non-relational databases such as MongoDB and Redis
Development & Implementation
- Develop, maintain, and optimize high-performing applications and ensure seamless integration between components and microservices
- Write and maintain high-quality RESTful APIs and backend services to support communication between microservices, front-end applications, and third-party systems
- Configure and optimize backend services for client-facing applications, ensuring strong performance, scalability, and reliability
Testing, Optimization & Maintenance
- Regularly review, test, and optimize server-side code
- Conduct unit testing, integration testing, and end-to-end testing to ensure code quality and system resilience
- Debug, troubleshoot, and upgrade software while proactively addressing issues and ensuring system stability and continuity
Security & Compliance
- Design and implement robust security measures to protect data and ensure compliance with industry standards, with a strong focus on API security, user authentication, and microservices communication
- Establish and maintain security and data protection protocols across services and applications to safeguard sensitive information
Cross-Functional Collaboration
- Work closely with development, product management, and QA teams to design and implement innovative, high-impact software solutions
- Collaborate with DevOps to continuously improve software performance, scalability, and reliability
- Partner with product and design teams to understand user requirements and deliver solutions that meet both user needs and long-term business goals
Documentation & Best Practices
- Write and maintain comprehensive technical documentation covering software architecture, development, and deployment
- Promote and implement coding best practices, including unit testing, peer reviews, and automation
- Continuously improve by adopting relevant technologies, frameworks, and practices aligned with the team's goals and technical stack
Education, Experience & Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field
- 3-5 years of relevant experience in software development, with a focus on PHP and microservices architecture
- Proven hands-on experience with PHP frameworks such as Laravel, Slim, or CakePHP
- Extensive experience with web services, RESTful APIs, microservices, and relational and non-relational databases
- Strong experience with MySQL, PostgreSQL, MongoDB, and Redis
- Strong problem-solving and analytical skills, with a solid understanding of data structures, algorithms, and software design
- Experience with containerization technologies such as Docker and Kubernetes
- Experience with cloud infrastructure such as AWS, Azure, or Google Cloud
- Experience with Git version control and CI/CD pipelines
Behavioral Competencies
- Initiative
- Problem Solving
- Team Oriented
- Adaptability
- Ability to Work Under Pressure
Technical Competencies
- Web Software Design
- Software Testing
- PHP
- PostgreSQL
- Redis
- Elasticsearch
- AWS
- Git Version Control
- CI/CD Pipelines
Please note that this job description does not state or imply that these are the only duties to be performed by the employee. The incumbent may be required to perform other duties necessary for the effective operation of the department.