How To Boost Your App Development Career With Testing, Feature Flags And Being Remarkable

Written by: Erez Rusovsky, September 27 2017, in App Development

How To Boost Your App Development Career With Testing, Feature Flags And Being Remarkable

This article is written by Erez Rusovsky from Rollout.io. Make sure to check out their awesome feature flag management tools!

Why did you get into app development? Come on. Be honest. At least part of you dreams of making the next Angry Birds or Snapchat.

So you started to learn app development. And then a funny thing happened along the way. You started to like it. You could even imagine doing it as a career!

Fast forward. You’ve built your first app and you’ve successfully published in the App Store. It’s making money – but enough money to live? Enough money to quit your current job?

Face it. Most likely, teaching yourself app development won’t result in Angry Birds or Snapchat. But do you know what your app development experience will do, among other things? It gives you a real chance at making a career change and getting hired as an iOS developer.

Oh, and guess what – you can start learning to write your code and build your apps in a way that makes companies want to hire you. In this article, you’ll learn how to improve your apps and your chances of getting hired!

Ready? Let’s go.

  1. How to avoid the “Not Invented Here Syndrome”
  2. Why you should release features instead of products
  3. How to upgrade your unit testing game
  4. How to add things to your app that employers love
  5. Further Reading

Avoid “Not Invented Here” Syndrome

Learning to code feels good, because it’s rewarding. And over and over, it gives you that satisfying feeling of having solved a problem successfully.

While you’re learning to code, you reinvent a lot of wheels. How could you not? You won’t start by doing things no one has ever done before.

Instead, you learn the basics. And then, to reinforce those basics, you do things like building your own logging, writing something to parse JSON, or build your own Model-View-Controller framework. Those are great lessons!

But don’t get too used to that approach.

Early in our careers, every developer goes through a phase where you realize that, with enough effort, you can build anything. When you build it yourself, you know exactly how it works. You can customize it to your own tastes and ideals.

This line of thinking leads to the Not Invented Here Syndrome. You start to reject good solutions from other people because you’d rather build them yourself. It’s often an extreme: you want to reinvent everything yourself.

That approach is great for hobbyists, professional maintainers and developers sharpening their crafts. But most employers don’t want to see that. They’re paying you to build new things they can sell. In typical scenarios, they’re not paying you to build your own tools.

How do you move past the Not Invented Here Syndrome?

Practice making good decisions about when to build something yourself and when to use a 3rd-party library, tool or product. Your app’s quality will be better when you focus on what makes it unique, and leave writing loggers, JSON parsers and MVC frameworks to people who specialize in those things.

Note: Many companies will pay you to build tools and frameworks, even just for internal use, but since that’s deliberate, planned work, it doesn’t really fit with the whimsical “Not Invented Here Syndrome”. Even if you take Fridays off to work on your own projects, you do so with intent, instead of inventing everything yourself because you think you can do it better.

Get 5 of my best practices

Get 5 of my best practices

Learn how to build better iOS apps

I’ll show you exactly how I built a dozen professional iOS apps,
write extensible Swift code, and turn coffee into code.
Wait, what? Yup – into Swift code.

Why You Should Release Features Instead of Products

How did you build your first app? I’m not talking about the user interface or its graphic design. I’m not talking about what it does. I mean, what did the process of building look like?

Perhaps something like this:

  1. You spend a bunch of time building the app.
  2. Then you spend some time getting it approved in the app store.
  3. And then, it’s done!

Okay, maybe you patch it to fix some bugs. And maybe, at some point, you release new features or a version 2.0. But you still have a definite sense of “done”, the way you’re done when you finish building a garden shed or finish laying new shingles on the roof of your house.

But things don’t work that way for companies that will hire you. Their app fits into a larger strategy. So they need to be able to tweak things constantly, and roll things out quickly. Sometimes, they need this faster than the App Store allows.

To do this, they stop thinking of releases as releases for the whole app. Instead, they think about releasing individual features one by one. Think about apps like Facebook or Twitter. They don’t have major versions and launches. One day, a new app behavior or feature just shows up.

This is done using something called feature flag management. What it allows you to do is, after you’ve published your app in the App Store, turn features on and off for different users. Feature-based releases let you turn off new features that cause problems, while expanding the rollout of features that users like. All without pushing anything to the App Store!

Understanding how this works will make you stand out when you’re interviewing for a development job, and it also makes your own app development process more smoothly.

Build better iOS apps by mastering best practices and app architecture » Find out how

How to Upgrade Your Unit Testing Game

There’s a lot of joy in learning to develop apps. Think back to the thrill you experienced the first time you made text appear on your phone’s screen. Or the rush of realizing you could just grab GPS location data. Building stuff and discovering is fun!

If you want to have a successful app, you need to start looking beyond building at some point. Your users care about your app’s usefulness and design. They also care about its reliability and stability. When the app crashes or does weird things, they might just delete it from their iPhone.

At some point in your app development career, you need to make a switch. You stop thinking purely about adding that next line of code. Instead, you think about how to add that new line of code without breaking any of your current lines of code.

And the best way to do that? Automated unit tests. Unit testing is an automated process in which you test individual “units” of code, together with their data, functions, procedures and return values, to test whether they are fit to use.

Unit tests…

  • … are just another kind of code that you write
  • … automatically test your app in seconds
  • … prevent many bugs both today and in the future

Believe it or not, the majority of people who write software as a career struggle with automated testing. Do you know why? Usually it’s because they’ve programmed for years without doing it. It feels foreign and unnatural, so they resist it.

But if you start early, it will never feel unnatural!

Knowing unit testing also gives you a huge advantage in the job market! Many companies put unit testing right in their job descriptions. And, even if you don’t want a programming job right away, it will keep a ton of bugs out of your own apps.

Add Things to Your App That Employers Will Love

When you think of what you need to apply for a job, what do you think of? The list probably goes something like this:

  • Bring your resume
  • Sending your cover letter
  • Showing screenshots of apps you built
  • Wearing professional attire
  • Acing the technical interview

All of those things apply. But you don’t need to limit yourself. You can use your app alongside your resume to show off your skills!

Just the app will help you stand out and be remarkable. But if you can demonstrate a sense of what happens “around” an app you’ll instantly find yourself on the short list to get hired.

How do you make your app remarkable? Here are some strategies:

  • Make your app’s user interface look fresh and polished to show that you understand the importance of UI/UX.
  • Use feature flags, as discussed earlier, to implement A/B testing. This means running experiments with your users to see which version of a user interface or feature they like better. Doing this demonstrates that you understand what’s important for a business, and that you value your app’s users.
  • Make sure you get good reviews in the App Store. Nothing like excellent ratings to prove your value as an app developer.
  • Keep track of your costs and any earnings that you have. If you can earn yourself a profit, a hiring manager will assume you can earn them a profit.

Imagine this scene for a moment. You’re interviewing for a job as an app developer. During the interview, you pull out your iPhone and show the interviewer your app. It looks great and has rave reviews. You show then that you can roll features out to individual users to help with the user experience, get more app installs, and turn a better profit.

You’ll get that job!

But job or not, you’re building a profitable app that your users love. There are worse things in the world…

Get 5 of my best practices

Get 5 of my best practices

Learn how to build better iOS apps

I’ll show you exactly how I built a dozen professional iOS apps,
write extensible Swift code, and turn coffee into code.
Wait, what? Yup – into Swift code.

Further Reading

In this article you’ve learned how to approach your iOS development career while still learning app development. Maybe all you want to do right now is learn a how to code your own app projects. But then again, that’s not all there is to it!

Software development is one of the best careers out there right now. Many of the same things that improve your iOS development career will help with your app development.

If you want to read further on these topics, check out.

Enjoyed this article? Please share it!

Erez Rusovsky

Erez Rusovsky is the CEO and co-founder of rollout.io, a company located in San Francisco that provides a feature flag management system enabling developers to quickly and safely build and deploy apps. He holds a B.Sc. in Information Technology and is very passionate about his job. Being a developer himself, he takes very personally the company’s mission to help developers excel in their tasks. He wrote many articles in the Rollout blog, most notably about app development.

Comments & Questions