It took me a year to snap out of it.
One year to realize that I had to change my course of action; that I was clearly not doing the right thing.
When I left my job, I had two years of saving. That sounds like more than enough time to succeed. Today, I am convinced that it’s exactly because I had so much time ahead of me that it was not able to do the right calls.
Friends, family, and hurricanes: here is the next piece of the story that leads me to where I am today.
What happens when:
- You keep improving things, just because you can
- You don’t validate your core features
- You don’t wait for your first users before adding features
With a bonus section on social life when not in the office.
Fear of not being good enough
The Fear of not being good enough is the main reason why the development of Notecompanion dragged out forever. It is the reason behind my never-ending last week and the fuel for my pointless race against competition.
My definition of “not good enough” while working on NC is:
- Un-professional looking interface
- Bugs (even one is too much)
- A number of features that seems too low compared to the time spent on the project
And in my head, not being good enough would mean:
- Not getting any users for my app
- Getting Judged/Feeling ridiculous
One would believe that not getting users would be the worst, but the more time passes, the more worried about the second point I become.
I left everything to start this adventure. My friends, family and professional circle were witness to when I claimed: “I am taking up the challenge!”.
How ridiculously arrogant would it sound now if I were to release something lame after spending so much time on the task?
It’s like I can hear people’s thought already: “Wait, that’s all you can do? And you thought you could make it?”
The more time I spend on NC, the higher the quality bar I set for myself. Only, the bar raises faster than I can catch up with it.
Being perfectionist is not a quality
What you want to be is “efficient” with high-quality standards.
Here is the difference between perfectionist and efficient:
- Being efficient means having clear quality goals as well as criteria defining what is good enough to reach said goals.
- Being perfectionist means that you are unable to set such criteria and just keep improving until someone stops you. You don’t know what is good enough and how to make calls that can save your whole work.
When August 2017 comes by, 6 months past my expected release date, I am completely in the second category. I improve aspects of NC just because I can. Not because it’s needed or because my users will want it.
Just because I can.
My idea for NC is to go with freemium. A free service, with some advanced features for premium paid accounts. I am thinking about making it $1 a month, as I don’t have big pretentions. Taking into consideration that, on average, 1% of users switch to premium, I would need 100.000 users to be able to live off the app.
Once again, NC was supposed to be a 2 months projects so I never really considered this number. I just wanted to get an idea of how hard it would be to get users and market a product, before moving on to the next idea.
Just before summer 2017, a friend of mine proposes what seems like an interesting alternative: going B2B – Business to Business.
Instead of trying to sell to the mass, I could just convince a dozen companies that my service is what they need.
I could use my connections to talk to game companies directly. I can even start with CDProjekt RED, as I know 90% of people there.
I remember the feeling of relief that took me over at the time. I am seduced by the idea and I finally feel like I know where I am going!
Little did I know that this also doubled my scope…
Trying to make something that CDProjekt would use puts way more pressure on me than trying to seduce 100k random users…
To make it work, I need a security tight enough to avoid any of the famous leaks that happen in the business. I also need to make sure a team of hundreds can work flawlessly on the project.
Many things that isolated users can forgive are just intolerable in a professional environment.
Getting 100k users is surely impossible and my friends manage to convince me that I don’t need to add so much to what I have to provide an interesting product.
So I get to work.
One Summer, Four hurricanes and no time to spare
Summer comes around before I realize it. It also comes with a little surprise…
For the first time in 6 years, my parents arrange to have me flown over to Guadeloupe.
A one-month (and a half) holiday trip and the opportunity to see some of the family and friends that I haven’t seen since I left school.
Unfortunately, as I am already 6 months behind on my schedule, I am not really happy about the idea of a one-month break. All I can see is another month of delay…
So I settle on a deal with myself: I would take at least 2 weeks to rest, then I would spend no more than half my days working on my project.
I get to work on the very night of my arrival. Not on NC, but on a much more innocent looking side-project.
Shinoken, my side project
I will talk more about Shinoken in later posts, but I just need to give some explanation here. I don’t want you to think I was completely crazy to start a new project while NC was already giving me so much trouble.
Shinoken is an online fighting card game that I designed on a weekend, while I was trying to find a way to make pen and paper RPG combats more interesting. As in, not based on dice rolls or luck. I designed and prototyped the whole thing in 3 days… so it’s not like it was meant to be anything more.
I am still very happy with the game mechanics. If you want to give it a shot, you can play it here: https://www.playshinoken.com (It’s better with a friend, so find one).
Anyway, I shared the game on some forums and got a lot of positive feedback. But as I didn’t have time to spare, I had decided to not work further on it. It was just a nice way to get my mind off NC.
However, a few weeks before my trip to Guadeloupe, I received an unexpected proposition. The son of my landlord, who study programming, asked if he could help me with any of my projects. He would do it for free, as he was just looking for a way to hone his skills outside of school.
How could I refuse?
NC was quite a big project, but Shinoken was just getting started. I saw this as the perfect opportunity. He would be the main programmer on Shinoken, while I would simply oversee his work. That way, I would be able to have two projects running in parallel, without taking too much of my time. All the better if Shinoken becomes a success. It’s a win-win situation, as I won’t lose anything if it doesn’t.
I only had some minor things to set up so that the code would be ready for my new partner. I wanted to get him started as soon as possible so that even while I am on holiday, things could progress.
That’s how I end up opening my laptop to get to work, only a few hours after arriving at my parent’s place in the Caribbean.
This holiday turns out to be pretty intense. Opening my laptop to do a “quick-work” on Shinoken had the same effect as “firs-one-is-free” drugs. After less than a week of break, I get back to it.
Trouble also comes from being with my family. Last time I got to spend so much time with them, I was only 22 and barely an adult. I’m 28 when I stay with them and several conflicts emerge with my father, mostly from the fact that I can’t really get ordered around anymore.
But if only that was it…
If you have been checking weather-related news during summer 2017, you probably heard of what happened in the Caribbean this year. Not one, but four hurricanes hit us during my stay.
And the last one is nothing less than the strongest hurricane to pass through Guadeloupe in the last 30 years.
Apart from the mental impact, it also means weeks without electricity or spent repairing the damage… That much less time dedicated to making progress on NC.
Summers eventually comes to an end and I get back to good ol’Warsaw… not as relaxed as I thought I would be.
At this point, I am probably at the lowest in my faith in the project.
I am so late that it becomes ridiculous. I am clearly doing something wrong but what? Most of the mistakes I am talking about in this blog are obvious now, but when I am in the midst of it all I just can’t see it.
Fortunately, I am only a few months away from opening my eyes.
Fitting to a market
I was saying earlier that being perfectionist mostly means that you don’t know where to stop. That was exactly my case.
And the reason why I didn’t know where to stop is that I never took the time define my core feature(s).
My core feature is the thing that my app is supposed to be all about. The one functionality that all my users will be interested in, and that I will use to describe the product.
If you ask me now, I would say that it’s the real-time filtering. But by September 2017, I just can’t tell. I have built NC to:
- Write notes and access them through real-time filtering
- Filter through other users public notes
- Work in groups
- Create an information trail by allowing everyone to link notes from different users
- Create reminders from text
Because I don’t focus on my core feature, it gets swallowed amongst the rest and becomes inefficient. As of today, the filtering that is the whole point of the app is way to slow in my opinion. It lost most of its charm; which hardly makes it a selling point anymore.
Notecompanion was not my passion project. It was a project I loved but it was never supposed to take so much of my life.
Because I didn’t do a product/market fit, I wasn’t even sure if there was a need for it.
The whole drive of the production was that I was constantly thinking that “if I don’t have this or that, nobody will want to use the app”.
Having a well-defined core feature would have helped me decide on when it’s good enough. It would have made me efficient and allowed me to release earlier. An early release would mean actual users feedback, something tangible to decide in which direction to move next.
Something that I regret a lot now (actually since a few weeks) is not working on a subject that is in my line of work. I don’t necessarily mean working on games – as I also enjoy making tools – but at least something related to game development.
When I choose something to work on, I go with whatever gets me excited. However, developing an app is not only about you. It is mostly about who you are selling to.
If I would be developing something that is both exciting for me AND in my line of work, I would be able to connect with potential users more easily and spread the word further.
If you haven’t yet, you can have a look at my post on the subject
My app can be useful to 2 million people in the world, if I have no way to let them know that it exists, it won’t go anywhere.
I was wrong to think that just doing what I like was enough.
The impact of others
A lot of people have advice on how to do things better.
When I talk with friends about what I am working on, about 80% of the time, they have the greatest idea on what I should be doing instead or what feature I should add.
The problem with advice on how to do it right is that they imply that “you are doing it wrong”.
After almost a year of working all by myself in a dark, I just want to hear, just once, that I am doing the right thing.
I don’t know how other solo developers feel about this, but please consider this if you have one of them in your entourage: how helpful is your advice really gonna be?
Sure, your idea is probably great, but how do-able will it be for the person you are talking to?
As I am trying to release NC, any advice that sums up to doubling the amount of work I need to finish it is basically useless.
It’s simply not happening.
It does raise my stress level, though, as I start thinking about how much I would need such feature.
In the same way, advice that sounds like “give up”, no matter how sensible it is, just won’t do.
Of course, people don’t come to me saying things like “Give up man, you’re bad at this”. It’s more like “Maybe you should move onto the next project and let this one go?”.
Any suggestion to give up gets immediately blocked off in my brain. If I start giving up when it gets hard, how can I hope to achieve anything?
To me, good advice are the ones that answer the question “How to make this vision happen as soon as possible?”.
If you see that someone is not going anywhere with a project and you want to help, don’t tell them to give up.
Instead, I would suggest helping them to figure out how to “close” it as fast as possible.
There is much more to earn and learn from releasing something that is not exactly what you wanted than just plainly giving up on it.
If not for the experience, at least for the mental health of whoever worked on it for so long.
This only applies if you are a solo developper. Not a company that needs to spend millions on marketing at release. In this case, yeah, just giving up might be wiser I suppose.
Bonus section: my new social life
In this part, I won’t be talking about production per se, but about life around it. If you are interested in having a glimpse into what social life as a solo entrepreneur can look like, feel free to read it; otherwise you can just skip it.
The first consequence of leaving work was losing contact with my ex-coworkers. Even those who were close to me didn’t necessarily have the time or energy to go out after work.
Not seeing them during the week means only seeing them on weekends.
Skip a weekend or two and before you notice, you spend weeks without seeing someone. This can kill any but the strongest relationship.
At first, I spent a lot of energy trying to maintain my relationships with ex-coworkers. After all, by living in Poland, 99% of my friends were work acquaintances. What takes energy is not constantly checking up on everyone, it is committing to asking people out when they obviously look like they just want to get some good rest.
Eventually, I realized that I was spending more energy for people who I had thin connections with than for longtime/childhood friends.
So after some time, I stopped using Facebook. I started to focus on contacting people directly, instead of just mass-sharing slices of my life to whoever was on my social network.
As a result, I became less surrounded, but I didn’t get any feeling of loneliness. I felt closer to people who cared the most about me, which compensated for the rest and felt more right.
It’s crazy how much love and support you can get from one or two people when you give them more of your attention.
I also have much more free space in my brain when I don’t have to absorb unimportant life-facts about a few hundred peoples.
Before leaving work, I was extremely worried about how my social life would look like. In the end, I believe that this alone time was a great opportunity for introspection. I got a chance to pause and focus on what was really important to me.
And that feels just right.
The next post will close the curtain on my story with Notecompanion.
I will approach the subject of outsourcing part of my work, like the development of the mobile version, as well as my introduction to the world of startups… almost a year after I started mine.
Finally, I will get to tell the story of how I came to break out of the development loop I was stuck in, thanks to the one piece of advice that would shift my entire mindset.
If you want to get notified when a new post is published, subscribe below. There won’t be any spam. Only a mail notification when a new post is published.