stories of developers who managed it
Flutter development is gaining popularity. And we at Finam have noticed that it is not so easy for novice specialists to understand how to become a developer, how to navigate new technology. Therefore, in this publication we would like to give the floor to three of our young employees who will tell how they became Flutter developers, what technologies they had to master for this, and what difficulties they overcame.
The article may be useful to anyone who is looking for roadmaps on this path: where to start and what skills to master to start a career in the world of Flutter, what pitfalls there may be, and especially what young professionals should pay attention to.
Artem
Introducing Flutter
To remember how I started my journey in Flutter, I had to blow off the dust from my old notes. The first programming language that I, like many others, started with at school was Pascal. The university immediately started classes in C# (C Sharp) and Python.
At that time, I tried my hand at writing pet projects in Unity for Android, but at some point I learned about Flutter technology. A single code base for the web, for desktop and for mobile platforms – my first reaction can be described with the phrase “is it possible?” Naturally, I decided to try what it would be like to write one code and implement it on all platforms. What added motivation was that my friend, with whom I was sitting at the same desk at the time, also got excited about it, and we began to support each other.
What tools and sources helped?
When I started actively studying everything related to Flutter, like most people, I started with YouTube and the official documentation from Google. When this information was no longer enough, I switched to articles by Surf mobile application developers and various courses that were in the public domain.
If we talk about the technologies and tools that I independently studied at this stage, it is worth mentioning JSON Serializable, REST, Shared Preferences and Firebase. Moreover, without understanding what object-oriented programming (OOP) is and the principles of clean code (SOLID, KISS), it would be more difficult for me to integrate into the workflow. I was also lucky that by that time, as a freelancer, I had done a little UI/UX design and understood the principles of interface design.
What difficulties did you have to face?
Studying the theoretical basis is, of course, important. But the main and most difficult thing is practice. Without her, it was difficult for me at first. I learned how Flutter works not when I read dozens of articles or watched all the educational playlists on YouTube, but when I sat down to code myself.
There are many publications in the spirit of “Top 10 simple applications that a beginner developer should write.” So, you can take any of them and start coding everything, this develops an understanding of what the application structure should look like, hones the skills of clean code, state management, etc. And when you encounter some difficulties that prevent you from moving forward, you should Google videos and articles of a narrow focus that will help you solve the problem. And immediately apply the acquired knowledge in practice. Only in this case do they become truly useful, assimilated along with overcoming the next obstacle.
Writing Dart isn't really that difficult. But the devil is in the optimization details.
Starting a Flutter Developer Career
As I mastered Flutter, I was faced with the question of employment: I wanted to find a position as a junior or an internship. The main difficulty was finding adequate vacancies, which, due to the oversaturation of the IT sector after Covid, were few, especially from more or less well-known companies.
After getting hired, I continued to hone my skills, but I’ll be honest: you can endlessly comprehend this area. And no matter what interesting and complex tasks are posed at work, to solve them you need to constantly practice on your own pet projects. For example, now at the university, as part of my thesis, I am writing an application in Flutter, and this experience helps me write code more efficiently in Finam. And vice versa: work experience helps you write a higher quality thesis.
First achievements
To date, this application is my main achievement in the field of Flutter development. At my university there is an opportunity to defend a startup as a diploma, and I have already applied for a number of grants, where the interest of investors has been confirmed. Perhaps this educational project will turn into something more, but we still have to wait until then.
Marseilles
Introducing Flutter
My journey into Flutter development began with an interest in programming at school. Already at the university, while mastering the profession of a frontend developer, I learned about Flutter technology: my supervisor told me about the Dart language and the Flutter framework, and showed me an application that could be downloaded from the store. I was so excited about creating mobile applications for iOS and Android using a single code base that the very next day I started setting up the environment and soon launched my first pet project.
What tools and sources helped?
Both the official documentation and YouTube videos helped me master the Dart language. And also Stanislav Chernyshev’s book “Dart Fundamentals”, where complex topics were discussed using specific examples.
Mastering the Flutter framework also began with reading the documentation and continued with experiments with widgets, which I added one by one to that pet project. Then I found a number of publicly available prototypes and designs, and began trying to reproduce and upgrade them, creating more and more complex layouts each time.
What difficulties did you have to face?
After I wrote a series of pet projects, I realized that it is difficult to develop further without entering a professional environment. There was not enough advice from more experienced comrades who could help improve their skills in solving non-standard problems. After all, it’s the pros who can evaluate the quality of the code, suggest alternative solutions, and generally share their experience.
Also, in addition to a well-understood theoretical base, it was necessary to constantly monitor new trends and updates, since Flutter is developing very quickly, acquiring new functions. Separately, I had to get confused, delving into the specifics of each mobile platform (Android/iOS).
Start of a career
During my job search, it was important for me that a large company actively used Flutter. After filtering out the vacancies, I came across Finam. I was attracted by the fact that the team was full of experienced people, which created excellent opportunities for learning and growth.
An interesting internship awaited me at Finam. Initially, I applied for a middle vacancy: I decided, it wasn’t available, I’ll try to get it, if it doesn’t work out, I’ll draw conclusions. I had an interview, it lasted about two hours: the live coding was exciting, there were both theoretical and algorithmic parts. I didn’t qualify for middle school, but agreed to become an intern.
And I didn’t regret it. The internship was serious: we wrote a project for Google Play and the App Store from scratch, there was a team of interns, our own project, and a team leader. I remember when we finished work, the first downloads started, the first feedback – that was great, for which I am grateful.
First achievements
Perhaps this application can be called my first professional achievement. This project was not just a career step, but also sharpened my teamwork skills.
Based on the materials I have mastered, I can recommend the channel to beginners LazyLoad Dart on YouTube, these ones open video lessons And here's a roadmap.
Nikita
Introducing Flutter
My path to IT began with writing a project for Android in the 11th grade for entering a university. I first heard about Flutter at university, but I only began to delve into the details during a summer elective organized by one large company.
After that, I began to independently study the technology using YouTube videos and materials from various courses available on the Internet. Based on them, I made several pet projects. One, for example, allowed news from websites to be loaded into a mobile application. And the other is Rick and Morty content.
At the same time, the university was running a course in which Flutter development skills were in demand: there we were required to take part in the development of an analogue of the Moodle educational platform. This was a good time to get better at Dart and learn how to communicate with customers.
What tools and sources helped?
Although you can find most of the questions asked during interviews for any IT specialty on Reddit or StackOverflow, the advice to improve my knowledge of the gRPC (Remote Procedure Calls) system before the interview helped me. But my advantage was that we talked about this in my second year, and I didn’t have to master it from scratch.
In addition, to successfully work in a team in a company, you need not only to know Dart and the Flutter framework. You also need to have an understanding of the company’s business processes, how the development cycle works in practice (for example, the Agile methodology), so as not to “float” on work calls.
What difficulties did you have to face?
Now I can say that to successfully enter Flutter development, it is important not to rush. At the start, there may be a temptation to embrace the immensity in order to feel like a real front-end developer in a month. But when you start to rush, you miss various subtleties that can “shoot” later. I had this happen with futures – tasks that are executed asynchronously and complete (successfully or with an error) sometime in the future. Everything related to futures, async, await, Isolate, and parallel code execution is important to thoroughly understand before jumping into the fray.
I can also advise young professionals not to be afraid to go to interviews, because the ability to behave in them also comes with experience. I had several classmates who were so worried that, even knowing the answers to HR questions, the first 3-4 times they couldn’t put two words together.
Start of a career
When I felt that I was starting to understand a little, I decided to try my hand at a startup that made a marketplace; it took about three months. In August 2023, already in my third year, I saw a vacancy at Finama and soon started working here.
First achievements
If we talk about achievements, then for me success is the very fact of participating in the development of something large. I am glad that I was able to successfully complete the internship and join the staff.
For beginners, from the materials I have mastered, I can recommend this one handbook.
Resume
The path of a Flutter developer can be difficult, and our heroes, of course, are only at the beginning. But with the right amount of enthusiasm and determination, you can become a Flutter developer by starting with open sources. All the heroes of the article have come exactly this way, and the fact that they came to us is proof of their first successes.
For those who have already jumped into Flutter and are implementing their projects in it, we invite you to tell us in the comments how you mastered this technology.