When business owners and mobile app agencies hear that a mobile freelancer charges over $100 or more, they automatically proceed to working with developers abroad which charge rates as low as $20 per hour. Initially, this can seem very appealing, but there are a few reasons why picking your developer based on hourly rate is dangerous:
- Budget – Just because a developer charges $20/hour does not mean they can get the job done in the amount of hours that a senior developer can do. For example, if a senior developer charges $200/hr to build a feature that takes him 5 hours to build, this feature will cost $1,000. A junior developer may only charge $20/hr (10X less) however, it may take them 80 hours to build this feature, therefore costing your project extra development time, that delays the project by 2 weeks and comes with a total fee of $1,600. In actuality, the junior developer ended up being $600 more expensive then the senior developer!
- Redoing the work – Often when you hire a lower end developer they will take short-cuts to get the project done. This leads to sloppy code which eventually will introduce random bugs. Instead of following proper protocol of object oriented programming, it is coded in chaos. The code may work during QA but the moment you introduce a new feature or a business rule changes which is often the case new bugs will be introduced.
- Maintainability – The days of fire and forget are long gone. After you publish your app to the app store, that is only the beginning. There will be many more features to create, bugs to fix and operating systems to update. To make this work more manageable, the code needs to be maintained at a level of cleanliness to allow developers to quickly navigate and understand the code. Additionally, a comprehensive suite of unit tests will give developers and product owners the confidence that a simple code change will not cause the whole app to fall apart like a house of cards. Junior developers can write code that works, but is it maintainable? When you find an issue in the code, how quickly can it be resolved? Does this fix cause any side affects? Unmaintainable code can easily bloat your development costs, putting you on the defensive and constantly plugging holes instead of building compelling new features for your users.
This article may seem unfairly harsh towards Junior Developers, but that’s not the intention. Junior Developers play a very important role in the Software Development Lifecycle and when given proper support and mentorship, they can create beautiful software. However, relying on junior developers exclusively with providing adequate project leadership and strong software architecture is recipe for disaster. There is a wonder old proverb – “When you are cheap, you pay twice.”