Complexity am I right? No images? Click here I have some consultant power available both from myself and my colleagues. Some companies are pulling back a bit on hiring as the macro-economics of the world look shaky and what I gather is that a fair number look to hiring contractors to cover the short term need. Bringing on long-term commitments of cost in an uncertain environment is understandably uncomfortable. We can help in the short term. If your company needs reinforcements for the near-term (3-6 months), reach out by replying and we can talk. We do Elixir, as you might have gathered. Recently publishedElixirConf Africa - Chat Bots as UI (video) Livestream: Burrito for Elixir (video) Need to hire Elixir devs?Upcoming, EU-timezone senior Elixir developer --- If you are a tech lead or CTO looking to hire Elixir developers. Reach out, I can help. Keep it simple, stupidBeen feeling myself identifying with the stupid part of KISS recently. Doubt is a strong demotivator. I've recently been dealing with some very complex code work where my estimates have been off and every stone turned in the process of development feels like it complicates matters. I also shipped a thing with a mistake that could have been serious that cost me a day of fixing it. Is the complexity my fault? Am I causing it? Was the mistake sloppiness and poor craft on my part? Can I really put out quality work? I'm not struck by this kind of doubt very often. But occasionally it happens. And it can be very rough. The doubt is important I feel. Confidence is good and useful. Absolute confidence, unshakeable certainty that ones ability is fantastic, is a bad thing. You'll never reconsider, revisit, revise and you'll end up passing blame to everything else. When you are in charge of the work you do and actually own it, it is well worth raising the question occasionally. Is this just complicated and difficult or is something in how I do things making it complicated and difficult. Other people have a higher conviction in my skill than I do which I think is the way it should ideally be. I only occasionally feel like an impostor so I'm not crippled by anxiety in my work, thankfully, but I take myself with a grain of salt. I've seen my struggles. What of this doubt then? Am I the problem? In this case, not very likely. The thing I'm building touches on some of the gnarliest and most twisted complexities of .. the domain of the app. And it inherits a lot of complex implementation from earlier developers. I think some of my earlier efforts are also biting me because I have more clarity about the shape of the problem now than I did a year ago. Much of this complexity is inherent to the situation. Some is inherent to solving the problem. Some is inherent to the existing solution. I know I am trying my best to solve it wisely and with quite limited time. I think I can cut myself some slack and consider myself more of a solution than a problem. Shipping a broken thing is something that just plain can happen. In this case I missed a data migration case. I don't believe there is much that can be done to avoid it being possible to make mistakes. We can write a test to avoid this particular fault recurring. When your mistake places everyone in a nerve-wracking situation of uncertainty. "Why is it failing?", "What's wrong?", "Did we lose things?" that's never a good feeling. If I didn't stop to think "what can I do different?" I don't think I'd grow very much. If everyone that made these kinds of mistakes stopped and said "nope, never gonna do things with data again! I can't be trusted with it." we would eventually have no programmers. Maybe that'd be for the best. We're all the sources of all the problems in software. All in all, I think I'm doing an okay job. Even though I don't always feel it. Thanks for listening.. well, reading. If you have thoughts you reach me by replying or at lars@underjord.io. I'm also on Twitter as @lawik. I appreciate your time. |