Corporate · onsite · online training worldwide
contact@DevOpsSchool.com· +91 99057 40781·
> Cross-Platform App Development · DevOpsSchool Trainer

Flutter Trainer

Private corporate batches, live online cohorts and 1-on-1 mentoring in one Dart codebase compiled to native mobile, web and desktop — widgets, layout, state management and release — taught by a practitioner who runs it in production.

20 years across DevOps, SRE and Security · 10,000+ engineers trained · Trained teams at JPMorgan Chase, Verizon, Nokia and the World Bank

DeliveryOnline · Onsite · Hybrid
FormatsCorporate · 1-on-1 · Cohort
AgendaCustomisable
Batch size8–30 engineers
Engineers we've trained work at
JPMorgan ChaseBank of AmericaWells FargoVerizonNokiaWorld BankGE HealthcareVMwareOracleQualcommMercedes-BenzAirbusDatadogSplunkDeloitteInfosysWiproCapgemini
# who teaches it

Your Flutter trainer

Rajesh Kumar

Principal DevOps Engineer & Architect

20 years in productionPrincipal / architect roles10,000+ engineers trainedM.Tech BITS Pilani25+ certifications

Rajesh teaches Flutter from the widget tree outward — why everything is a widget, what actually rebuilds when state changes, and how the element and render trees underneath explain both layout behaviour and performance. Sessions work through the full progression rather than stopping at screens: Dart language fundamentals, layout and constraints, forms and validation, navigation with named and generated routes, then state management compared honestly across setState, InheritedWidget, Provider, Riverpod and BLoC, with the criteria for choosing between them. The engineering half is covered against a running application — REST and JSON serialisation, local persistence with SQLite, Firebase authentication and storage, platform channels for native code, animation and custom painting, unit, widget and integration testing, and building signed release artifacts for both stores.

Twenty years across DevOps, SRE and Security, in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe and others. He has trained engineers at JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus — more than 10,000 people personally. He teaches what he runs, not what he reads.

One practitioner, not a bench

You are booked with a named engineer, and that is who turns up. Marketplaces and larger providers rotate whoever is free, so the person who sold you the agenda is rarely the person teaching it.

The same trainer is available for the next engagement, which matters when a team builds on what it learned last time.

18,000+certified learners
500+corporate batches delivered
50+countries served
100+certification programmes
# faculty

Who delivers Flutter engagements

Your batch is assigned a named trainer before it starts, and that is who teaches it. See the full faculty.

How your Flutter trainer is chosen

Engagements are matched on the tool, not the calendar. For Flutter that means a trainer who has run it in production — one Dart codebase compiled to native mobile, web and desktop — widgets, layout, state management and release — rather than whoever is free that week. You are told who is teaching before you commit, and that person is on the discovery call that shapes the agenda.

Where a batch is large enough to need a second trainer, the pairing is declared up front. The lead trainer stays accountable for the syllabus and the assessment either way.

Rajesh Kumar

Principal DevOps Engineer & Architect

India20 yrsLead trainer

Twenty years across DevOps, SRE and Security in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe, IBM/Emptoris, Ness, MindTree and Accenture. He has trained more than 10,000 engineers personally, at organisations including JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus. He teaches what he runs, not what he reads.

Pranab Kumar

IndiaInstructorCoach

Rohit Ghatol

IndiaInstructorCoach

Amit Agarwal

IndiaInstructorCoach

Anil Kumar

IndiaInstructorCoach

Balachandran Anbalagan

IndiaInstructorCoach

Durga Prasad

IndiaInstructorCoach

Gaurav Aggarwal

IndiaInstructorCoach

Harsh Mehta

IndiaInstructorCoach

Kapil Gupta

IndiaInstructorCoach

Kunal Jain

IndiaInstructorCoach

Nikhil Gupta

IndiaInstructorCoach

# how to engage

Four ways to work with this trainer

Private corporate batch

Teams of 8–30

Custom agenda, your timezone, onsite or online, NDA-friendly.

Request a quote

1-on-1 mentoring

Individual engineers

A private instructor and a curriculum built around your goal.

₹99,999

Live & Interactive cohort

Individuals who want peers

Scheduled batch, max 8 to 10 hours of live instruction.

₹34,999

Self-paced video

Self-starters

Full LMS access — 20+ courses and 50+ tools included.

₹833/mo
# private batches

Private Flutter training for your team

A private batch starts with a discovery call. We look at the stack you actually run — the CI system, the cloud, the constraints — and map the agenda onto it, so examples use your topology rather than a generic one.

Delivery is onsite at your premises, live online, or hybrid, scheduled around your release calendar rather than ours. Batches run 8 to 30 engineers.

Every attendee leaves with recordings, slides, lab repositories and a completion certificate. You receive an attendance and assessment report. Invoicing supports PO and GST.

Talk to us about a private Flutter batch

What you provide vs what we bring

  • You: the room or the call, and the engineers
  • Us: trainer, agenda, labs, assessment, certificates
  • Labs: we guide your team through provisioning their own free-tier cloud environment — the skill goes with them
# the technology

What is Flutter?

Flutter is Google's open-source toolkit for building applications for Android, iOS, web, Windows, macOS and Linux from a single codebase written in Dart. Its defining choice is that it does not wrap the host platform's native controls. Flutter ships its own rendering engine and paints every pixel itself, which is why an application looks and behaves identically across platforms and why its widgets are portable in a way that platform-bridging frameworks never quite achieve.

The architecture has three layers. A C++ engine handles rasterisation, text layout and platform channels. Above it sits the Dart framework — the foundation library, then the widget layer that developers actually work in. Everything in that layer is a widget: not just buttons and text, but padding, alignment, gesture detection and theming. Widgets are immutable descriptions of what the interface should look like for a given state, and the framework rebuilds the tree whenever that state changes. StatelessWidget and StatefulWidget cover the basic split; beyond them sit the state management approaches — setState, InheritedWidget, Provider, Riverpod, BLoC — that decide how an application scales past its first few screens.

Dart is what makes this work in both development and production. During development, the just-in-time compiler enables stateful hot reload, so a change appears in a running application in under a second with state preserved. For release, Dart compiles ahead of time to native ARM or x86 machine code on mobile and desktop, and to JavaScript or WebAssembly on the web. Flutter is therefore genuinely compiled rather than interpreted at runtime, which is the source of most of its performance argument.

Why this skill matters now

Building the same application twice — once in Kotlin and once in Swift — is a cost most organisations have stopped being willing to pay. A single codebase halves the feature backlog, removes an entire class of behavioural divergence between platforms, and lets one team own the product rather than two teams negotiating parity.

Flutter has become the default answer to that problem for a large share of new mobile work. It is used across consumer applications, internal enterprise tools, kiosk and point-of-sale software, and increasingly desktop utilities, and its package ecosystem now covers the integrations that used to force teams back to native code. The demand shows up as a specific role — a Flutter developer expected to ship to both stores, not a mobile generalist.

The skills gap is in the second half of the work. Laying out a screen is quick to learn; what organisations hire for is state management that survives a growing application, correct asynchronous handling, integration with real backends and native platform code, performance work against jank and rebuild cost, testing at the widget and integration level, and a release pipeline that produces signed store artifacts reliably.

Flutter training
# outcomes

What your team can do afterwards

Explain Flutter's architecture — engine, framework, widget, element and render trees — and use it to reason about layout and performance
Write idiomatic Dart: null safety, futures and async/await, streams, collections, classes, mixins and generics
Build any screen from Flutter's layout primitives and diagnose overflow and constraint errors from the widget tree
Handle user input properly: gestures, forms, validation, controllers and focus management
Choose and implement a state management approach — setState, Provider, Riverpod or BLoC — and defend the choice for a given application size
Navigate between screens with named routes, arguments, nested navigation and deep links
Consume REST APIs with correct asynchronous handling, JSON serialisation and error states
Persist data locally with SQLite and shared preferences, and integrate Firebase authentication, storage and databases
Build custom animations, transitions and painted graphics, and keep frame times inside budget
Test at unit, widget and integration level, and produce signed release builds for the Play Store and App Store
# curriculum

12 modules. Live demos in a real lab, not slides.

01Flutter, and the architecture underneath itLive & Interactive5 hrs · 2 assignments · 1 capstone

What Flutter is and what makes it structurally different from platform-bridging frameworks. The engine, foundation library and widget layer; the widget, element and render trees and how they relate; the rendering pipeline; and an honest account of Flutter's advantages, disadvantages and the cases where native development is still the right call.

Topics: What Flutter is and what makes it unique · Features, advantages and genuine disadvantages · A short history and the current release train · Architecture: engine, foundation library, widgets · Widget tree, element tree and render tree · How rendering works, and what a frame costs · Platform channels and the boundary with native code · Flutter compared with React Native, Kotlin Multiplatform and native · Prerequisites, audience and the problems Flutter solves

  • Assignments: (1) Explain what happens between a setState call and a repainted pixel; (2) Assess one existing application and argue for or against a Flutter rewrite
  • Capstone: Produce an architecture note choosing Flutter or native for a specific product, with reasoning
02Environment, tooling and the first applicationLive & Interactive5 hrs · 2 assignments · 1 capstone

Getting to a running application on a real device. Installing the Flutter SDK and platform toolchains on Windows, macOS and Linux, Git and IDE setup, flutter doctor and the errors it reports, project structure, the pubspec, and the development loop that hot reload makes possible.

Topics: System requirements and installing the Flutter SDK · Installing Git and the platform toolchains · Android Studio, IntelliJ IDEA and Visual Studio Code setup · flutter doctor and resolving what it reports · Creating a project and reading its structure · pubspec.yaml, dependencies and assets · Emulators, simulators and physical devices · Hot reload vs hot restart, and when each is not enough · DevTools: inspector, performance and logging · Codemagic and other build services

  • Assignments: (1) Set up a working toolchain and run an application on both an emulator and a real device; (2) Add a package and an asset to a project and use both
  • Capstone: Build the development environment and starter project you keep for the rest of the course
03Dart for Flutter developersLive & Interactive5 hrs · 2 assignments · 1 capstone

The language, taught as Flutter actually uses it. Types, variables and functions; control flow; classes, constructors and object orientation; final and const and why const matters for rebuild cost; null safety; collections and the functional methods used constantly in widget code; then futures, async/await and streams.

Topics: Data types, variables and type inference · Functions, named and optional parameters, arrow syntax · Operators, decision making and loops · break, continue and comments · final and const, and const constructors in widget trees · Classes, constructors, factories and inheritance · Mixins, abstract classes and interfaces · Null safety, late, and the null-aware operators · Collections: lists, sets, maps, spread and collection-if · map, where, reduce and the iterable methods · Futures, async/await and error handling · Streams, StreamController and async generators · Generics and typedefs

  • Assignments: (1) Refactor a procedural Dart script into classes with null safety enforced; (2) Consume an asynchronous data source with futures and again with streams
  • Capstone: Write a Dart data layer with models, serialisation and asynchronous access, tested without any UI
04Widgets — the building blocksLive & Interactive5 hrs · 2 assignments · 1 capstone

The idea the whole framework rests on. Stateless and stateful widgets, the build method, the widget lifecycle, keys and why they matter when lists reorder, and the core display widgets: Scaffold, AppBar, Container, Text, RichText, Image, Card and Icon.

Topics: Types of widget: stateless, stateful, inherited · The build method and when it is called · The State lifecycle: initState, didUpdateWidget, dispose · Keys, and what breaks without them · MaterialApp, Scaffold and AppBar · Container: why it exists and every property that matters · Text and RichText styling · Images: assets, network, fade-in and caching · Card, Icon and Divider · Material Design and Cupertino widget families

  • Assignments: (1) Convert a stateless screen to stateful and manage its lifecycle correctly; (2) Reproduce a supplied design using only core display widgets
  • Capstone: Build a complete static screen from a design specification, pixel-accurate on two screen sizes
05Layout and constraintsLive & Interactive5 hrs · 2 assignments · 1 capstone

The subject that causes most early frustration, taught through the rule that explains it: constraints go down, sizes go up, the parent sets position. Single-child and multi-child layout widgets, Row and Column with their alignment and sizing axes, Stack and positioning, Expanded and Flexible, and the overflow errors and how to read them.

Topics: How to lay out a widget: the constraint model · Single-child layout widgets: Center, Padding, Align, SizedBox · Row and Column: main axis, cross axis, alignment and sizing · Expanded, Flexible and Spacer · Stack, Positioned and IndexedStack · Wrap, and layouts that flow · Table and DataTable · Building complex nested layouts · Responsive layout: MediaQuery, LayoutBuilder, breakpoints · SafeArea, orientation and device differences · Reading and fixing overflow errors

  • Assignments: (1) Rebuild three real application screens from screenshots; (2) Fix five deliberately broken layouts, explaining the constraint failure in each
  • Capstone: Build a responsive screen that works correctly on phone, tablet and desktop widths from one widget tree
06Interaction — gestures, input and formsLive & Interactive5 hrs · 2 assignments · 1 capstone

Making the interface respond. Pointers and the gesture system, buttons and their variants, the input widgets, then forms in full: FormField, controllers, validators, focus handling, submission and the error presentation that decides whether a form is usable.

Topics: Pointers, hit testing and the gesture arena · GestureDetector and InkWell · Button types and their theming · TextField: retrieving values, controllers, obscuring, expanding, sizing · Checkbox, Radio, Switch and Slider · Range and image sliders · Creating a Form and using FormField · Validation, validators and error text · Focus nodes and keyboard navigation · AlertDialog: basic, confirmation, text field and option variants · SnackBar, Toast and Tooltip feedback · Progress indicators, linear and circular

  • Assignments: (1) Build a multi-field registration form with validation and submission handling; (2) Add gesture handling to a custom widget with correct hit testing
  • Capstone: Deliver a complete input flow with validation, feedback, loading state and error recovery
07Lists, grids and scrollingLive & Interactive5 hrs · 2 assignments · 1 capstone

Presenting collections without destroying performance. Basic lists versus builders, long and infinite lists, horizontal lists, grids by count, builder and extent, then slivers — CustomScrollView, SliverAppBar, SliverList and SliverGrid — which are how any non-trivial scrolling effect is actually built.

Topics: Basic lists and ListTile · ListView.builder and working with long lists · Horizontal lists and scroll direction · Separated lists and dividers · GridView.count, GridView.builder and GridView.extent · Pull to refresh and infinite scroll · How to use slivers, and what CustomScrollView is · SliverAppBar and its properties · SliverList, SliverGrid, SliverFixedExtentList and SliverToBoxAdapter · ScrollController and scroll position · List performance: keys, item extent and rebuild cost

  • Assignments: (1) Convert a non-performant list to a builder and measure the difference in DevTools; (2) Build a collapsing header with SliverAppBar over a mixed sliver body
  • Capstone: Build an infinite, filterable, pull-to-refresh feed with a collapsing header that stays at 60 frames per second
08Navigation and routingLive & Interactive5 hrs · 2 assignments · 1 capstone

Moving between screens and passing data. The Navigator stack with push and pop, returning results, named routes and route generation, arguments, nested navigators for tab and drawer shells, then deep links and the declarative Router API for applications that need URL-addressable state.

Topics: Creating routes and the Navigator stack · Navigator.push and Navigator.pop · Returning a result from a screen · Named routes and onGenerateRoute · Passing and validating route arguments · TabBar, TabBarView and DrawerNavigation · Drawer: adding it to Scaffold, populating and closing it · BottomNavigationBar and its properties · Nested navigators and per-tab stacks · Page transitions and Hero animations between routes · Deep links, URL strategy and the Router API · Route guards and authentication-aware navigation

  • Assignments: (1) Build a tabbed shell where each tab keeps its own navigation stack; (2) Implement a deep link that opens a detail screen directly with arguments
  • Capstone: Build a multi-screen application with named routes, guards, arguments and working deep links
09State managementLive & Interactive5 hrs · 2 assignments · 1 capstone

The decision that determines whether an application stays maintainable. Ephemeral state versus application state, setState and its limits, lifting state up, InheritedWidget as the mechanism everything else is built on, then Provider, Riverpod and BLoC compared on real criteria — testability, boilerplate, team size and rebuild control.

Topics: What state is: ephemeral state vs app state · setState and where it stops scaling · Lifting state up and prop drilling · InheritedWidget and InheritedNotifier · ChangeNotifier and Provider · Consumer, Selector and controlling rebuild scope · Riverpod: providers, scopes and testability · BLoC and Cubit: events, states and streams · Repository pattern and separating data from presentation · Dependency injection approaches · Choosing an approach for a stated application size and team · Testing state in isolation

  • Assignments: (1) Implement the same feature three ways — setState, Provider and BLoC — and compare; (2) Fix an application that rebuilds its whole tree on every change
  • Capstone: Refactor a prop-drilled application onto a single state management approach with a written justification
10Theming, animation and custom graphicsLive & Interactive5 hrs · 2 assignments · 1 capstone

Making it look right and move well. ThemeData, extending a parent theme and dark mode; implicit and explicit animation; AnimationController, Tween, curves, physics-based and Hero animations; then graphic manipulation with opacity, transforms, decoration and CustomPainter for anything the widget library does not provide.

Topics: Creating a ThemeData and extending the parent theme · Using a theme, and theme extensions · Dark mode and adaptive theming · Implicit animations: AnimatedContainer, AnimatedOpacity and friends · Explicit animation: AnimationController, Tween and curves · Physics-based animation · Hero animations across routes · Staggered and chained animations · Opacity, RotatedBox, Transform and BoxDecoration · CustomPainter and the Canvas API · ClipPath, shaders and gradients · Charts: line, bar and pie approaches in Flutter · Splash screens and their characteristics

  • Assignments: (1) Theme an application for light and dark mode from a single source of truth; (2) Build one custom-painted widget the standard library cannot express
  • Capstone: Deliver a themed application with a signature animated interaction that holds its frame budget
11Data — REST, local storage and FirebaseLive & Interactive5 hrs · 2 assignments · 1 capstone

Connecting the application to real data. HTTP clients, JSON serialisation and model classes, loading and error states done properly, then local persistence with SQLite and shared preferences, and Firebase for authentication, storage and real-time data — including the update-versus-set distinction that trips up most first implementations.

Topics: Accessing a REST API with http and dio · JSON serialisation: manual and code-generated · Modelling responses and handling errors · FutureBuilder, StreamBuilder and loading states · Caching, retry and offline behaviour · SQLite database concepts and the sqflite package · shared_preferences and secure storage · Firebase introduction and project setup · Firebase authentication: anonymous, email and Google sign-in · Firebase Cloud Storage for files · Realtime Database and Firestore · Firebase set vs update, and querying by range

  • Assignments: (1) Consume a paginated REST API with correct loading, empty and error states; (2) Persist and query data locally with SQLite, surviving an application restart
  • Capstone: Build an application backed by a real API with offline caching and authenticated access
12Platform integration, packages, testing and releaseLive & Interactive5 hrs · 2 assignments · 1 capstone

The last mile, which is where most courses stop and most projects struggle. Device integration for camera, contacts, permissions, URLs and maps; writing platform-specific native code; creating and publishing packages and plugins; the three levels of testing; and producing signed, sized, store-ready builds with a repeatable pipeline.

Topics: URL launcher, permissions, contacts and camera · Google Maps: appearance, markers and polylines · Writing Android-specific and iOS-specific code · Platform channels and method channels · Types of package, and developing a package or plugin · Publishing a package to pub.dev · Unit testing Dart logic · Widget testing: pumping, finders and matchers · Integration testing with flutter_driver and integration_test · Golden tests for visual regression · Performance profiling: jank, rebuild counts and the DevTools timeline · App size, tree shaking and deferred loading · Build flavours and environment configuration · Signing and releasing to the Play Store and App Store · CI/CD for Flutter builds

  • Assignments: (1) Write unit, widget and integration tests covering one complete feature; (2) Produce signed release builds for Android and iOS with separate dev and prod flavours
  • Capstone: Ship a complete application: native integration, tested, profiled, flavoured, signed and built by a pipeline

Need this mapped to your stack?

We rebuild the agenda around the tools you actually run.

Request a custom agenda
# hands-on

Labs and capstones your engineers actually build

LAB · LAYOUT

Screenshot to widget tree

Rebuild three real application screens from screenshots alone, then fix five deliberately broken layouts by reading the constraint failure in each error.

layoutconstraintsresponsive
LAB · STATE

One feature, three state approaches

Implement the same feature with setState, Provider and BLoC, then measure rebuild counts and testability to justify which one you would ship.

state managementproviderbloc
LAB · SCROLLING

An infinite feed that never janks

Build a filterable, pull-to-refresh infinite list with a collapsing SliverAppBar, then profile it in DevTools and bring every frame inside budget.

sliversperformancelistview
LAB · DATA

Real API, real failures

Consume a paginated REST API with proper loading, empty, error and offline states, cache results in SQLite, and prove behaviour with the network disabled.

httpjsonsqlite
LAB · TESTING

Cover a feature at three levels

Write unit tests for the logic, widget tests for the interface and an integration test for the flow, then break the feature and watch the right test fail.

testingwidget testintegration
CAPSTONE · SHIP IT

From empty project to signed builds

Take an application from creation through state management, navigation, API integration, theming, testing and profiling to signed Android and iOS release artifacts.

capstonereleaseflavours
# ecosystem

The tools Flutter sits next to

Dart
Firebase
Provider
Riverpod
BLoC
Android Studio
Visual Studio Code
Git
REST APIs
SQLite
Google Maps
GitHub Actions
Codemagic
Material Design

Who this is for

  • Android and iOS developers consolidating two codebases into one
  • Web and backend developers moving into mobile application development
  • Full-stack engineers who need to ship a mobile client without a second team
  • Startup and product teams building for both stores with limited headcount
  • Enterprise development teams building internal mobile and desktop tools
  • Technical leads evaluating Flutter against native and React Native

Pre-requisites

  • Programming experience in any object-oriented language — Java, Kotlin, Swift, C#, JavaScript or Python
  • Understanding of classes, objects, inheritance and interfaces
  • Comfort with a command line and with Git
  • Basic familiarity with HTTP and JSON
  • A machine capable of running an emulator or a physical Android or iOS device — macOS is required for iOS builds
# pricing

Straightforward pricing

Every plan includes 1 year of full LMS access — not just this course, the entire DevOpsSchool LMS: 20+ courses, 50+ tools, videos, quizzes, assignments and projects.

Self-paced video

₹833/mo

Billed yearly at ₹9,996

Enroll now

1-on-1 mentorship

₹99,999

Full program, private instructor

Enroll 1-on-1

Corporate / private batch

8–30 engineers · custom agenda · onsite or online · PO and GST invoicing

Get a custom quote

Refunds. If we cancel or postpone a cohort, you get a full refund within 15 days. There is no money-back guarantee otherwise.

Terms. Course material remains licensed to the attendee. Read the terms.

Your data. We don't share it with third parties. Privacy policy.

Every attendee gets a verifiable certificate

  • Issued per attendee on completion
  • Verifiable at devopsschool.com/certificates
  • Hard copy available on request
  • Corporate batches receive an attendance and assessment report
DevOpsSchool

Flutter Training

Certificate of completion

# feedback

What engineers say

4.4 / 5 from 26 reviews on Trustpilot.

★★★★★
Basics explanation was exemplary from Rajesh where he dealt with complicated topics to be simple. Great learning stuff personally for me.
Krishna Mohan Yelleti · Trustpilot
★★★★★
Very detailed explanation and has lots of patience in attending the questionnaire. Thanks again for your wonderful sessions.
Uttam Samudrala · Trustpilot
★★★★★
Good discussion, helped us to understand different tools in SRE.
Prashant Saxena · Trustpilot
★★★★★
Got good lab sessions which kept the new DevOps tool learnings to the point and it helped a lot in my career.
robin son · Trustpilot
★★★★★
I took Terraform training with the tutor named Mithilesh. I requested to tailor the course curriculum for my needs. He did an excellent job of showing me how to write the Terraform script per the instructions provided.
jason smith · Trustpilot
★★★★★
My experience with the AIOps training was positive. The course covered important topics in a structured way, and Rajesh Kumar explained the concepts patiently. I found the practical aspects particularly helpful because they made the technical content easier to understand.
AARTI KUMARI · Trustpilot
# comparison

Why a named practitioner beats a marketplace listing

What mattersYouTube + blogsGeneric online courseFreelance marketplaceDevOpsSchool
Named practitionerNoRarelyVaries per bookingYes — same trainer each time
Production experienceUnknownUnknownUnverified20 years, named employers
Custom agendaNoNoSometimesBuilt from your stack
Onsite deliveryNoNoSometimesYes
Lab environmentNoneSandbox that expiresVariesYour own cloud — skill goes with you
AssessmentNoneQuizRarelyAssignments + capstone per module
Per-attendee certificatesNoSometimesRarelyYes
Corporate invoicingNoLimitedVariesPO and GST
Post-training supportNoneForum, time-limitedNoneLifetime forum access
# questions

Frequently asked

Do we need to know Dart first?
No. A full module covers Dart as Flutter uses it — null safety, classes, collections, futures, async/await and streams. Engineers who already write Java, Kotlin, Swift, C# or TypeScript pick it up inside a day, and we can compress or expand that module depending on the batch.
Can the agenda be customised for our stack?
Yes — that is the normal case for a private batch. We start with a discovery call, look at your backend, authentication, design system and target platforms, and rebuild the module list around them. Labs then build against your API rather than a sample one.
Do you deliver onsite?
Yes. Private batches run onsite at your premises, live online, or hybrid. You provide the room and the engineers; we bring the trainer, agenda, labs, assessment and certificates.
What lab environment do we need?
A development machine per attendee capable of running an emulator, plus the Flutter SDK and platform toolchains, which we set up together in the first module. iOS release builds require macOS; everything else works on Windows, macOS or Linux.
How long does a private Flutter batch take?
Typically five days. Dart, widgets, layout, interaction and navigation fit in three; state management, data integration, animation, testing and the release pipeline take the remaining two. A ten-day version adds a full guided project build.
Which state management approach do you teach?
All of the main ones, and the criteria for choosing between them. setState and lifting state up first, InheritedWidget to explain the mechanism, then Provider, Riverpod and BLoC compared on rebuild control, testability and boilerplate. If your team has already standardised on one, we weight the module toward it.
Do you cover desktop and web targets?
Yes, though the emphasis follows your product. The widget and state material is identical across targets; the differences — responsive layout, input models, window management, web rendering and URL strategy, and platform-specific packaging — are covered where they matter for your build targets.
What size are batches?
Private corporate batches run 8 to 30 engineers. Public Live & Interactive cohorts are capped at 10 so everyone gets time with the trainer.
Do attendees get a certificate?
Yes — every attendee receives a completion certificate, verifiable at devopsschool.com/certificates. Corporate batches also receive an attendance and assessment report.
Do you cover publishing to the app stores?
Yes. Build flavours, environment configuration, signing for Android and iOS, app size reduction, store artifact formats and a CI pipeline that produces release builds are all in the final module. Store review policy itself is outside our control, but the artifacts and the process are covered.
What happens if someone misses a session?
Sessions are recorded and available in the LMS, and attendees keep LMS access for a year. For public cohorts, a missed session can be picked up in a later batch.
What is your refund position?
If we cancel or postpone a cohort, you receive a full refund within 15 days. There is no general money-back guarantee, and GST and gateway fees are not refunded.

Still deciding?

Tell us the team, the stack and the timeline. You'll get a straight answer, not a sales sequence.

Talk to an advisor
# ready when you are

Book a Flutter trainer — or ask a question first.

  • No spam, no drip sequence
  • Syllabus in 60 seconds
  • A human reply within one business day

Prefer to call or email?

More ways to reach us on the contact page.

Talk to an advisorRequest a quote