My experience as a fresher was not a walk on the red carpet it was different, I was put in the position to do Hotfixes, Integrations, Conversion projects and whatnot starting new projects from scratch. Looking back now I felt overwhelmed by how people trusted me and I'm grateful for the opportunities I got as a fresher.
So I decided to help out or maybe give some confidence to freshers or anyone who is struggling to build an app from scratch.
Understand the Domain and existing apps that are available in the market and be a consumer of them. This gives you a consumer perspective. Go through the document/ If they didn’t make it, Push them for a requirement Docs. Brainstorm with the team to understand their ideas, once done do mind mapping and come to a common conclusion. As this blog is dedicated to iOS, I’m cutting off to iOS Side, If you want for other tech stacks, feel free to comment and will make a blog for sure.
So what a mobile developer should focus on?
- Review the design: Get an Invision and mock it in an app to understand the flow and possibility in iOS. Ask for theme supports and build based on that. (Take care of notch, Theme, orientations, Device support).
- Choose the Architecture: Your app should be scalable and needs to be faster and cleaner in future developments too.
- API: Most projects kick-off at the same time so you may not have access to it, I suggest making API work first so the delay can be avoided. Build your contracts, and review them. Never agree to a localhost review. Try in staging/ dev environment.
- Certificates/Profiles: Get all development certificates from clients and provisioning profiles and check you have access to testFlight. Also, get the minimum target version from the client
- Choose a Theme: The theme or colour code must be a common component and should be able to change the entire theme in one single change. (Cuz that’s what clients do at end of each sprint)
- Common Components: Try to make components so they can be re-usable and expanded in future.
- Module Based: Build a Module based application so it can be scaled in future and is loosely coupled from a high level and tightly coupled from a low level.
- TestCases: Not every company can follow TDD (Test Driven Development), but I suggest adding Unit test cases at least. Make sure to add story points covering that.
- Appstore Guidelines: Learn Appstore Guidelines and don’t complicate by doing anything that affects it. It may lead to app rejection and extended-release.
- Identify Frameworks: You can use pods/Carthage or SPM but be clear with what can be used and try to make it simpler and don't add pods for simple things that can be achieved by you.
- Languages: Ask what are languages the app has to support and I suggest the use of localizable.
- Analytics: Check which analytics and Crashlytics are you going to use and get access to it. If they are not suggested to use it.
- Git: Setup your git account and repo ready with gitIgnore and readme and follow the practices of branching and PR.
- Iterations: Never go for the current Iteration. Build deliverables in T minus delivery date.
- Never compare: Don't ever compare the delivery time/Story points of android and iOS and don't let anyone do that too. Each has different complications and answers this straightforward.
Follow me on other social networks too.
Github : github.com/shreethaanu
Instagram : instagram.com/shreethaanu_blogs
Portfolio : strlabz.com
Patreon : patreon.com/shreethaanu
If you like my post and wanna see more support me ☕️