How to Ship Apps Faster as a Software Engineer
Beto, July 14, 2023 · 967 views
I share five essential tips to help you develop applications faster, whether you are working on mobile, web, or backend projects. The advice is practical and for avoiding common pitfalls that slow down development.
You'll learn how to postpone complex features like authentication, write reusable and maintainable code, focus on your minimum viable product (MVP), design before coding, and avoid reinventing the wheel by using existing tools and solutions. These tips help you ship better apps more efficiently.
What's inside
- Leave authentication until the end
- Write reusable, maintainable, and scalable code
- Focus on the minimum viable product (MVP)
- Have a design before coding
- Stop reinventing the wheel
Leave authentication until the end
Authentication is often a major time sink early in development. I recommend postponing it as long as possible because signing up and signing in flows can be tedious and slow down your progress. Instead, implement a way to simulate a signed-in user so you can skip the authentication flow during development.
You can automate this skipping with tools like Cypress or Detox to speed up testing and development. The key is to focus on building the core features first, and add authentication only when the rest of your app is ready.
Write reusable, maintainable, and scalable code
Even when rushing to get your app out, do not sacrifice code quality. I stress the importance of writing reusable and maintainable code from day one to avoid costly rewrites later.
For example, if you calculate screen height in multiple places, abstract that logic into a single helper function or module. This way, if requirements change (like using half the screen height instead of full), you only update one place.
The same applies to constants like colors. Avoid hardcoding values throughout your app; instead, centralize them so changes propagate easily. This approach saves time and effort as your app grows.
Focus on the minimum viable product (MVP)
Concentrate on the key features that deliver value to users and get your app out quickly. The MVP approach helps you avoid overengineering or adding features that users might never use.
Launching early lets you gather real user feedback and iterate based on actual needs. If your app does not solve the intended problem or gain traction, you can pivot or stop wasting resources sooner.
This mindset keeps development efficient and aligned with what users truly want.
Have a design before coding
Jumping straight into coding without a clear design leads to wasted time tweaking layouts, colors, and UI elements. I advise creating a design upfront using tools like Figma or Adobe XD, or even pen and paper sketches.
Having a design helps you understand the app’s structure and components before development. It also guides you in building reusable UI components, especially in React or React Native projects.
This preparation reduces guesswork and rework, speeding up your development process.
Stop reinventing the wheel
Many developers try to build everything from scratch, especially complex features like authentication. I warn against this because setting up infrastructure, backend, security, and encryption is a lot of work.
Instead, leverage existing solutions and libraries that handle common needs securely and efficiently. This saves time and reduces bugs.
Focus your efforts on what makes your app unique rather than rebuilding standard features.
Resources

CourseReact Native course
Fundamentals through shipping: the concepts behind the prompts, with lifetime access.

NewsletterCode with I Newsletter
Stay updated with tips, tutorials, and news on React Native and app development.
Like this article? Get the rest of the library plus weekly React Native tips. Free.