Job Title
Software Engineer(Java/Kotlin) Location : KANATA, ON, K2V 1C6 Duration : 12+ Months Contract (With Possibility of extension) Work Arrangement : HYBRID / 4 days per week in the office Pay Rate : $60-75 /hr
Key Responsibilities
Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
Collaborate with cross functional teams like product owners, designers, architects etc.
Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
Support security practices to safeguard user data including encryption and anonymization.
Create user-friendly and interactive interfaces
Develop and maintain back-end applications like APIs and microservices using server-side languages
Evaluate and incorporate emerging technologies and capabilities to deliver solutions, and monitor and participate 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 utilizes advanced language features like sealed classes and scope functions, Clean Code Architecture practices, command over Jetpack Compose components and the 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: Practical in 2 coding languages or advanced practice in 1 language. 6+ years in IT; 4+ years in development.
#J-18808-Ljbffr