Remote Software Engineer, Backend Development - Senior

closed
Logo of Tucows

Tucows

πŸ’΅ $67k-$120k
πŸ“Remote - Canada

Job highlights

Summary

Join Tucows, a people-first company that values respect, trust, and flexibility, as a Backend Software Engineer responsible for designing, implementing, and maintaining server-side code for web applications, databases, and APIs.

Requirements

  • Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent work experience
  • 3+ years of professional experience as a backend software engineer or similar role
  • Proficiency in Python or Golang programming languages
  • Experience designing and implementing Restful APIs using web frameworks such as FastAPI or Gin
  • Experience with relational databases, preferable PostgreSQL and PL/pgSQL
  • Strong understanding of web technologies, protocols, and standards (e.g., HTTP, REST, JSON, XML)
  • Experience with Continuous Integration concepts and tools
  • Experience with version control using Git
  • Comfortable with agile methodologies, JIRA, and other project workflow tools
  • Excellent problem-solving skills and attention to detail
  • Ability to debug and troubleshoot issues in backend services and web applications
  • Ability to work independently as well as part of a team
  • Experience working remotely with a distributed team
  • Strong communication and collaboration skills

Responsibilities

  • Design and develop secure, scalable, reliable, and efficient backend services using appropriate technologies
  • Work closely with frontend developers to define API endpoints and request/response formats and contents
  • Design and optimize database schemas, write efficient queries, and ensure performance and reliability
  • Integrate third-party services, libraries, and tools into our applications architecture
  • Implement security best practices, such as encryption, authentication, authorization, and protection against common security vulnerabilities
  • Optimize code and system architecture for scalability, performance, and maintainability
  • Write unit tests, integration tests, and end-to-end tests to ensure the reliability and stability of our software
  • Debug and troubleshoot issues in new and existing systems
  • Participate in code reviews, provide constructive feedback, and contribute to a culture of continuous improvement
  • Document code, APIs, and system architecture to facilitate knowledge sharing and onboarding of new team members
  • Set up and maintain CI/CD pipelines to automate the process of building, testing, and deploying software updates

Preferred Qualifications

  • Experience with message brokers, with a preference for RabbitMQ
  • Experience with cloud services (e.g., AWS, Azure, Google Cloud) and containerization technologies (e.g., Docker Swarm, Nomad, Kubernetes)
  • Knowledge in API security frameworks, token management and user access control including OAuth, JWT, OpenAPI, etc
  • Knowledge in networking, system administration, operations and infrastructure
This job is filled or no longer available