Job Title :-Software Engineer(Java/Kotlin)
Location :-KANATA,ON,K2V 1C6
Duration :12+ Months Contract(With Possibility of extension)
***HYBRID / 4 days per week in the office***
Pay Rate Range : $60-75 /hr
Key Responsibilities:
1. Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
2. Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
3. Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
4. Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
5. Collaborate with cross functional teams like product owners, designers, architects etc.
6. Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
7. Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
8. Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
9. Support security practices to safeguard user data including encryption and anonymization.
10. Create user-friendly and interactive interfaces
11. Develop and maintain back-end applications like APIs and microservices using server-side languages
12. Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
Skills Required:
Kotlin – Fully leverages the modern Kotlin ecosystem to write type-safe, idiomatic code rather than treating the language as 'cleaner Java.' Confidently manages asynchronous architecture using Coroutines and Flows (SharedFlow/StateFlow) and naturally utilizes advanced language features like sealed classes and scope functions, Clean Code Architecture practices, command over jetpack compose components and MVVM architectural pattern.
Skills Preferred:
Java – Familiarity with modern Java and a solid grasp of Java-Kotlin interoperability, ensuring a smooth workflow when maintaining legacy Android codebases (e.g., older Activities, Services, or custom View groups). Should be comfortable bridging Java components with new Kotlin features, handling nullable annotations, and migrating legacy code to modern Kotlin standards where needed.
C++ – Basic comfort with modern C++ to read, maintain, or interface with low-level native libraries and HALs (Hardware Abstraction Layers). Ideally understands how to define and use Stable AIDL interfaces to handle safe, structured communication between native hardware layers and upper-level Kotlin/Java system services.
Experience Required:
Engineer 3 Exp: Prac. In 2 coding lang. or adv. Prac. in 1 lang. 6+ years in IT; 4+ years in development
#LI-NS1
#INDPRO
