5 things an indie developer has to have solid besides coding
When you are first getting started or working through school, it seems like the code is what you need to get right. And you do. But, there is so much more that you need to do to be a great indie developer. I give a few tips here that I have learned about things an indie developer has to have solid besides coding. I hope they help you! Have other tips? Add them in the comments!
1 Create graphics
All of those images, logos, buttons, backgrounds, etc. They have to come from somewhere. If you are an indie developer, they probably come from you.
I create nearly all of my images for my applications (web and iOS) in GIMP. GIMP has a bit of a learning curve, but I promise it is easier than Inkscape. I’ll do a separate post on how to create different kinds of graphics in GIMP. Note that really easy GUI software, like Canva or pickmonkey have limits on what you can do with the graphics that you create in their programs. Be careful. You do not want to lose all that you have worked so hard for because of a graphics challenge.
You don’t have to create ALL of your images. For photographs, there are wonderful sources where you can buy or download images. My favorite is Unsplash because they make absolutely no limit on what you can do with the images. You can also contribute images to Unsplash, so that is neat also. Most content can benefit from additional images. Consider a photograph when you are posting links to your content, like on twitter.
iOS developers, you also need to create screenshots of your application for every device at different sizes. The absolute best way to do this is with Fastlane. I wrote about setting up fastlane. It is worth it to get it right.
2 Write copy
You will write so much. Your brain is going to explode. Okay, probably not. However, I never would have guessed how much writing would go into indie development. The word(s) on your page/interface/UI whatever are the way that you communicate to your users. Writing copy is about informing the user, entertaining the user, clarifying for the user, etc.
It is easiest to create copy when you are clear about the user story and what should happen on a given page/screen. If you are not clear on what you want a user to know/get/do, they won’t be either. This might be the hardest part of the process. In some firms, there are people to set the specs and developers to implement them. As an indie developer, it is all on you. Don’t be afraid to talk to people - ask them to read or look at what you wrote. Share your drafts with other developers. Do something. Keeping it all in your head is dangerous.
One way to get started is to draw the application flow. How does the user move through the application. What do they need to have to move through with the flow you drew. Now, turn that into a list of user stories for each page. You can use that as a foundation for your copy within the application. Accept that your first pass at this will not be your last.
Outside of applications, you also need to write marketing copy. No one will user your application if no one knows about it. Writing marketing copy is a different challenge. How can you speak with the voice that most reaches your users, communicate your message, and fit in the average attention span of 0 seconds? Between marketing messages, you will also need to share real valuable content and interesting things, so that you can reach more people. …And, that’s all I’m going to say about marketing here.
3 Deal in business
Indie developers are the whole business. That means that you need to think through the business logic of what you are doing. It is HARD to take an objective look at what you are doing, or what you want to do and make sure that it is what you need to be doing. Passion projects are great, and not everything needs to make a profit. However, developers need to eat, too.
Questions that you can ask yourself are:
- Who are my customers?
- Why do they use my application?
- What do they need from me?
- How will I make money from this effort?
- How will I protect my customers?
4 Take care of yourself
One of the perks of being an indie developer is that you have no boss. You are likely also a grown up, so you are basically in charge of yourself. All.The.Time. You get to choose what to do with that time. You are the person who will need to recognize when you need a break.
Here are 3 tips for self-care:
- Set real limits. Actually limit your time spent on/at work (not always possible, I get it), for a typical day/week/month.
- Cultivate other facets to life. No one “only develops”. Let another part of you have time in your schedule. Start a board game league, sign up to play a sport or go to a fitness class, find a hobby, go for a hike. There are, like, thousands of ways to do stuff that isn’t coding. Personally, I make time for traveling, spending time with my kids, running, cooking, hanging with my dog, going to the gym with friends, learning languages, painting, and reading. I’d love to hear your list!
- Exercise. This may be part of your other facets, but it doesn’t have to be. Not everyone is going to enjoy running, swimming, lifting weights, looking like a fool in zumba. But, we can all benefit from a little bit of exercise. Walking is great, try it with a friend!
5 Be a good human
Aw, man. It all comes down to this, right? The caricature of a developer is some jerk who hides behind a screen because they don’t want to engage with people. That is a terrible, terrible caricature. Every developer who I know is kind, open, and sharing. Those characteristics are important. While much of the day may be spent in the code, a small and meaningful part will be in communication with others. Most important in that is meeting those others where they are. Try to be able to explain what you are doing to your grandma.
The indie developer needs to be able to work with a team - <Wait. What? I thought we were talking about indie (read: independent) developers?> Well, yes, even indie developers need to work with other people. There will be collaborations, and there will be times when you need to depend on others. Thankfully, teamwork is not hard. We just have to be nice, honest, diligent, and take on our role in the team with the same gusto as any other work. That’s tremendous gusto, not laziness and procrastination BTW.
Even on the tough days, we all just need to remember that we are all people, and we are all in this life together. Some days, demonstrating our concern for others may be more challenging for others, and I think the key is self-care (see #4)
How lucky I am to be traveling through space-time with you! Best of luck!