(everything) No images? Click here People scale poorly, yet somehow we existNot a lot of updates on the CMS project front. Mostly fighting with the layers of Ecto to try to figure out where my stuff best hooks in. Jason is plugging away UI stuff and Charles has been doing labs around migrations and is about ready to cause some code. Movement in the Underjord I had a delightful and tightly packed livestream where my good buddy Alex Koutmos (@akoutmos) set up his project PromEx to provide a lot of observability with very little effort for the Noted project (see the prom_ex branch). So in an hour we set up a fully functional Prometheus and Grafana setup and get no-effort reporting and dashboard for common Phoenix, Ecto and BEAM things. Live Dashboard is rad and lean. PromEx is the next level from that. You can find the video via the post on the website or on the YouTube channel. Another entry in the Teaching Elixir series where we cover Control Structures. Episode 4 of Regular Programming where we talk about frameworks. If you are enjoying the show, do share it around to people you think would appreciate it. It could be useful to more folks than my BEAM-focused stuff and it is a labor of love. I record it with one of my best friends and my wife edits it. Very close to my heart. Initial feedback has been absolutely delightful. Livestream today Today's livestream will be off schedule again with 16.00 CEST / 10.00 AM Eastern on the YouTube channel. I'm still deciding between more web crawler work, or trying to Proof of Concept that product idea I brought up last week or maybe something else. Having a hard time deciding. Will pin something down before the stream. But for now. Mystery!? The Business I'm thrilled. Clients are expressing happiness with the things I'm doing. A small team is forming for one client engagement which is something I've been wanting to try. And it seems to be working well. First real team meeting coming up on monday. I'm presently working with three people who are getting into the industry and they are all getting their first real tastes of software industry work. Two developers and one QA/test developer. I'm so glad to have reached a point with clients where I have that trust and can provide those opportunities. I know that threshold of the first job is an absolute struggle and I want to, in my small scale, help people across it. Actually, if you have opportunities for a junior dev (Sweden or remote) with some experience in Elixir, more skills in Python and a smattering of PHP, Node.js, JS that I would personally vouch for. Get in touch. Perfectly viableI’m the pig "It won't scale" is a common criticism of technologies as well as almost anything else in our current world. Especially in the tech space. Scale in what way though? And does it even need to? My consulting work does not scale. There is only one me and I can only deal with 1.2 client at any given time. I could scale it by turning it into a consultancy and trying to add more me-equivalent people. But that's not the same thing as what I'm doing now. Or I could build up a team and do similar work with more people and have an agency. Also not the same thing. But I make a great living doing what I do. So does it need to scale? The presence I have in my community and the relationships I'm building that have lead me into things I enjoy like BEAM Radio and on into new and challenging work. That doesn't scale. I'm a single point of failure, I'm trivially overloaded, I'm not highly available. I don't scale. The people I'm getting to know don't scale. You reading, you personally do not scale. But the relationships, community and conversations provide me immense value and contribute to me growing and making a living. It just happens that it doesn't "scale". Finding specific people, helping them find their way into the industry and getting to work with them to grow their skills and grow my understanding. It doesn't scale. I have a very clear limit to how many I can handle at a time. But it produces great outcomes. Very "teach a man to fish". But it is high touch. It doesn't scale. Building a software system meticulously. Choosing your technologies carefully. Keeping things simple. Sweating the details and honoring the craft and creativity of it. Apparently doesn't scale? Actually, I think that one is just immensely hard to scale. There's this idea around validating business ideas that you can do things that don't scale to make sure there is a business case. So you pretend that you have an automated service but actually just do the work behind the scenes and then build the automation once you know people would pay for it. That's an interesting idea and usually stated as "do things that don't scale" with the idea that you need to find how to make them scale later. I think you can just do things that don't scale. They just have to make sense in some way, financially, personally or otherwise. So tech created the meme and we should address that scale does matter. What scale do you actually need to reach? There is a ceiling on most software products. If you build a SaaS product, make a great living off of it and your customers are happy with how it works, does it need to scale beyond that? SQLite "doesn't scale" in certain ways and use-cases. But if all you want to do is build a great product with good availability, strong performance you can keep complexity very low by using it. Scale is contextual. What scale do you need for this tech, what scale makes sense, what scale is required for success? Making tons of money would be super convenient, let's be clear about that. Happy to make more money. But you can make great money with small scale products that have fantastic margin and minimal maintenance cost. You can also make great money based off of building relationships with other people. And people are really hard to scale well. I respond to the email my readers send me. That won't scale infinitely. But it works for the audience I actually have and I tend to have some very in-depth exchanges. If you aren't aiming for globe-spanning scale you can make something much more high-touch with all the details properly swetted. You can make something very compelling. And if you hit a point where it stops being feasible you can adapt. But it may never reach that point. And then why would you sweat the scaling concerns up front? A recurring thing when I talk to intermediate-to-advanced developers is that they hold themselves back from writing, publishing, releasing code and building projects due to wanting to do things correctly, or fully. Or so thoroughly as to be bullet-proof. I think this is a mistake that costs the world so much creativity and so many creations. If you feel like you need to build infinite cloud scalability into the product that only exists in your mind you are probably starting in the wrong end. Or just day-dreaming, which is fine. If you want to put more of yourself into the world and impose your ideas on the unsuspecting public. Put them out there at whatever level you can manage. I've seen this with needing to figure out the perfect CI/CD pipe, make truly reproducible builds, have perfect testing practices and generally some kind of idea about what good content is or what professional code looks like. Since that bar is a fiction of the mind I'm not convinced it can be cleared. Be your flawed human self, dare to show it. Put things out there. Do things that don't scale and aren't perfect. It can work wonders for you. What are you stuck on? I'm curious to hear your thoughts at lars@underjord.io or you can start a conversation on Twitter where I'm @lawik. Thank you for reading, I appreciate your attention. - Lars Wikman |