Software Engineer (Flutter)

  • Full-time

Company Description

Portonics is a team of technology consultants that specialize in application design, software & mobile application development. Our goal is to help clients understand and make full use of digital technology that can heighten brand awareness and lead to better business.

We are a diverse team of engineers, analysts, and solution architects working on the latest technologies, and running a wide range of projects from business-critical applications to applications serving a large number of customers daily. 

We build and manage in-house, client products, and end-to-end services locally and globally. Services include server management, software management, networking, development, deployments, information security, and consultancy.

We are an agile team who are very passionate about what we build. We design solutions to reduce/automate operations. Along with building custom solutions, we leverage open-source technologies. Our teams build, manage, and automate monitoring systems, alerting, and deployments.

As a digital transformation team, we are big on Dev, DevOps culture, and collaboration.

Job Description

ABOUT THIS POSITION

We are searching for a brilliant, flexible Flutter Developer to create novel apps that meet the needs of our clients and end users. To this end, the Flutter Developer's responsibilities include writing and proofreading code, liaising with team members within and outside of their department, and monitoring client feedback. Over time, you will also be required to create app updates.

To ensure success as a Flutter developer, you should demonstrate proficiency in one of the mainstream programming languages and a sound understanding of the traditional product life cycle. An exceptional Flutter Developer will be fearless but respectful in the pursuit of excellence, continually striving to shape how Android apps impact the world around us.

If you have the ability to learn and adapt to new technologies quickly then the below applies to you:

  • A self-starter and self-directed once the strategy, architecture, and roadmap are aligned;
  • Design and build advanced native applications for the Android platform;
  • Conceptualizing and formulating apps that are suitable for use on all types of Android/iOS/Web browsers;
  • Implementing measures to safeguard users' data;
  • Proofreading your code and correcting mistakes before each app is released;
  • Collaborating with UI and UX Designers, as well as Software Testers, to ensure that each app is presentable and in perfect working order;
  • Monitoring app reviews to detect areas for improvement;
  • Able to find opportunities to add value and execute solutions;
  • Creating app updates, including bug fixes and additional features, for release.
  • Maintain awareness of technology trends and issues and apply that knowledge to app development;
  • Participate in the end-to-end product life cycle: confirming requirements, solution design, development, testing, and implementation; 
  • Work with team members to design solutions that are supported by the architecture of the existing systems;
  • Resolve complex technical issues and drive innovation;
  • Take ownership of your work through all phases;

Qualifications

Bachelor's Degree in Computer Science or related field; with 3+ years of industry experience including full-stack native Android platform, web development, building core UI frameworks, or equivalent combination of education, training, and experience;

Must have:

  • Proficiency in Dart;
  • Working experience in a native platform (Android / iOS);
  • Ability to use the Android Studio / VS Code/Xcode, including the Android SDK, Emulators with ease;
  • Deep understanding of OOP, state management, flutter flavors, and app architecture;
  • Familiarity with RESTful APIs for connecting Flutter applications with back-end services;
  • Experience with BLoC/ Provider/Riverpod architectural patterns and other software design patterns.
  • Hands-on experience in Material Design, solid design skills, and ability to write efficient, clean, and reusable code;
  • Experience with Data Streams, Dependency Injections, Navigation router;
  • Working experience with Firebase services like Crashlytics, Performance Monitoring, Cloud Messaging (FCM) & Cloud Storage;
  • Working experience with Apple Push Notification service; 
  • Experience with Huawei mobile services (HMS) integration;
  • Proficient with Git, Gradle & ProGuard scripts;
  • Experience with writing units and instrumented tests;
  • Experience with third-party libraries/SDK integration;
  • Experience in using Flutter/Dart dev tools;

Good to have:

  • Familiarity with Android lifecycle, and coroutines.
  • Clear understanding of Android services, thread, intent, broadcast, database, and file/settings/permissions management;
  • Experience regarding gRPC/GraphQL-based API service integration with flutter apps;
  • Experience with Flutter unit tests;
  • Familiarity with Google Play console;
  • Familiarity with Postman;
  • Experience in publishing and maintaining applications to Playstore/Appstore;

Additional Information

  • Communication is extremely important; our team members work across every team in the organization. Candidates need to be able to communicate not only with other developers but also with management, non-tech team members & external parties.
  • Someone who will take ownership of a feature or application from initial conception through release while also assisting others when the need arises.
  • Have an understanding of virtualization and containerization as a tool for growing scalability, reliability, and expediency.
  • Ability to learn and teach new technologies and skills as new technology is introduced.
  • Sound mature judgment and decision-making ability.
  • Strong analytical and problem-solving skills.
  • We are looking for honest, dedicated, and responsible individuals.
  • This is a hybrid position and will require you to come to the office and work from home.