pietrorea's blog

Starting a New Journey

July 25, 2016

Two months ago I left my full time software engineering job at Quidsi/Amazon to move to Washington D.C. This move was primarily a personal decision to be closer to family.

At the same time, I also wanted the opportunity to focus full-time on software development consulting. I even incorporated a company to do it! It’s called Sweetpea Mobile.

What does this mean? Instead of having one employer and one project to work on, I have several clients and different things to work on. It’s called Sweetpea Mobile because of its focus on mobile platforms such as iOS and Android.

Sweetpea’s Opportunity

Over the past five years, I’ve worked on a few mobile-focused software development teams, and I’ve been lucky (some may say unlucky) to work through different pain points and challenges along the way.

Some were unique to whatever employer I was working for at the time, but others were not. In fact, there was one specific challenge I saw over and over every place I worked.

Every company seems to be having trouble finding, hiring, and retaining mobile developers.

“I can’t hire mobile developers. HELP!”

Here’s a question people ask me all the time:

“I am hiring a senior iOS engineer with 4-6 years of experience in New York City who can also implement a graph traversal algorithm on a whiteboard. Know anyone?”

Maybe not in those exact words, but that is really what they mean.

It’s not that these people don’t exist. They do. It’s just that the number of requirements has reduced the applicant pool to a ludicrously small size.

Add some more explicit or implicit requirements (e.g. they need to be a U.S. citizen or green card holder, jive well with my company culture, hold a C.S. degree from a top school, etc.) and it’s no wonder hiring even one mobile developer can take anywhere from 6-12 months.

Potential Traps

Hiring in the tech industry is difficult. If you are hiring mobile developers right now, you’ll have a tough road ahead. If you are in this situation, there are two potential traps to look out for:

  • You’ll hire too quickly and hire the wrong people.
  • You’ll hire too slowly and risk losing out on a good market opportunity.

But wait! You have more options. You always have more options.

If you’re having a tough time hiring mobile developers, here are are the three things you can do:

1. Grow ‘em

Instead of hiring new folks, you can train your current software engineers in mobile app development. This is the route Facebook chose when they doubled down on native app development back in 2012-2013.

They didn’t have enough expertise in-house, and they couldn’t hire them fast enough, so they partnered with Big Nerd Ranch to train their current employees.

“Growing” from within comes with its own risks, of course.

Training takes time. The developers you train will have to re-focus their attention to mobile projects instead of whatever they were doing before (which is probably what you want anyway). And of course, short term training doesn’t give you years of experience overnight.

2. Rent ‘em

Instead of hiring mobile developers or training your existing developers, you can temporarily bring in subject matter experts as contractors to augment your existing team.

This assumes you already have a go-to-market strategy and a team that is mostly complete but missing a few key components (like the mobile developers!).

These subject matter experts will be doing the actual work. They’ll also help you “seed” your team with the core expertise you need to train your own people, if you decide to go that route.

3. Outsource ‘em

If you don’t have a team of engineers, designers, and product managers in place, you can choose to outsource the whole project to another company.

“Outsourcing” has gotten a bad rap, but this option can be right for you, depending on your business and your core competency (e.g. your secret sauce).

For example, why would David’s Bridal hire an in-house mobile development team to build their app? Mobile development is not their core competency…renting out dresses is. Thus, it makes sense that they went with Prolific Interactive to build their app.

Likewise, why would Chipotle hire a team of full-time developers to create and maintain their watchOS app? They make burritos, not smartwatch apps! Therefore it makes sense that they decided to hire Sequence.

4. If All Else Fails, Hire Different(ly)

If you decide you really need to hire someone for an in-house position, it’s important to take a good look at your list of “requirements.” Relaxing one or two constraints can make all the difference.

For example, can you stomach hiring someone remote or part-time? A self-learner from a code school instead of MIT?

Enter Sweetpea Mobile

Sweetpea Mobile’s market opportunity comes from this question I hear so often:

“I want to hire a mobile developer right now, but I’m having a really hard time. Can you help?”

My vision for Sweetpea is to listen to these companies, understand their situation, and give them choices they may not have considered before.

Together, we’ll figure out what option is best for their specific situation:

  • Grow ‘em
  • Rent ‘em
  • Outsource ‘em

And while I’m not a recruiter, if the company needs more help than I can provide on my own, I’ll do what I can to connect them with the right resources.

Sweetpea’s Challenges

Nothing worth doing is ever easy. As I begin this new adventure, I see three primary obstacles:

1. I Am One Person

There is only so much one person can do. If I stay as a one man operation, I’ll only be able to work on one or two projects at a time.

It may be that the best I can do for some companies is help them “rent ‘em” (i.e. staff augmentation). And by “rent them” I really mean “rent me.”

2. Only One Discipline

To create something of value, you need different disciplines: user experience, graphic design, product management, project management, native app development, backend development, marketing, sales, etc.

As a one-man band, I can only offer services in what I’m good at, and that is iOS development. If I were selling cakes, I would only be able to sell you the flour. I can’t make you the whole cake!

3. Owning Your Own Ideas

A consultant is a third party that joins your team temporarily. By definition, they don’t have the final say in the direction of the product or the business. Furthermore, consultants (like management consultants) sometimes don’t even have their hand in the implementation of their ideas.

For someone like me who’s worked primarily on mobile products rather than client projects, this will take getting used to.

This is not an “either-or” scenario, as many software development shops do client work as well as develop their own applications.

For example, I’ve enjoyed using Kaleidoscope from Black Pixel, Slender from Martian Craft and Spark Inspector from Foundry376

Next Steps

There you have it…a big opportunity, a vision of the future, and some obstacles ahead.

As Lin-Manuel Miranda now famously wrote: “How lucky we are to be alive right now.”


Pietro Rea
Written by Pietro Rea, a software developer, team lead and author living in northern Virginia.