Senior Python Developer
JOB TYPE: Full Time
LOCATION: Canada, Hybrid (GTA candidates preferred).
OVERVIEW
We are currently seeking competent individuals to fulfill the role of Senior Developer to join our team, which will focus on delivering our Software products.
Emtech Group Inc (ETG) is the leading provider of enterprise software quality engineering solutions for validating insurance carrier value chains. Our customers are enabled to deliver quality products while avoiding the expensive and embarrassing consequences from the exposure of production defect leakage.
You will join a highly self-organizing, high performing team to help invent and implement solutions and create tools to drive our company’s vision. This is an exceptional opportunity for someone who wants to have a business impact, dive deep into large-scale economic problems for several industry domains, get involved in international research programs, enable measurable actions, and experience new and emerging technologies.
RESPONSIBILITIES
- Work effectively as a senior team member, sharing responsibility, providing support, maintaining communication, and updating senior team members on progress.
- Understand requirements that drive the design of technical solutions.
- Design and develop elegant front-end interfaces, data visualization, and dashboards.
- Build quality code using modern tooling, testing frameworks, and programming patterns.
- Provide support for testing efforts and defect resolution.
- Create and maintain detailed design documents.
- Ability to quickly ramp up on and apply new technologies and processes.
- Provide peer review and quality control daily.
QUALIFICATIONS
Requirements / Must-Have Skills
- Must have experience working within a software company with enterprise customers preferred.
- Must be able to work in Canada. Preference will be given to those that can work hybrid (predominantly remote with some in office time) in the Toronto, Ontario area.
- Significant experience developing secure, maintainable, and observable software.
- Strong diagnostic and debugging skills.
- Significant (7+ years) software development and design experience in multiple domains – primarily desktop development and back-end services.
- 4+ years development experience with Python with significant experience developing Python Windows desktop and, to a lesser extent, full stack web applications and utilities.
- Extensive experience with Qt (version 6) and the Python bindings for Qt. PySide6 strongly preferred, PyQt to a lesser extent.
- Experience designing and developing applications that need to maintain backwards compatibility, providing clients with appropriate version migration options.
- Knowledge of various databases including relational and NoSQL.
- Strong understanding of OOPS concepts and familiarity with most or all of the following standard principles – DRY, SOLID, KISS, YAGNI, “Tell, don’t ask”.
- Experience writing unit and integration tests. Experience using web site and API test automation software.
- Able to prepare technical documentation.
- Experience working with product owners and managers, gathering requirements and developing specifications, designs, and software based on product owner inputs.
Nice to Have Skills
- Experience with graph modelling and graph model databases.
- Experience with combinatorial optimization as it applies to determining which combinations of workflows and parameters provide the most test coverage of an application that has been modelled as a graph.
- Experience with both monolithic and de-coupled architectures and the corresponding build processes and tools.
- Extensive experience with the tools used to create GUI Python applications for Windows, use of PyInstaller, MSI creation tools, and application signing.
- Experience with multiple software languages and frameworks from various domains, e.g. JVM and various JVM web services frameworks, C#, java/type script and Angular/Vue/React. Experience that you can use to evaluate various options for developing new software components.
- Experience developing software libraries and using the related tools (Maven, Nuget, etc.)
- Experience developing test automation systems using common libraries like Selenium.
- Exposure to TDD.
- Familiarity with NIST SSDF, OWASP, and other secure software development processes and guidelines.
- Familiarity with Python’s built in unit testing module.
- Experience with CI/CD tools and pipelines, e.g. GitHub actions.
- Experience and familiarity with multiple languages and software development domains.
Education and Certifications
- Diploma or bachelor’s degree in a technical field such as computer science, computer engineering, or related field required.
We thank all applicants for their interest and referral. However, only qualified candidates selected for an interview will be contacted.
How to Apply: Please submit your resume and cover letter to [email protected]. In your cover letter, please highlight your relevant experience and why you are the ideal candidate for this position. Only applications with a cover letter will be considered.
Emtech Group is an equal-opportunity employer and welcomes candidates from diverse backgrounds.