I'm taking another leap of faith, heading out into mostly unknown territory. Back to freelance, and focusing on creating applications for the marketplace. Will it work out? I don't know.
If anyone has some ideas for good resources for managing the business end of being a freelance web developer, I'd love to hear about them. I know all the stuff about tracking projects (though I have to set up redmine or something), figuring out requirements, estimates, deliverables, etc.
What I don't really know is the bookkeeping parts of it. I signed up for QuickBooks online, but have no idea how to set it up.
Anyway, keep reading to learn more about what I'm hoping to do.
I've been wanting to focus on more abstract things with my coding. I've been that way for a long time, not just with code. When I was working in the print world, I was not working on setting up individual jobs, but working on the system to streamline those jobs. Thinking in a more meta idea about what I was doing. I've never wanted to just sit down and do a job. Everything that I do is thinking about how it can be applied to other things. Seeing the similarity between project a and project b, analyzing how both could be standardized and flow better.
It's really, really hard to do that unless you are independent, or working at a large shop that is able to keep you off the production line so that you can help set up the processes for the other people in your department. Lately I've felt like I'm just going from one project to the next without a chance to catch my breath. Which is a good thing. That's because our clients are loving the work we do, sending us as much work as we can handle. They're intricate, challenging projects, as well.
But it's not what I really feel I want to be doing. I can slice a PSD to a theme like nobody's business. Realize a designer's dreams down to the pixel.
Thing is, really, anyone can do that. And what really challenges me and rewards me is looking at the larger picture. I don't want to make a community management add-on for a site. I want to look at 10 or 15 different projects that require that, then create a system that can be extended to work for all of them. Another step, and it becomes something for managing almost anything. Polishing and honing things until they are perfect.
I'd like to start trying my hand at theme design, too. Again, not going to a company and saying "hey, I want to make you a site that looks like this" but going "hey, what do I think would be a great layout, and how should I allow people to customize it?" It was really rewarding to make the responsive design for werstnet, to be just really starting with a color pallet and then building everything in the browser. You can't really do that when you are working on a design for a particular client. They want to know what it's going to look like, then approve it, then ask for revisions. That's really not me.
Another area I really want to focus on is documentation, tutorials, evangelism for concrete5. Things like that I think are really crucial for creating a healthy community. And the better that people get with it, the more end clients will think of it as something that they can use for high quality sites. Thinking of possibly trying to put together a sample outline for a c5 bible, but I'mk not sure if that would work. Still, can't really hurt to try, right? There are also a couple ideas I have to take things like the boilerplate package in my last post and split them out into the base parts. Then attach metadata to search them, and be able to be like "I need to find the syntax to assign permissions for a page from code in c5 version 184.108.40.206" and have it right there.
Of course, the marketplace is another area that I really want to put energy into. It kind of goes hand in hand with the 'jumping from site to site' thing that has me feeling stifled, really. There are probably a dozen different things that I want to finish and release. It's hard to strip away everything to the basics on the stuff you make in production, because it works mostly for one site, then you refactor for another, and so on. Each time it gets closer, but often the tweaks for site two take it away from what you need for site three. It works great on all of them, just want the client wants. But you spend 3 hours each time you tweak it. If you could sit down and spend 20 hours refining, documenting, commenting? Then on the next site it's 30 minutes.
Ideally, I want to take all of those pieces and make them into the kind of tools I want to use myself, then release them and see if others want them, too. I've been trying to figure out how to make that work as an independent. It seems like maybe crowdfunding might work. Publish what the add on is, then offer people licenses for sponsorship. At the higher levels, maybe access to a private github and a certain number of hours tweaking it to match their needs, or teaching them how to customize. Seems like it could work, but not totally sure.
Of course, I also want to get back into activism, too. Putting the tools I have towards making the world a better place. That seems like a really, really important thing right now. Not sure what form that would take, but it's kind of the end goal. Eventually I want to stop thinking about profit, businesses, all of that, and just think of 'what is going to do the most good in the world?'
So, a variety of things led me to this decision. It might not be a very good one, but I'm fairly confident that it will work out. I've sent out a few different inquiries to people that are looking for devs to help with ongoing work, and the responses have been quite quick and really promising. It's a good sign when you aren't asked to supply a resume or code samples, right?
And, if you're reading this and if you're a quality PHP dev looking for a full time position, I might know a place that's looking ;)