Tech Stack
AndroidCloudFlutteriOSJenkinsKotlinObjective-COpen SourceSubversionSwift
About the role
- Design and Develop Mobile Applications using Flutter framework.
- Ensure that the performance & quality of developed applications meet industry standards.
- Cooperate with other developers in the process of building mobile applications
- Participate in design and code reviews
- Interact with other team members to incorporate their innovations and vice versa
- Identify and communicate best practices for mobile application development.
- Use knowledge of software development and product feature integration in order to architect end-to-end solutions for our customers.
- Have the ability to lead the entire feature lifecycle (from design to delivery phases) of mobile applications and products.
- Ability to define and review architecture, implementation and test specifications to ensure that the product architecture continues to meet high levels of scalability, resilience and fault-tolerance;
- Ability to execute the implementation specs with a team of engineers; demonstrated knowledge of coding modules;
- Ability to drive the integration and automated testing (at unit, functional and scale granularities) efforts to ensure that the product meets the requisite production quality metrics.
- Demonstrate designs using documents, flowcharts, layouts, diagrams
- Prepare any and all other regular and special documentation as needed.
- Be involved in active discussions on open source community forums, code reviews, and proposing, implementing, and testing blueprints to design production-grade solutions for our customers.
- Investigate and analyze software issues.
- Identify and address performance, scale, and other bottlenecks; and fix bugs in existing software.
- Follow software development lifecycle processes.
- Share team leadership responsibilities, including: Mentoring, coordinating activities, improving engineering processes, inspiring and motivating others, working as a promoter of new ideas and technology solutions in virtualization and networking space.
Requirements
- BS or MS in Computer Science / Electrical Engineering or related technical field
- Have two or more iOS/Android apps developed with Flutter. Either deployed on the AppStore/Google Play or available on Github.
- Proficient in multiple state management systems i.e. BLOC, Provider, Riverpod, GetX
- Experience in Swift (Objective C is a plus) and/or Android SDK (Kotlin)
- Experience in developing web, windows and mac applications with Flutter is a plus.
- Have a good understanding of the design patterns e.g. MVC, MVP, MVVM, VIPER.
- Familiarity with REST APIs to connect mobile applications to back-end services.
- Familiarity with Networking, Camera, Offline storage and Maps SDK.
- Understanding of iOS/Android design principles and interface guidelines.
- Familiarity with local and push notifications.
- Experience with third-party libraries and APIs.
- Experience with offline storage, threading, and performance tuning.
- Experience with Beta, Enterprise, App store and Playstore distribution.
- Experience with unit tests and architecting testable code.
- Test Driven Development
- Continuous Integration/Delivery
- Strong grip and proficient understanding of version control tools, such as git, mercurial, SVN, as well as experience with other development tools such as Jenkins and JIRA, etc.
- Thorough knowledge of software development best practices, including coding standards, code reviews, source control management, build process, continuous integration and continuous delivery.
- Strong software debugging and problem solving skills.
- Strong skills in information gathering and requirement documentation.
- Quick learner and ability to adapt to customer driven fast-paced development environments.
- Team player with outstanding collaboration and teamwork attitude.
- Excellent written and verbal communication skills.
- Excellent analytical and problem solving skills.
- Aptitude to learn new bleeding-edge technologies.