Job Brief:
We are looking for a Senior Software Engineer (Flutter) to work with our team of talented engineers to design and build the next generation of mobile applications in a scalable manner.
Key Responsibilities:
- Delivering across the entire app life cycle – concept, design, build, deploy, test, release to app store and support
- Working closely with all team members to understand full stack functionality and architecture
- Gathering requirements around functionality and translate those requirements into elegant functional solutions
- Contributing ideas (technological and product) to enhance the overall app experience
- Optimizing performance for the apps
- Staying abreast with technological updates and implement technology improvements by utilizing blogs and forums
- Writing clean and maintainable code
Qualifications and Experience:
- Bachelors/Masters in Computer Sciences
- At least 5years+ of total experience in mobile development
- At least 4years+ experience with Flutter and Dart
- Must have built at least two Android and/or iOS apps with Flutter
- Ability to build pixel perfect layouts using widgets catalog of Flutter
- Familiarity with all the common state management techniques like Bloc, Provider and simple setState
- Hands on with making use of different kind of animations such as implicit, explicit and 3rd party tools such as Rive
- Knowledge of how RESTful APIs function and being able to connect Flutter applications to back-end services
- Knowledge of all different types of data parsing and storage techniques
- Understanding of how to write platform specific code for native Android or iOS inside a Flutter app by making use of mechanisms such as Platform-Channels
- Being able to use publicly available Flutter packages
- Being able to write Flutter packages and plugins
- Knowledge of third-party libraries/SDKs integration
- Excellent knowledge of Unit Tests, Widget Tests and Integration Testing
- Understanding of CICD workflow and hands on with relevant tools such as CodeMagic, Azure DevOps and App Center
- Knowledge of how to implement different mobile application security measures
- Deep understanding of MVVM architecture
- Good knowledge of collections, algorithms and well-known application frameworks
- Enthusiastic enough to understand the usage of different Firebase functions such as: Analytics, Crashlytics, Firestore, Authentication, Push Notifications, Remote Configuration etc.
- Good understanding of interactive application development paradigm under Android/iOS, memory management, file I/O, network programming, concurrency and multithreading
- Good understanding of design patterns (GOF)
- Good understanding of the full mobile development life cycle. Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Good understanding of code versioning tools, such as Git
- Understanding of Android and iOS design principles and interface guidelines
- Being able to make code reviews of peers and team members
- Continuously discover, evaluate and implement new technologies to maximize development efficiency
- Strong and innovative approach to problem-solving and finding solutions. Flexible and proactive/self-motivated working style with strong personal ownership of problem resolution
- Must possess a can-do attitude with strong Algorithmic skills
- Passionate and willing to deliver presentations on new technical designs and frameworks introduced by Google or any open source community
- Good communication skills (written and verbal, formal and informal)
- Accountable and takes ownership and a team player
Job Type: Full-time
Work Location: Remote