10 Lessons Learned from Famous Mobile App Developers
Aug 5, 20206 min read
Chief Marketing Officer of Ideamotive. Travel addict and remote work advocate.
The only constant in the software development world is change. Therefore, software engineering experts need to regularly upgrade their skills to keep up to date in a fast-paced environment where things evolve at a breakneck speed.
In our experience with mobile application development, there are numerous ways to keep your skills sharp and grow your passion as a professional. One of them is capturing insights and perspectives from the world’s top mobile app developers.
Learning From The Best Helps Improve Mobile App Development
“Experience is a master teacher, even when it's not our own.” These words ring true in every context. Regardless of whether you’re a mobile app development veteran or a novice who still needs to gain a solid grounding in the subject, learning from the experience of others can save you from committing mistakes they have already made.
“Experience is a master teacher, even when it's not our own.”
By capturing lessons learned from the industry mentors, you can develop a set of standards and practices that will serve as your signpost for the future. Thanks to inspiring insights and stories, you can also anticipate and avoid project pitfalls, improving the outcomes of your work. Finally, lessons shared by mobile development authorities throughout their careers can spare your efforts in finding out what works, saving you enormous amounts of time along the way.
All in all, here’s how you can benefit by learning from the best:
Avoid common traps
Speed up mobile app delivery
Remove project constraints
Improve software quality and usability
Develop standards that facilitate further work
10 Lessons from the Top Mobile App Developers
We already know how the experience of others can guide us on how to move forward efficiently. Now, let’s cut to the chase and see what learning we can derive from world-famous software developers, architects, and designers.
Lesson 1: There’s no innovation without experimentation
Who: Brian Lovin @brian_lovin | UX and product designer. Currently designing native mobile apps at GitHub, formerly at Facebook and Buffer.
Planning is an essential component of mobile development. Yet, as the above tweet suggests, great features don’t always follow a meticulous design. Sometimes, they emerge through experimentation where developers and designers simply apply different concepts and ideas, trying to figure out what works best for them.
The conclusion? As a mobile developer, you should always leave some room for playful experimentation. Iterative project approaches such as agile provide a great environment to play it by ear and try and test various design and development ideas before committing to a single option.
Lesson 2: Aim for great, not perfect
Who: Nick Craver @Nick_Craver | Architecture lead and developer at Stack Exchange.
As Voltaire once said, “The best is the enemy of the good.” Or, as modern motivational speakers put it, “Perfect is the enemy of done.” Perfectionism is a vice of many software developers. If you’re guilty of it, too, try to let it go. Otherwise, you’ll find it impossible to succeed in a fast-paced environment.
Blindly chasing perfection holds you back. As you are endlessly trying to refine a typeface or figure out the ideal button size, others are already rolling out their imperfect applications and building app audiences. Most innovation-led companies continuously alter product goals and specifications, and they need engineers who can go with the flow and repurpose the current code quickly, according to the existing demand. There’s ALWAYS something to tweak, fine-tune, or revamp. That’s what upgrades are for.
While a relentless pursuit of perfectionism can get you into a blind alley (as we already learned from Nick Caver), resting on your laurels once your app’s out is equally a deadly trap. That’s because quality assurance is an ongoing process, which can never be considered 100% complete.
Are you rolling out a new app feature? Test it! Are you adding support for a new device or OS? Test it! Don’t ever assume things will work. Every time you introduce an update to your app, whether it’s an overhauled UI design, a new secret game level, or a tiny security patch, A/B test it with a smaller user group before you make it available to a broader audience.
Does that sound exhausting? Nobody said mobile app development was easy. (In case you prefer to leave it to someone else, we’re up for it!)
Lesson 4: Design with the user in mind. Always.
Who: Chet Haase @chethaase | Software engineer at Android/comedian.
Let’s face it: most mobile apps are doomed to failure. In the dog-eat-dog mobile apps market, churn is frequent, and companies struggle with keeping app users engaged. According to Statista, 71% of mobile users delete an app within three months from installation. Interestingly, the top reasons why mobile apps fail all center around end users, and include inadequate market research, poor understanding of key audiences, lousy UX/UI, and awful onboarding, to name a few.
It would seem that in 2020, EVERYONE understands the critical value of putting the user first. However, as the above hilarious tweet by one of the most notable mobile app developers in the USA illustrates, many devs still have a long way to go before they nail user-centricity. Until then, we still have to deal with this:
If you haven’t done it yet, make the ‘user-first approach’ your mantra. Start by getting familiar with UX best practices in mobile app development, and brush up on fundamental UX skills to finally start thinking like a user.
Lesson 5: Make friends with cross-platform development
Who: Mike Grabowski @grabbou | Co-founder and CTO at Callstack.com and React Native core contributor.
We know, that’s a toughie. Most Android and iOS mobile developers swear by their respective platforms, and the mere thought of becoming a cross-platform dev makes them shiver.
Nevertheless, the truth is that with the number of mobile app downloads exceeding 204 billion last year, the competition on the mobile applications market is fierce. Whoever rolls out an app first, wins, and cross-platform development gives businesses the advantage of tapping Android+iOS market potential in record time. The code once, run everywhere approach has its pitfalls, but the benefits such as fast development, code reuse, and consistent user experience across platforms make it an excellent choice.
Lesson 6: There are no one-size-fits-all solutions
Who: Rebecca Franks @riggaroo | Senior Android engineer by day (Over, GoDaddy, Pluralsight), baker by night.
No two apps are alike. Each mobile application serves its unique goals, targets specific audiences, and differs in complexity and size from competitor solutions. So you shouldn’t assume that what works in one project will instantly bring value to another. Be mindful of becoming overly dependent on popular development trends, and don’t take them for granted — always check other options and evaluate what ‘makes sense’ in Rebecca’s words.
Lesson 7: Choose the right tools for the job
Who: Danny Preussler @PreusslerBerlin | Android/Kotlin developer at Soundcloud, previously built mobile applications for companies like Viacom, Groupon, eBay, and Alcatel.
Danny’s lesson learned goes somewhat along the same lines as the above advice from Rebecca. All developers have libraries and frameworks they adore. But forcing each project to fit them is almost never a good idea.
It’s the tool that should match the task, not the other way round, so you must knuckle down and select the toolkit that best fits the needs of your project, even if it’s against your personal preferences. Otherwise, you might end up spending more time looking for workarounds than rolling out code.
Lesson 8: Don’t give in to the pressure of ‘quick fixes’
Who: Pierre-Yves Ricau @Piwai | Android engineer at Square. Author of LeakCanary & AndroidAnnotations.
Haunted by tight deadlines, poorly defined requirements, and bloating project scopes, it’s easy to give in to the temptation of temporary fixes and quick workarounds. Whenever you think about applying a duct tape solution, recall the above tweet from Pierre-Yves Ricau, an accomplished Android developer.
Of course, that’s not to say all quick fixes are evil. Sometimes acting fast is more important than acting ‘right’. However, when accuracy, reliability, or security are at play, you shouldn’t risk crashing the entire app by applying a band-aid fix. In such cases, it’s better to defer delivery and devote more time to devise a permanent solution.
Lesson 9: Mind your language!
Who: Lisa Wray @lisawrayz | Engineer at Facebook (ex. Google, Genius, NYTimes) and Android developer, speaker, and advocate.
In software development, naming is everything. Excruciatingly long, meaningless, or sophisticated names will make even the most readable and maintainable code smell. Volumes have been written on good naming conventions in mobile development, and both Android and iOS support developers with naming guidelines. Even so, we still come across monstrosities such as:
We understand that sometimes, you don’t have time to study naming standards and practices. In such cases, at least try to follow these simple naming rules: keep the name short and easily pronounceable, make it sound natural, and ensure that it explicitly shows what a given class, method, or variable does.
Lesson 10: Mobile development is a lifelong learning process
Who: Ayaka Nonaka @ayanonagon | iOS engineer at Apple, formerly with Venmo and Workflow.
The final lesson from the well-known iOS Developer at Apple, Ayaka Nonaka, brings us back to our opening statement: mobile software developers are lifelong learners.
If you’re serious about your profession, you can never relax your efforts. As a complex, ever-changing domain, mobile software development requires you always to keep your finger on the pulse and continuously beef up your skills. If you lose that burning desire to learn new things and stretch beyond your comfort zone, it might be a red flag that you should start looking for another job.
Learning through failure is an inevitable part of mobile app development. Programmers are bound to make mistakes. However, certain errors can and should be avoided by following the advice of more experienced colleagues. By incorporating those lessons learned mobile app developers gain the courage to take on more challenging tasks and projects and grow their competencies faster.
Would you like to hire experienced mobile app developers? Talk to us! We have exclusive access to a vetted network of highly-qualified talents to provide you with the skills and knowledge perfectly fitted for your technology, industry, and company culture.
Michał is a digital marketing veteran with a growth hacking mindset and 10+ years of experience. His goal is building high-quality technological content, with particular emphasis on React and Ruby on Rails. Traveler, climber, remote work advocate.