Flutter Developer
Company: SoftMaji InfoTech Pvt. Ltd.
Location: Lucknow, Uttar Pradesh, India
Work Mode: On-site
Job Type: Full-Time
Experience: 1-3 Years
Department: Software Development
Employment Type: Permanent / Full-Time
Salary: ₹15,000 – ₹35,000 per month, depending on experience, technical skills, and interview performance
Application Instruction
As the first step of the application process, candidates are required to complete the skill assessment relevant to this position.
Take the skill test:
Certify Skill Tests
Please complete the test before submitting your job application.
Candidates who successfully pass the assessment should share their certificate along with an updated resume. Our recruitment team will review the submitted details and, if shortlisted, contact the candidate for the next stage of the selection process.
The assessment helps us understand your practical knowledge and familiarity with the skills required for this role.
Please ensure that all information provided during the application process is accurate and up to date.
SoftMaji InfoTech Pvt. Ltd.
About SoftMaji InfoTech
SoftMaji InfoTech Pvt. Ltd. is a technology company based in Lucknow, Uttar Pradesh.
We develop web applications, SaaS products, mobile applications, business software, digital platforms, and custom technology solutions for businesses and organizations.
As a Flutter Developer, you may work on both internal products and client projects, including applications that are actively used by real users.
You will work with developers, designers, backend developers, project managers, and other team members to develop, improve, test, and maintain mobile applications.
About the Role
We are looking for a Flutter Developer with 1-3 years of practical experience in Flutter and Dart development.
The candidate should be comfortable building production-ready mobile applications for Android and iOS using Flutter.
You should understand how to create responsive mobile interfaces, integrate APIs, manage application state, work with local storage, integrate Firebase and third-party services, debug application issues, and prepare applications for release.
This position is suitable for a developer who wants to work on real-world mobile applications rather than only tutorial or practice projects.
Key Responsibilities
Flutter Development
- Develop and maintain Android and iOS applications using Flutter.
- Build reusable and maintainable Flutter widgets.
- Convert UI designs into functional mobile interfaces.
- Develop screens, forms, dashboards, lists, tables, navigation flows, and other application components.
- Implement responsive layouts for different screen sizes.
- Follow clean and maintainable Flutter development practices.
- Maintain existing Flutter applications and add new features.
- Work with existing codebases and understand previously developed modules.
Dart Development
You should have a good understanding of Dart programming, including:
- Variables and data types
- Functions
- Classes and objects
- Constructors
- Inheritance
- Interfaces and abstract classes
- Mixins
- Collections
- Null safety
- Exception handling
- Futures
- Async/await
- Streams
- Generics
- Extension methods
- JSON parsing
You should be able to write clean and readable Dart code.
State Management
Strong understanding of application state management is required.
Experience with one or more of the following is expected:
- Provider
- Riverpod
- Bloc
- Cubit
- GetX
You should understand:
- Local state vs application state
- Managing API states
- Loading states
- Error states
- Form states
- Authentication states
- Sharing data between screens
- Avoiding unnecessary widget rebuilds
Candidates should be able to explain why they selected a particular state management approach for their projects.
API Integration
You should have practical experience integrating REST APIs into Flutter applications.
Responsibilities may include:
- GET requests
- POST requests
- PUT/PATCH requests
- DELETE requests
- JSON parsing
- Request headers
- Authentication tokens
- API error handling
- Loading states
- Pagination
- Search APIs
- File uploads
- Image uploads
- API response handling
Experience with packages such as http or Dio is preferred.
You should also understand how Flutter applications communicate with backend systems.
Firebase
Experience with Firebase is preferred and may be required depending on the project.
You may work with:
- Firebase Authentication
- Firebase Cloud Firestore
- Firebase Storage
- Firebase Cloud Messaging
- Firebase Analytics
- Firebase Crashlytics
- Firebase Remote Config
You should understand how Firebase services are integrated into Flutter applications.
Local Database & Storage
Experience with local data storage is expected.
Knowledge of one or more of the following is preferred:
- SQLite
- sqflite
- Hive
- SharedPreferences
- Secure Storage
You should understand how to:
- Store application data locally
- Retrieve stored data
- Update and delete local records
- Store user preferences
- Store authentication-related information securely
- Handle offline data where required
Mobile UI/UX
You should be comfortable creating clean and responsive mobile interfaces.
Responsibilities include:
- Implementing Figma or design specifications.
- Creating responsive layouts.
- Working with Flutter’s layout system.
- Using Row, Column, Stack, ListView, GridView and other Flutter widgets.
- Creating reusable UI components.
- Handling different screen sizes.
- Implementing forms and validation.
- Creating smooth navigation and user flows.
- Maintaining consistent typography, spacing, colors, and components.
- Handling keyboard, scrolling, loading, empty, and error states.
Good attention to UI details is important.
Android Development
You should understand the basic Android build and release process for Flutter applications.
Knowledge should include:
- Android Studio
- Android SDK
- Gradle basics
- Android permissions
- Debug APK
- Release APK
- Android App Bundle
- Signing configuration
- Keystore
- Build flavors, if applicable
- Version code
- Version name
- Play Store release process
Experience publishing Flutter applications on the Google Play Store is an advantage.
iOS Development
Basic understanding of iOS development and Flutter’s iOS build process is preferred.
You should understand:
- Xcode
- iOS Simulator
- iOS build process
- Bundle identifier
- Certificates
- Provisioning profiles
- App signing
- App Store Connect
- TestFlight
- iOS permissions
- Release builds
Experience publishing applications to the Apple App Store is an advantage.
Debugging & Troubleshooting
A major part of this role involves debugging real application issues.
You should be able to investigate:
- Application crashes
- UI issues
- API failures
- Slow screens
- Memory problems
- Build errors
- Android build issues
- iOS build issues
- Firebase issues
- Navigation problems
- State management issues
- Device-specific problems
You should know how to use Flutter and Android/iOS debugging tools to identify the actual cause of an issue rather than only trying random fixes.
Performance Optimization
You should understand the basics of Flutter application performance.
This may include:
- Reducing unnecessary widget rebuilds
- Using const widgets where appropriate
- Optimizing ListView and GridView
- Efficient image loading
- Avoiding unnecessary API requests
- Managing memory efficiently
- Reducing application startup time
- Optimizing animations
- Avoiding expensive operations on the UI thread
- Identifying performance bottlenecks
Experience with Flutter DevTools is an advantage.
Git & Version Control
You should have practical knowledge of Git.
You should be comfortable with:
git clonegit pullgit pushgit addgit commit- Branches
- Merging
- Pull requests
- Resolving merge conflicts
- Working with GitHub or GitLab
You should understand how to work safely in a shared development repository.
Development Tools
You should be comfortable using development tools such as:
- Flutter SDK
- Dart SDK
- Android Studio
- Visual Studio Code
- Xcode
- Git
- GitHub / GitLab
- Postman
- Firebase Console
- Android Emulator
- iOS Simulator
- Flutter DevTools
Technical Skills Required
Essential Skills
- Flutter
- Dart
- Android development
- REST API integration
- JSON
- State management
- Responsive UI development
- Git
- Debugging
- Basic mobile application architecture
Preferred Skills
- Firebase
- SQLite
- Hive
- Dio
- Provider
- Riverpod
- Bloc / Cubit
- GetX
- Push notifications
- Firebase Crashlytics
- Google Maps integration
- Payment gateway integration
- Deep linking
- App deployment
- Play Store publishing
- App Store publishing
Architecture & Code Quality
You should understand the importance of maintaining a structured Flutter application.
Experience with architectural approaches such as the following is preferred:
- MVC
- MVVM
- Clean Architecture
- Repository pattern
- Service layer
- Feature-based project structure
You should understand:
- Separation of UI and business logic
- Reusable services
- Reusable widgets
- Model classes
- API services
- Repository patterns
- Proper folder structures
- Maintainable code
You should avoid putting the entire application logic inside UI widgets.
Testing
Basic knowledge of testing is preferred.
Experience with:
- Unit testing
- Widget testing
- Integration testing
is an advantage.
You should at least understand the importance of testing important application functionality before release.
Third-Party SDKs & Integrations
Depending on the project, you may need to integrate third-party services such as:
- Payment gateways
- Google Maps
- Location services
- Push notifications
- Social login
- Firebase
- Analytics
- Camera
- Image picker
- File picker
- QR/barcode scanners
- WebView
- Deep links
You should be comfortable reading documentation and integrating third-party Flutter packages.
What You Should Know Before Applying
Before applying, you should be comfortable answering practical questions such as:
- What is Flutter?
- What is Dart?
- What is the difference between StatelessWidget and StatefulWidget?
- How does the Flutter widget tree work?
- What are Keys in Flutter?
- How does
BuildContextwork? - What are Flutter lifecycle methods?
- How does
setState()work? - What is state management?
- What is the difference between Provider, Riverpod and Bloc?
- How do you call a REST API in Flutter?
- How do you handle API loading and error states?
- How do you parse JSON?
- What is async/await?
- What are Futures and Streams?
- How do you store data locally?
- How do you implement authentication?
- How do you securely store sensitive information?
- How do you send push notifications?
- How do you debug a Flutter application?
- How do you reduce unnecessary widget rebuilds?
- How do you optimize a Flutter application?
- How do you generate an Android App Bundle?
- How do you create a release build?
- What is a keystore?
- How do you publish an application on Google Play?
- What is TestFlight?
- How does the iOS signing process work?
- How do you manage different environments such as development and production?
- How do you use Git in a team environment?
You should also be able to demonstrate your knowledge through practical coding or development tasks during the recruitment process.
Experience Requirements
1-3 Years
We are looking for candidates with practical Flutter development experience.
Your experience may come from:
- Professional employment
- Freelance projects
- Internship with substantial development experience
- Personal applications
- SaaS/mobile products
- Client applications
- Open-source contributions
You should be able to explain the applications you have worked on and clearly describe your own contribution.
Knowing Flutter syntax alone is not sufficient. You should understand how to build, debug, maintain, and improve a complete mobile application.
Education
Preferred qualifications include:
- B.Tech / B.E. in Computer Science or IT
- MCA
- BCA
- B.Sc. Computer Science / IT
- Other relevant technical qualifications
Candidates with strong practical development skills may also be considered irrespective of their exact educational background.
Salary
₹15,000 – ₹35,000 per month
The final salary will depend on:
- Relevant experience
- Flutter and Dart knowledge
- Practical development skills
- API integration experience
- State management knowledge
- Firebase experience
- Android/iOS knowledge
- Code quality
- Problem-solving ability
- Interview performance
- Previous project experience
Salary will be discussed during the final stages of the recruitment process.
Work Location & Working Conditions
Location: Lucknow, Uttar Pradesh
Work Mode: On-site
Job Type: Full-Time
This is an on-site position. Candidates should be comfortable working from our Lucknow office and collaborating with the development team in person.
Typical Work
Depending on the project, your work may include:
- Developing new mobile application features
- Creating new screens
- Integrating APIs
- Implementing authentication
- Implementing Firebase services
- Adding push notifications
- Building dashboards
- Integrating payment gateways
- Working with local databases
- Fixing application bugs
- Improving application performance
- Preparing Android releases
- Preparing iOS releases
- Maintaining existing applications
- Testing features before release
- Supporting production issues
What We Expect From You
We expect the candidate to:
- Write clean and maintainable Dart code.
- Follow a consistent project structure.
- Take ownership of assigned development tasks.
- Test features before submitting them.
- Communicate technical issues clearly.
- Learn new technologies when required.
- Read technical documentation independently.
- Work comfortably with existing codebases.
- Follow Git and development practices.
- Meet agreed development timelines.
- Pay attention to UI and functional details.
- Take responsibility for the quality of your work.
Who Should Apply?
You should consider applying if you:
- Have practical Flutter development experience.
- Understand Dart fundamentals.
- Have built real mobile applications.
- Can integrate REST APIs independently.
- Understand state management.
- Can work with Firebase.
- Understand responsive mobile UI development.
- Can debug application issues.
- Have experience with Git.
- Are interested in Android and iOS application development.
- Are willing to learn and work on real-world software products.
Who Should Not Apply?
This position may not be suitable if you:
- Have only followed Flutter tutorials without building projects.
- Cannot write basic Dart code independently.
- Have no understanding of REST APIs.
- Are unfamiliar with mobile application development.
- Are not comfortable debugging your own code.
- Are unwilling to work with existing applications.
- Are looking only for remote work.
- Are unwilling to participate in a technical assessment.
Documents / Information to Keep Ready
Candidates should keep the following ready:
- Updated Resume / CV
- Skill-test certificate
- GitHub profile, if available
- Portfolio or application links, if available
- Details of previous Flutter projects
- Current location
- Relevant work experience
- Notice period / availability
- Expected salary
If you have published applications on the Google Play Store or Apple App Store, sharing those links is recommended.
Recruitment Process
1. Skill Assessment
Complete the relevant skill test:
2. Certificate Submission
After successfully passing the assessment, share your certificate along with your updated resume.
3. Resume Screening
Our team will review your:
- Experience
- Technical skills
- Projects
- Resume
- Test result
- Previous work
4. Technical Interview
The technical discussion may cover:
- Flutter
- Dart
- State management
- APIs
- Firebase
- Mobile UI/UX
- Local storage
- Debugging
- Git
- Android/iOS development
- Your previous projects
5. Practical / Coding Assessment
Depending on the candidate profile and position requirements, a practical development task may be provided.
6. HR / Final Discussion
The final discussion may cover:
- Salary
- Joining date
- Work location
- Working expectations
- Employment terms
7. Selection
Selected candidates will receive further communication regarding joining and onboarding.
Important Note
Passing the skill assessment does not guarantee selection.
The assessment is one part of the recruitment process. Final selection will depend on your overall profile, technical knowledge, practical development skills, interview performance, experience, and the requirements of the position.
Please provide accurate information about your experience, projects, and technical skills.
We are looking for developers who can build, understand, debug, and maintain real mobile applications, not just candidates who know the names of Flutter technologies.
Position Summary
Position: Flutter Developer
Experience: 1-3 Years
Location: Lucknow, Uttar Pradesh
Work Mode: On-site
Job Type: Full-Time
Salary: ₹15,000 – ₹35,000/month, depending on skills and experience
First step: Complete the skill assessment.