Skip to main contentdfsdf

Home/ jamesfronklin's Library/ Notes/ 10 things you need to know when you hire a mobile app developer!

10 things you need to know when you hire a mobile app developer!

from web site

 

 

1: What are their rates like?

This one is a bit of a trick: you don’t want a cheap app developer. The advice that floats around a lot is that you should price your app like you’d price a car: getting the cheapest possible may get the job done, but it’ll probably fall apart after a few months; spending more will get you something solid and dependable; you will spend even more on something good enough for commercial use. Most seasoned mobile app developers will tell you “it depends on the project” but realistically you’re looking at $25,000-50,000 for most jobs. If you’re asking them to build something complex like a ridesharing app and they quote you $2000, it’s almost certainly too good to be true. 

2: What previous work have they done?

Check their portfolio, and don’t be afraid to ask questions about what you see there. If they weren’t proud of their work, they wouldn’t be putting it forward—hearing them discuss why they’re proud of that app can often give you insight into how they operate as a company and the sort of work you can expect out of them.

3: What are they excited about?

If there’s one rule that’s stayed true, it’s that developers love tech. They might not always be enthusiastic about every day on the job, but if you ask them what innovations or projects they’re looking forward to, you can get some more critical insight about who they are and what they value.

4: Who is their designer?

Design isn’t just something you invest in later: it’s something that should be integrated into a project from day 1. The designer has a critical role in the development of your app, and they’re somebody you want to meet before the process kicks off—design decisions often flow downhill into development decisions. If a designer isn’t included in the early stages of the development process, you have a problem.

5: What languages do they work with?

 Some of the important ones:

 

  • Swift: the most common and popular language for iOS development. It was developed by Apple to replace Objective-C. It’s often described as “Objective-C without the C”. While OC still exists, it has been thoroughly supplanted by Swift as this point. Unless they’re making React Native hybrid apps (see below), they can’t write a modern iOS app without Swift.
  • JavaScript: React Native is a JavaScript framework created by Facebook that allows developers to create hybrid apps that use the same code for Android and iOS devices. Cordova and Ionic (two competing frameworks) also run on JS. The only major cross-platform framework that doesn’t rely heavily on JS is Xamarin, which uses C#.
    • Corollary: HTML5 and CSS. These generally get bundled in with JavaScript when talking about languages you need—they’re the three musketeers of frontend web development, and they’re often learnt and deployed together. They’re easier to learn than JS and most JS developers will know them but it can be good to check. A lot of frameworks based around JavaScript actually require JavaScript, HTML5 and CSS. They’re less critical in app development than they are in web, but they still matter.
  • “Didn’t you just say that one?” Nope, they’re totally different languages. Java is the main language of Android app development.
  • Swift to Objective-C = Kotlin to Java. That’s not a perfect analogy, but it’s growing more common to use this over Java, and Google recently has made the shift to Kotlin as their “preferred language”. Kotlin is a modern, simplified framework for Android app development that’s kinda like Java without the Java.
  • Heavily-related to languages but not a language as such: will they be writing cross-platform (‘hybrid’) or single-platform applications? Frameworks like React Native are making hybrids apps a lot more viable, but they’re not the perfect fit for everybody. On one hand, you can cut costs by making one app for multiple devices, on the other hand they tend to run a little slower. It’s a small difference and you won’t notice it for simple or lightweight apps, but you’ll start to notice it if you’re running something like a picture-sharing app or a game.
  • NOT REQUIRED, BUT GOOD TO HEAR: C#, Python, BASIC, Corona, C++, Lua

 

  1. What happens after launch?

 Often app developers and app maintenance teams aren’t the same—the developers move on from the project, and you need to find a new team to look after your application. If possible, it’s best to find a developer who will stick around: the people who made the software are going to have a better understanding of it than anybody new you bring in. It’s not a requirement that you use the same team (I wouldn’t reject the perfect developer if they told me they weren’t going to stick around) but it’s a definite plus.

  1. What does their development process look like?

 The current big trend in dev cycles is agile development, which is built around flexible teams and more frequent integration and testing cycles. While it is definitely fast, it’s less about speed than being able to react to issues as they arise while still keeping a coherent development structure. Agile development is built around team dynamics, so doesn’t really matter regarding individual freelancers. It’s not at all a requirement, but it’s nice to have.

Outside of agile development, you want to know what their unit testing looks like. Unit testing can’t totally proof an app against failure, but it significantly reduces the chance of issues going overlooked. Some common and solid mobile unit testing frameworks are: JUnit, Jest, XCTest, Quick, Karma, and Jasmine.

  1. How will they keep in touch?

 It’s hard to figure out from an interview how good a developer will be at keeping in touch. Are they on-call? Scheduled meetings? What timezone are they in? Are they using Skype? Email? Carrier pigeon? Your ability to communicate smoothly with a team is critically important and is also the place where a lot of developers fall through. Software developers often lack soft skills, and you should try to gauge, from your very first interactions, how good they are at keeping their lines of communication open and clear.

  1. What are they using for version control?

 Google’s Peter Bell described developers using version control as “like a surgeon washing their hands”—anybody who doesn’t is dangerous and shouldn’t be anywhere near you. Good version control gives developers a better understanding of their own code and makes it significantly easier to diagnose and fix bugs. You don’t really need to understand the details of which VCS they’re using, but they should definitely be using something.

  1. Do they have any questions about you?

 If a developer is aware of your previous work, they’ll be better-equipped to make products that are more in line with your values and aesthetics. It’s important for developers to be as discerning of you as you are of them: it shows they do their due diligence, and that you can expect the same diligence from their work.

If a developer can answer those ten questions to your satisfaction, then that’s a great indicator that they’re the right developer for you. An app developer we’ve had great success with are CodeClouds. If you want to hire an app development company then they’re our top pick. 

 

 

jamesfronklin

Saved by jamesfronklin

on Jun 10, 19