Senior Software Developer - Vaughan, Canada - GFL Environmental

    Default job background
    Full time
    Description
    GFL Environmental is looking for an experienced and innovative Android/Java Senior Developer to join our dynamic team. The ideal candidate will be responsible for designing, developing, and maintaining high-quality mobile applications for our clients. You should have a strong understanding of the Android platform, Java programming language, and the ability to work closely with other team members to create seamless, efficient, and effective applications.

    Responsibilities:

  • Design, develop, and maintain efficient, reusable, and reliable Java/Kotlin code.
  • Design and develop advanced applications for the Android platform using Java/Kotlin and Android Studio.
  • Design and develop advanced web applications using Spring Boot and Java
  • Ensure the performance, quality, and responsiveness of applications.
  • Collaborate with cross-functional teams to define, design, and ship new features.
  • Unit-test code for robustness, including edge cases, usability, and general reliability.
  • Work on bug fixing and improving application performance.
  • Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
  • Lead the development process for Android applications, including making decisions on architecture and design.
  • Mentor junior developers and assist in their skill development.
  • Participate in code reviews and ensure adherence to software development best practices.
  • Requirements :

  • Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
  • 5+ years of experience in Java or Android development.
  • Proficiency in Java and familiarity with Kotlin.
  • Extensive experience with Android SDK, different versions of Android, and how to deal with different screen sizes.
  • Strong understanding of the Spring Core framework, Spring Security, Spring Data JPA, and other Spring projects.
  • Solid understanding of object-oriented programming and design patterns.
  • Familiarity with RESTful APIs to connect Android applications to back-end services.
  • Experience with Android UI design principles, patterns, and best practices.
  • Experience with offline storage, threading, and performance tuning.
  • Knowledge of the open-source Android ecosystem and the libraries available for common tasks.
  • Ability to understand business requirements and translate them into technical requirements.
  • Strong knowledge of code versioning tools, such as Git.
  • Excellent problem-solving skills and ability to work in a team environment.