Full-stack Software Engineer

Job Details

LocationKanata, ON, Canada
Job TypeContract Full-Time
IndustryInformation Tech/Com
Position ID 14293
Degree RequiredBachelor

Job Description

We are recruiting an experienced Full-stack Software Engineer to join our team to support our client in the automotive industry.

NOTE:

  • Hybrid

RESPONSIBILITIES:

  • Designing, developing, testing and maintaining software applications and products to meet customer needs
  • Involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements
  • Develop all components of software including user interface and server side also fall within this job function
  • 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, developin5g, 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 their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
  • Illustrate a dedication to quality, lots of initiative, and a very strong ability to collaborate with other members of your team, other teams, and other disciplines
  • Articulate effective unit testing practices and takes a test driven development approach
  • Validating code with unit-testing and mock frameworks (e.g., Mockito, MockK, or Robolectric)
  • Static and dynamic code analysis tools (e.g., SonarQube, Klocwork, Valgrind, or equivalent)
  • Profiling and performance optimization
  • Experience with Android debug tools (using ADB, logcat, doing ANR trace analysis, bug reports)
  • Process of using code revision tooling (such as Git) for creating

REQUIRED SKILLS & QUALIFICATIONS:

  • Bachelor's or WES-evaluated equivalent degree in software engineering, computer science, or a related field
  • 5 or more years of experience with a mix of HMI/GUI/UX and Middleware software development
  • Proficiency using multiple programming languages, including at least three years with Kotlin
  • Involved with a small feature or component over more over multiple releases
  • Development in a complex application ecosystem, such as: client and multiple servers, displays on multiple screens, databases, thread synchronization, networking, etc.
  • Working with visual designs and functional requirements, defining software architecture, developing, testing, shipping, and supporting applications with postmortem, crash, and stability analysis
  • Working with software design patterns and using Software Engineering practices
  • Familiar with the JetPack libraries and coroutines
  • Experience with dependency injection, Android services, Android build systems, databases (especially the Room database)
  • Advanced level of software engineering skills
  • Ability to work in complex architecture/app ecosystems
  • Familiarity with profiling and performance optimization, static code analysis, Android debug tools, crash analysis
  • Understanding of design patterns and UML
  • Previous experience working in an environment working with designers, testers, and engineers from other teams to collaborate on solutions

PREFERRED SKILLS & QUALIFICATIONS:

  • High level of experience with RoomDB and Gradle
  • Other JetPack libraries like LiveData, Life Cycle
  • Worked on both Android applications and inside the AOSP (including working with repo tool)
  • Build automation tools like Jenkins, GitHub actions
  • Industry specific experience with automotive development technology, specifications, and processes (CAN, ASPICE, FMEA, etc.)
  • Experience with design and development tools related to digital arts, animation, game development, or related fields

COMPENSATION & BENEFITS:

  • $72.00/ hour - $76.00/ hour (depending on experience)
  • Paid Benefits after 90 days (individual and family) – extended medical, out-of-country coverage, dental etc.
  • Pension eligibility, with employer match, after 1 full year of work (open enrollment every October)

MEDA offers an excellent referral bonus. Great candidates know great candidates.

MEDA Limited is an equal opportunity employer and does not discriminate in employment on the basis of any of the protected reasons as described in the Ontario Human Rights Code. We are committed to providing accommodation for persons with disabilities, as described in the Accessibility for Ontarians with Disabilities Act, 2005, reasonable accommodation requests will be reviewed and granted to those that request assistance during our hiring process.

A resume is required to apply to jobs. Login to your Account or Sign Up to start applying.
Loading...