I've been writing animation software for 3 years, about 4-12 hours / day ( I also freelance 4 hours a day for money ). Before I started, I was a guy so obsessed, he was spending weekends and evenings writing painting apps, and 3d programs for fun. I have always likened myself to a carpenter building a house.
Anyway, I've re-written most sections of my app 5-10 times. I'm re-writing much of the 50k lines right now (I'm adding in redux + immutable, but also refactoring lots and cleaning up lots).
At this point, I'm fairly convinced you can't pay people to make an app like I'm making(to the same quality). I'm also fairly convinced if I was on a team, it wouldn't have worked either. Let me explain why...
Re-writing the same stuff to get better code, to help enable things to work a different way, this feels bad, like wasted work, but it moves the project forward. It feels bad even though I'm re-writing my own code. If I was on a team, I think there would be more negativity around it.
If I was paid to do something, I would focus my time on adding features, but not really on refactoring. I'd do enough to show results, but I'd paint myself into a corner, at which point development would slow down. It would be hard to get 'cleanup' projects approved. Management wouldn't understand.
So, back to general stuff on being a craftsman.. something I've been going through was this constant sensation that "launch is coming", "launching next month!", but it was always in the distance.
For a whole year, it felt like I'd launch was one month away.
I think the lesson I was supposed to learn from this, was that I need to be hungry for the work I'm doing. The work is the reward, learning to enjoy the process.
The work is my food, and I'm learning to be hungry.
Loving the work, getting to the point where if I'm allowed to work on it, I've won, that's craftsmanship to me. Steve Wozniak is my hero in this sense. He loved the work, he loved "getting close" to the work and the code. He encouraged going over sections you already knew were pretty spiffy, just to get that much closer to the code.
Anyway, I think all the "work less" movement is because people haven't actually found work they actually like. I make animation software, and it's been a hard school to learn to like it, which you would think would be easy.
When the definition of anything changes to "work", it almost innately becomes harder to enjoy. I think the real lesson of the next decade is learning to enjoy work, especially when it becomes very difficult and harder to enjoy. To enjoy the unenjoyable is perhaps a secret to living.
When I release my software, I want to be standing beside it straight and tall, beaming at the craftsmanship. Part of me hates sales, and in a way, it goes with the craftsmanship part, knowing that only a truly great product is worth selling, and that product does much of the selling itself, after the initial people have used it.
The last few years I too have been building a piece of animation software, but the first crappy version of it was released after just six months of development.
I hate dealing with the business part (ads, billing, etc), but moderately spoiling the app with ads and in-apps allows me not to be distracted earning money. Staying hungry just means taking freelance gigs for me.
Overall, adding new complex features turned out to be orthogonal to monetization efficiency, but I continued to implement them. Two years ago I discovered a tiny obscured fan community of the app and helped them grow. Since then the most enjoyable part of my work is interacting with some of the dedicated users and discovering the new ways of using content they create.
They cannot pay me, but the I am proud of making a great product for them. The code is shit to be honest, but does it matter?
Anyway, I've re-written most sections of my app 5-10 times. I'm re-writing much of the 50k lines right now (I'm adding in redux + immutable, but also refactoring lots and cleaning up lots).
At this point, I'm fairly convinced you can't pay people to make an app like I'm making(to the same quality). I'm also fairly convinced if I was on a team, it wouldn't have worked either. Let me explain why...
Re-writing the same stuff to get better code, to help enable things to work a different way, this feels bad, like wasted work, but it moves the project forward. It feels bad even though I'm re-writing my own code. If I was on a team, I think there would be more negativity around it.
If I was paid to do something, I would focus my time on adding features, but not really on refactoring. I'd do enough to show results, but I'd paint myself into a corner, at which point development would slow down. It would be hard to get 'cleanup' projects approved. Management wouldn't understand.
So, back to general stuff on being a craftsman.. something I've been going through was this constant sensation that "launch is coming", "launching next month!", but it was always in the distance.
For a whole year, it felt like I'd launch was one month away.
I think the lesson I was supposed to learn from this, was that I need to be hungry for the work I'm doing. The work is the reward, learning to enjoy the process.
The work is my food, and I'm learning to be hungry.
Loving the work, getting to the point where if I'm allowed to work on it, I've won, that's craftsmanship to me. Steve Wozniak is my hero in this sense. He loved the work, he loved "getting close" to the work and the code. He encouraged going over sections you already knew were pretty spiffy, just to get that much closer to the code.
Anyway, I think all the "work less" movement is because people haven't actually found work they actually like. I make animation software, and it's been a hard school to learn to like it, which you would think would be easy.
When the definition of anything changes to "work", it almost innately becomes harder to enjoy. I think the real lesson of the next decade is learning to enjoy work, especially when it becomes very difficult and harder to enjoy. To enjoy the unenjoyable is perhaps a secret to living.
When I release my software, I want to be standing beside it straight and tall, beaming at the craftsmanship. Part of me hates sales, and in a way, it goes with the craftsmanship part, knowing that only a truly great product is worth selling, and that product does much of the selling itself, after the initial people have used it.