How to hire for a Flutter App Developer?

 Summary:

Google divulged Flutter application in 2017. Any SDK deals with either Android or iOS stage. What’s more, if any organization needs to make an application that both kind of clients can appreciate, at that point it turns out to be twofold the exertion, costs and very costly – what with 2 unique arrangements of groups taking a shot at it. Thus, a need to utilize a cross-stage alternative that will require just one group taking a shot at it and a lesser costly arrangement. It is a cross-stage structure that is blasting in the market. 

Standard Job Description:

Flutter is an open-source, multi-stage portable SDK which can be utilized to assemble iOS and Android applications with a similar source code. You can consider Flutter React Native however with the full help of local highlights.

undefined

When contrasted with different cross-stage based applications, the ones created on Flutter appear to be perfect and fresh, without causing you to feel that something is out of order. As additionally on Native applications (which implies the systems that deal with either Android or iOS), the UI and different highlights are exceptionally smooth. Be that as it may, cross-utilitarian ones appear to be feeling the loss of some element anywhere.  

undefined

Numerous organizations currently incline toward taking a shot at Flutter as the usability, mapping and ideas merit the cash.  

Even though, it is made by Google, its specialized engineering is entirely unexpected. It utilizes Dart as its programming language while other Android stages use Java or Kotlin.  

undefined

Prior designers took a shot at Android Studio to create applications for Android stage. It utilizes Emulators or Virtual Devices to run the applications. For each change, the engineers reconstruct the application and check it on emulators. In any case, it is a moderate procedure as the such forms can require some serious energy.  

undefined

undefined

With Flutter, the progressions show in a split second. To utilize this element however, the engineers need to receive new systems. They invest their energy building UI. In contrast to the local segments, Flutter UI runs on its motor and system. It utilizes gadgets from the list to manufacture UIs that underpins Android and iOS. 

Ripple additionally permits engineers to test at unit, useful just as UI level with a strong testing structure. It follows a ceaseless incorporation and conveyance practice to guarantee a quicker android application conveyance.

Key Job Responsibilities:

1. Experience developing with Dart, whether with Flutter or for the web 

2. Experience in structuring and refactoring the code, managing codebases on Git 

3. Experience in developing game applications for Android/iOS (using Unity, Unreal etc)  

4. Experience in deploying Machine Learning models to Android/iOS 

5. Experience with Java and/or Swift/Objective-C 

6. Experience launching and managing Production mobile apps 

7. Experience developing integrations with common APIs (e.g., Firebase, Twitter, Instagram, Stripe, Google etc.) 

8. Implementing 3rd party libraries, dependencies & REST-APIs (using JSON) in Flutter  

9. Building mobile apps from scratch to launch and managing LiveOps.  

10. Learning and adapting as per the requirement and ready to face new challenges. 

Ideal Candidate:

1. Candidate must have flutter and dart experience of minimum 1 year. 

2. Minimum 2 to 3 years of work experience in iOS / Android (Java/Kotlin and Objective-C/Swift). 

3. Experience of implementing 3rd party libraries, dependencies & REST-APIs (using JSON) in Flutter 

4. Experience in handling notifications, video players, location services, rest APIs, HTML/Web Views. 

5. Experience in handling user-friendly UI based on requirements in Flutter. 

6. Experience in building mobile apps from scratch to launch and managing LiveOps. 

7. Ability to learn and adapt as per the requirement and ready to face new challenges. 

Desired Education: 

Bachelor’s degree in Computer Science or similar. 

Certifications Associated: 

1. Associate Android Developer from Google (with relevant badges). 

2. Oracle Certified Associate Java Programmer 

3. Oracle Certified Professional Java Programmer 

4. Oracle Certified Professional Java Application Developer 

5. Oracle Certified Master Java Enterprise Architect 

Key Skills: 

React JS, React Native, Flutter, Kotlin, Mean, Dart, Swift, Java, J2EE, MySQL, Angular JS, Machine Learning, Ionic Mobile Development, JSON, Android SDK, Mobile Application Developer. 

Common Positions: 

1. Front-end Developer (Flutter) 

2. Flutter Developer 

3. React Native Developer 

4. Mobile Application Developer (Flutter) 

5. Dart (Flutter) Developer 

6. Mobility Developer- Dart & Flutter 

7. Hybrid Mobile Developer 

8. Senior Front-end/ UI Developer 

 

Screening Questions/Assessment Parameters:

1. Kind of Web and Mobile applications developed 

2. Platforms used for Mobile Application development (Flutter, Dart on IOS & Android: Exp on both is preferred) 

3. Technologies used for Web application development (REST API, UI, HTML, CSS) 

Basic Terminologies:

1. Application programming interface (API). A specification for how various applications can interact with a set of software components. Applications can include APIs for external use by other software. 

2. Appcache. An HTML5 standard that allows a web application to be cached and available offline. 

3. Hybrid app – A mobile application written in HTML, CSS, and JavaScript that uses a web-to-native abstraction layer, allowing the application to access mobile device APIs that pure web applications cannot access. 

4. Mobile application development platform (MADP). A development tool, sometimes including a mobile middleware server, that builds hybrid or native apps for each mobile platform from a single codebase.  

5. Mobile backend as a service (MBAAS). A service that connects mobile applications to cloud databases while also providing user management, push notifications, and social integrations. 

6. Mobile consumer application platform (MCAP). A MADP for developing mobile consumer apps. 

7. MQTT. A messaging protocol that is lightweight and provides network clients with a way to distribute information. 

8. Minimum viable product (MVP). A version of a product with only the features that are necessary to go to market. 

9. OAuth. A common open standard for authorization. 

10. Software development kit (SDK). A set of programming tools and resources built specifically to aid software development on a platform or technology. 

Industry Jargons: 

1. Write once, run anywhere (WORA). A description of a program’s ability to run on all operating systems. 

2. Cold restart. Quitting and restarting an application and its associated runtime. This contrasts with hot restart, where the process and/or runtime would not be terminated. 

3. Framework. The flutter library (packages/flutter in the main repository) that includes the bulk of the Dart classes exposed by Flutter, such as all the built-in widgets. 

4. Flakiness. The tendency of a test to occasionally claim that it has passed even though it is really a failing test. Usually caused by race conditions. Please treat flaky tests as failures; attempt to find the cause and fix it. 

5. Skia. The graphics library used by Flutter. 

6. Tool. The flutter program (started from bin/flutter on Unix systems, bin/linux.bat on Windows) that developers use to drive their work when using Flutter. 

7. Engine. The C++ (and Java and Objective C and…) side of Flutter. Defined in the engine repository. Includes Skia, Dart, and other low-level components. 

8. Embedder. The core of the Flutter engine is platform agnostic. But platforms that run Flutter applications need platform specific logic to wire up rendering to the native window toolkit, handle input events, etc. This platform specific logic is referred to as the Flutter embedder. 

9. Dynamic patching. The ability to update the Dart code of an app in the field by downloading a patch (of sorts) and providing it to the Dart VM, probably requiring a restart of the application. 

10. Dynamic extension loading. The ability to download some Dart code that wasn’t written when the app was first published, which adds a new feature to the app. 

Benchmark Profile: 

Benchmark Profile on LinkedIn (1) 

Benchmark Profile on LinkedIn (2) 

Benchmark Profile on LinkedIn (3) 

Benchmark Profile on RMS(1) 

Benchmark Profile on RMS(2) 

Benchmark Profile on RMS(3) 

undefined

Some of the parts have been contributed by Akshay Arora

References:

https://devada.com/51-mobile-development-terms-you-need-to-know/ 

https://github.com/flutter/flutter/wiki/Glossary