- Company Name
- Tucows Domains
- Job Title
- Backend Software Engineer (Intermediate)
- Job Description
-
Job Title: Backend Software Engineer (Intermediate)
Role Summary: Design, develop, and maintain secure, scalable server‑side services, APIs, and databases for a global web platform. Collaborate with front‑end, product, and operations teams to deliver reliable, high‑quality software.
Expectations: 5+ years of backend engineering experience; strong problem‑solving and debugging skills; effective independent and team collaboration; proactive communication; remote‑first working style; commitment to code quality and continuous improvement.
Key Responsibilities:
- Architect and implement backend services and RESTful APIs using modern frameworks (e.g., FastAPI, Gin).
- Design and optimize relational database schemas, primarily PostgreSQL, and write efficient SQL queries.
- Define and enforce API contracts with front‑end developers; document data formats and endpoints.
- Integrate third‑party services and libraries; manage authentication, authorization, encryption, and other security best practices.
- Develop comprehensive unit, integration, and end‑to‑end tests to ensure system reliability.
- Troubleshoot, debug, and refactor existing codebases for performance and maintainability.
- Participate in code reviews, provide constructive feedback, and promote a culture of quality.
- Write clear documentation of code, APIs, and architecture for onboarding and knowledge sharing.
- Configure and maintain CI/CD pipelines to automate build, test, and deployment.
Required Skills:
- Proficiency in Python or Go (or equivalent modern backend language).
- Experience building RESTful APIs with FastAPI, Gin, or similar frameworks.
- Hands‑on relational database expertise, especially PostgreSQL (schema design, query tuning).
- Strong knowledge of HTTP, REST, JSON, XML, and web standards.
- Familiarity with CI/CD tools, Git, modern branching workflows, and agile practices (Jira, etc.).
- Solid debugging and problem‑solving abilities; attention to detail.
- Excellent communication, both written and verbal.
- Ability to work independently and collaboratively in a distributed team.
Nice to Have:
- Experience with message brokers (RabbitMQ), cloud platforms (AWS/Azure/GCP), containerization (Docker) and orchestration (Kubernetes, Docker Swarm, Nomad).
- Knowledge of API security standards (OAuth2, JWT, OpenAPI).
- Basic Linux system administration and networking.
Required Education & Certifications:
- Bachelor’s degree in Computer Science, Engineering, or equivalent practical experience.