Junior Backend Engineer
Summary
Builds and maintains backend services/APIs for a platform, writing REST APIs, working with databases (MySQL/MongoDB), caching (Redis), and async messaging (RabbitMQ) under senior guidance.
Job Summary
The Junior Backend Engineer will contribute to the development, testing, and maintenance of reliable backend services and APIs for the V-Thru platform. The role will work under the guidance of senior engineers to deliver well-scoped software that meets quality, security, and performance standards while continuously developing technical skills, knowledge, and ownership.
Key Responsibilities
Development & Delivery
- Implement assigned features, enhancements, and bug fixes across any product domain within the backend, adhering to established coding conventions.
- Develop and maintain REST APIs and backend services under the direction of senior engineers.
- Work with the platform's data and infrastructure stack — MySQL, MongoDB, Redis (caching), RabbitMQ (async messaging), and Docker-based local development — using Doctrine ORM/ODM where applicable.
Quality & Testing
- Write unit and integration tests for all delivered code; treat test coverage as a completion criterion.
- Write code that is maintainable, readable, and easy to extend.
- Debug reported issues by reproducing, identifying root cause, resolving, and adding regression coverage.
- Address feedback from code reviews and static analysis promptly.
Standards & Compliance
- Adhere to the team's engineering standards and conventions (code style, type safety, exception handling, database access, caching, testing, security, and data privacy).
- Follow established security, privacy, and secure-coding practices when handling customer and business data.
Technical Competencies
- Foundational computer-science knowledge — data structures, algorithms, and basic complexity — sufficient to implement well-scoped tasks correctly.
- Understanding of the software development lifecycle: writing, testing, reviewing, and shipping code.
- Awareness of common design patterns and core programming principles (e.g., separation of concerns, DRY, SOLID) — able to work within them when applied by the team.
- Comfort with at least one programming paradigm (object-oriented or functional) and demonstrated ability to learn unfamiliar languages, frameworks, and technologies quickly.
- Basic familiarity with databases and data modeling (relational and/or NoSQL).
- Working knowledge of version control (Git), APIs, and automated testing as everyday practices.
Learning & Aptitude
- Fast learner — picks up unfamiliar languages, tools, and codebases quickly with guidance.
- Good problem solver — breaks problems into manageable pieces and works toward the root cause.
- Curious — takes interest in how and why systems work.
- Adaptable — comfortable with changing tools, paradigms, and requirements.
Behavioral Competencies
- Coachable — receptive to feedback and quick to apply it.
- Detail-oriented and disciplined about quality and standards.
- Clear written and verbal communication in English.
- Ownership and accountability for assigned work.
Preferred Qualifications (Non-Essential) Competencies
- Experience with programming language such as Php or Python.
- Experience with a modern web framework (e.g., Symfony, Laravel, Django, Rails, Spring).
- Exposure to Docker and containerized development.
- Familiarity with NoSQL (MongoDB), caching (Redis), or message queues (RabbitMQ).
- CI/CD exposure; e-commerce or payment-integration experience.
Education
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related field.
- Equivalent practical experience may also be considered.
Experience
- 0–2 years of software development experience.
- Fresh graduates are welcome to apply.