Software Developer
Job description
About the role
Euna is actively searching for a talented Software Developer to become part of the team in Oakville, Ontario. In this full-time capacity, the successful candidate will be instrumental in the design, development, and ongoing maintenance of software solutions that directly enhance client services and internal operations. The role is centered on a passion for technology and a desire to contribute to projects that have a tangible impact. You will be responsible for crafting robust code and solutions that meet high standards of quality and reliability. Collaboration is a core value, and you will work hand-in-hand with various departments to ensure alignment between technical execution and business goals. This position offers the chance to grow within a supportive and dynamic engineering environment. Your work will help drive the innovation that defines the company's service offerings.
Key facts
What you'll do
- Analyze complex user requirements in partnership with product managers and designers, translating them into detailed technical specifications and architecture plans.
- Engineer, test, and launch scalable and high-performance software applications utilizing a spectrum of modern programming languages, frameworks, and libraries.
- Scrutinize pull requests and conduct thorough code reviews to ensure strict compliance with established coding standards, best practices, and architectural integrity.
- Diagnose, debug, and remediate intricate software defects and performance bottlenecks, implementing fixes that optimize stability and user experience.
- Architect, implement, and maintain robust APIs and microservices to enable seamless communication and data exchange between diverse systems and third-party services.
- Proactively research and assimilate emerging industry trends, new programming languages, and technological advancements to continuously refine and future-proof software solutions.
- Author clear and comprehensive technical documentation, including functional specifications, API documentation, and user manuals to support development and maintenance.
- Support the coordination and management of software release cycles, overseeing deployment pipelines to guarantee reliable, low-risk releases with minimal service interruption.
- Liaise closely with the QA engineering group to develop and execute rigorous test plans, manual tests, and automated scripts to validate functionality and ensure exhaustive test coverage.
- Guide and coach junior engineers and interns, sharing expertise and fostering a collaborative learning culture that elevates the entire team's capabilities.
- Actively participate in all Agile ceremonies, including sprint planning, daily stand-ups, sprint reviews, and retrospectives to promote continuous process improvement.
- Partner with the DevOps engineering group to optimize build processes, infrastructure as code, and deployment strategies to maximize system resilience and scalability.
- Conduct thorough unit testing and work in tandem with automation engineers to build and maintain test coverage that safeguards product quality.
- Evaluate and integrate appropriate software design patterns and principles to create maintainable, reusable, and efficient codebases.
Requirements
- Hold a Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a closely related technical field.
- Bring a minimum of three years of hands-on professional experience in software development, with a demonstrated focus on building web applications.
- Demonstrate advanced proficiency in at least one or more mainstream programming languages such as Java, C#, or Python, along with substantial experience utilizing modern JavaScript frameworks.
- Exhibit a strong familiarity with front-end frameworks such as React, Angular, or Vue.js, and understand their respective ecosystems.
- Possess a solid comprehension of relational and non-relational database management systems, including expertise in writing complex SQL queries and working with NoSQL data stores.
- Show comfort with source control management systems, specifically Git, including branching strategies, merge conflicts, and collaborative workflows.
- Apply strong analytical and logical reasoning skills to solve difficult problems and architect efficient software solutions.
- Communicate effectively in a team setting, articulating technical concepts clearly to both technical peers and business stakeholders who may lack a technical background.
- Adhere strictly to security, privacy, and data protection guidelines throughout the software development lifecycle.
- Display a high level of ownership, taking full responsibility for the code you write and the tasks assigned to you.
- Thrive in an agile environment, adapting quickly to shifting priorities and evolving project requirements.
- Maintain attention to detail to ensure that all deliverables meet the highest standards of quality and completeness.
- Willingness to engage in continuous learning and to mentor others in adopting new tools and practices.
Nice to have
- Hands-on experience with major cloud service providers such as Amazon Web Services, Microsoft Azure, or Google Cloud Platform, including their core services.
- Practical knowledge of containerization technologies like Docker and orchestration platforms such as Kubernetes for deploying and managing applications.
- Exposure to and practical use of continuous integration and continuous deployment pipelines, including tools like Jenkins, GitLab CI, or GitHub Actions.
- Prior work experience within a fast-paced startup environment or a history of successfully delivering products using Agile methodologies.
- A foundational understanding of common security practices, threat modeling, and secure coding techniques to prevent vulnerabilities.
- Experience with automated testing frameworks, including unit testing, integration testing, and end-to-end testing tools.
- Familiarity with infrastructure as code tools such as Terraform or CloudFormation.
- Previous exposure to microservices architecture and service-oriented design principles.
Practical notes
- This employment opportunity is based in Oakville, Ontario, and requires a full-time commitment of 40 hours per week.
- The compensation package for this role is competitive and will be determined based on the candidate's experience, skills, and market standards.
- Euna is prepared to sponsor work visas for international candidates who meet the necessary qualifications and requirements.
- Applicants are expected to come prepared to discuss their background, including sharing samples of previous work, code repositories, or project demonstrations during the interview stages.
- The ideal candidate is proactive, resilient, and capable of learning quickly in a fast-moving, high-growth environment.
- This role requires a commitment to excellence and a drive to contribute meaningfully to the company's strategic objectives.
- Successful candidates will integrate into a team that values transparency, collaboration, and innovation.
- Euna maintains a strict policy of equal opportunity employment, welcoming diversity and inclusion at every level of the organization.