Soft skills are hard problems No images? Click here It is never about the codeThere are a number of things going on right now actually. The small one is that I got a blog post out about the Telegram bot project I linked in my last newsletter (lawik/noted). So if you want to learn how to build a Telegram bot and create real-time LiveViews, I dare say it is a good place to go. The big one is that the podcast we started after our time at Elixir Mix is finally ready for the public. We are now indies! Welcome to BEAM RadioYou can find it at beamrad.io or more typically in your podcast player of choice. Bruce and Maggie Tate have kindly decided to sponsor the podcast as Groxio, Bruce is already on the show so it just means he gets a chance to say what they are up to and Maggie is our editor. Very smooth. You'll recognize the rest of the cast and I really like working with this crew. I hope you'll enjoy our way of making a podcast about Elixir, Erlang and the wider BEAM ecosystem. Super excited to keep presenting y'all with these episodes. We started with a small batch so you can get properly introduced. More to come. Also, the LiveView book which Bruce and Sophie have been talking about is available as a beta now. Human systems are harderWhen getting into programming there is so much focus on patterns, technical skills, analytical thinking and tools. And all of that is important. It is the baseline of the profession. You absolutely need the technical skills. My big advantage in skillset (being a white man with some confidence is not a skill and a different conversation) has probably not ever been that I'm the best programmer. I know programmers that are better than me that are arguably less successful, have less control over what they do and less often get their way. It has always been about what is usually called soft skills. Since they are also quite difficult skills, lets call them fuzzy skills. Machines are good at hard logic and generally poor (ML/AI prove this more than disprove it if you check the power usage) at fuzzy logic. Humans are pretty good at fuzzy and struggle with hard. But as a programmer you need to interface with a lot of logic-oriented systems. That is central to programming. Taking fuzzy human needs and turning them into hard and clear enough logic that a machine can do it as a task. I've always been comfortable writing and quite talkative since at least my teens. This had lead to building some level of skill with both speech and writing by shear usage. I'm not nearly as comfortable a speaker as I am a writer. Regardless being comfortable dealing with humans has benefited me more than any particular technical tool I've managed to wrangle. Communicating, knowing when to over-communicate for lossy mediums, lossy organizations, figuring out when you need to be extremely brief because the recipient defers any longer email to the "maybe someday respond to this" pile. All of these things are about understanding, adapting to and working with fuzzy systems, fuzzy protocols, undocumented quirks and the fact that you don't even know for sure what encoding you are sending out. And if you opt out of this you likely opt out of a lot of paths to greater success. As well as a lot of fun. If I didn't write I wouldn't have been invited to a podcast, if I didn't like talking to people I wouldn't host podcasts. If I didn't look to the people I wouldn't have a network in my community and I wouldn't be reaching any of you. I would advise any developer to practice writing. I would advise any developer to attempt teaching, in person or remotely, verbally. Get used to using your terminology, know when to cut through the jargon and into human language. Explain it simply. Explain in technical detail. This is an immense way of learning. And the skills you build doing non-technical work are applicable in your work but also beyond. Of course it is fine not to do this. Or to only do it sometimes. I just want to press on the value and complexity of fuzzy skills and handling fuzzy systems because often it is tempting to leave it to project managers, sales and customer support if you have an org around you. But honestly that just means that you've closed one eye and are pretending that part of the world isn't there. There is a system there and it is proceeding whether you take active part or not. Sometimes its fine not to participate, we all have limits. But there's a lot to it and if you only focus on the technical stuff I believe you are limiting yourself unduly. Please reach out with any thoughts via email lars@underjord.io or on Twitter where I'm @lawik. Thank you for reading and for your attention, I appreciate it. - Lars Wikman |