is it me? No images? Click here How much can you effectively do?I will be doing another livestream on the YouTube channel today. This one at 13.30 CEST. We'll tackle current news by picking up the Phoenix 1.6.0-rc1 and giving the new LiveView updates a whirl. heex templates, a new approach to components, see how it works without node and NPM. maybe we'll even set up Tailwind to run with the new asset handling. We'll see how far we get. On the latest Regular Programming podcast we did an episode on gear. What we use for doing the programming. Scaling?I have always wanted to do more things than I can feasibly achieve. Personally, professionally, in open source and in my current business. Tempering that has been key to actually achieving anything. That's the easiest when I either have a boss pressing on the importance of my work, I know I need to do the thing to get paid so my family has a stable financial situation or I have a client who I've promised to deliver something to. The rest, my self-motivated projects, are much trickier to drive forward. The more I put in that want-to-do space, the more resistance the actual execution puts up as I fragment my focus across many projects, avenues and efforts to improve. I've found some ways to work with other people to either help focus myself, where having other people involved helps me stay on target, not wanting to let them down. Or by offloading certain piece of work on other people who might enjoy it more, or who I can pay to do it. When I transitioned my website from a custom thing to Hugo I had someone work part-time on a script to convert the content. Dull work for me, fairly interesting work and useful experience to them. Plus pay. It still required some of my time to check in and follow up, but most of the iterating, checking the work and so on, they could do. I was essentially tech leading and managing the process but not doing the development work. I did formalize some of this by instituting the Assistant Developer role at Underjord and bringing someone in who in an ongoing fashion did this kind of behind-the-scenes work for me. The outcome of that has been promising. Now, this can be taken farther. You can scale a business by building up a consultancy or agency where you bring in people to do the lion's share of the work and you play the high level abstraction game. Mostly people work. Strategy, architecture, design, sales, marketing. This isn't what I'm trying to do typically. If you have read Company of One by Paul Jarvis. That's typically my philosophy, I want to stay small. I believe companies lose capacity to be good, awesome, thoughtful and a net good as they grow because the human side gets averaged away into a grey slurry and crushed out when legal, financial and administrative requirements take over. Building a company of 50+ people and retaining a company soul is a hard job. Some companies manage, I feel like most don't. Never mind adding more zeroes to that. So I don't necessarily want to "scale". At least not very far. Building a team for a client now is probably the max size I want to deal with. 5-ish people. I don't mind shifting between a bit of higher abstraction work, people-skills and hands-on-keyboard coding work. I like the variety of running a business. But I wonder, how many more things could I achieve if I always had a team? Would it unlock my time or lock it into the managing and leading? Can one build up experience in a team and give them enough incentive to stay and wield that experience in a similar way to how I wield mine? Leverage the rates you can charge to unlock more time and put that into interesting and useful projects. Would they want to? Is it reasonable to build that into the job description? If you keep scaling a consultancy you will entirely fill your time with management, meetings, leadership and admin. At a certain point you will have to delegate those and thus you introduce layers in your org and your are now "scaling" and at risk of losing yourself entirely in the business end. And what your company actually stands for lands in the hands of the average of the people you delegate to. The margin on a single, experienced developer who knows how to negotiate a decent rate and execute on work is very good. Bandwidth is limited though, stability is as well. Right now I'm doing the work of a tech lead and bringing in team members, which is also not scalable indefinitely. A lot of technical decisions, spec:ing out work, explaining the codebase and onboarding people has to go through me. I become a bottleneck. This particular week that bottleneck was full. I think once this team is rolling that'll calm down a bit. But I will be a bottleneck for how big the team can be as long as my input is needed. And maybe that tells me something about the size of team I can feasibly lead. And as experience grows in the team my input will be needed less and less. And I'll be less and less of a bottleneck. I think this size has potential and I'm curious to see where it will take us. I could see having a small team in Underjord as long as I can reliably provide paid work to cover everyone's salaries in a sensible way. This client is probably not going to fund this team forever, even if the plan is long-term. I could see that approach let me direct some of the team's efforts towards open source, towards interesting projects, during downtime, as part of their time, if my time gets unlocked. I've also seen companies try to do this and entirely fail. Spending life at 100% full-time or worse. If I grow this business it has to be sustainably. This is an important part of my life and my family's lives. I want it to be satisfying to me and I never want it to consume me the way these endeavours can. I'm curious to be on this particular journey right now with a great crew. Have you tried any of these ideas? How do you do things? Do you like big orgs? Do you like small teams? Let me know at lars@underjord.io or on Twitter where I'm @lawik. Thank you for reading, I appreciate your attention. - Lars Wikman |