Skip to Content

Software Developer (Backend-Developer)

--Ottawa--

Job Summary:

We are seeking a skilled Backend Software Developer to join our team. This role focuses on designing, developing, and maintaining robust server-side applications and infrastructure using a variety of technologies.

Location: Ottawa, Canada

Work Mode: Hybrid (3 days onsite)

Job Type: Contract

Eligibility: Canadian Citizen, PR Holder, or Valid Canadian Work Permit

Responsibilities:

  • Design and implement scalable backend systems using Python and Java
  • Develop and maintain RESTful APIs
  • Work with SQL and NoSQL databases, including PostgreSQL, MySQL, and Cassandra
  • Implement and manage message queuing systems using Kafka
  • Containerize applications using Docker and orchestrate with Kubernetes
  • Optimize application performance and ensure high availability

Technical Skills:

  • Strong proficiency in Python and at least one Python web framework (e.g., Django, Flask)
  • Programming Languages: Proficiency in Python
  • Expertise in SQL and database management (PostgreSQL, MySQL)
  • Knowledge of NoSQL databases, particularly Cassandra
  • Familiarity with message brokers, especially Apache Kafka
  • Proficiency in Linux operating system
  • Experience with containerization using Docker
  • Understanding of container orchestration with Kubernetes
  • Version control with Git
  • Software Development: Experience with software development methodologies and best practices
  • Data Structures and Algorithms: Strong understanding and practical application
  • Object-Oriented Design (OOD): Ability to apply OOD principles for flexible and modular software
  • Database Management: Knowledge of SQL and experience with both relational and NoSQL databases
  • Version Control: Proficiency with Git and experience managing complex branching strategies
  • Testing and Debugging: Expertise in software testing methodologies and debugging techniques
  • API Development: Experience in designing and implementing RESTful APIs
  • DevOps Practices: Familiarity with CI/CD pipelines and cloud platforms (e.g., AWS, Azure)
  • Experience with test-driven development and automated testing frameworks (e.g., Pytest)
  • Experience with Spring Boot framework for Java applications and Java, JavaScript would be nice to have

Soft Skills:

  • Problem-solving: Ability to analyze complex issues and develop innovative solutions
  • Communication: Excellent verbal and written communication skills
  • Teamwork: Ability to collaborate effectively in a team environment
  • Attention to Detail: Meticulous approach to coding and documentation
  • Time Management: Capacity to manage multiple projects and meet deadlines
  • Adaptability: Willingness to learn new technologies and methodologies

Qualifications:

  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
  • 5+ years of professional software development experience
  • Strong portfolio demonstrating proficiency in multiple programming languages and technologies
  • Commitment to writing clean, maintainable, and efficient code