I'm not going to call anyone out, but I have been 😳 at the many people who replied with some variation of, "migrations are never worth it."
Kids.
If you aren't migrating, you are dying.
If it hurts, do it more.
When the sink is already dirty, you throw another cup in there.
When it’s clean, you wash it or put in dishwasher, keeping it clean.
This applies to your codebase, your design, your website, your inbox, your physical workspace.
This week, decide to clean something up.
A system of work in which everyone is working all of the time is very inefficient. A focus on individual busyness has the opposite effect to that desired, in that lead time rises exponentially as utilization increases
#BVSSH
I just got back from @fintechdevcon in Austin. It was a super fun trip (notwithstanding the 105 degree air 🥵).
I gave a new talk while I was there, on why compliance and regulatory standards are ✨not✨ incompatible with modern development best practices.
Too often we reward people who solve problems while ignoring those who prevent them in the first place.
Instead of glorifying those who run around putting out fires, we need to create an organizational culture that empowers everyone to act responsibly at the first sign of smoke.
My experience has repeatedly proven this Paul Graham quote to be true.
Three implications:
1. Writing cultures tend to learn faster than those that use slides, dashboards, or other mediums.
2. They learn faster because they present denser information to readers, but even more importantly because they help writers think more clearly.
3. As you become more senior, it is very dangerous to only review work from other people. You must keep writing yourself.
The one factor that made the most impact on my skill as an engineer was spending years pursuing DDD.
I went from a data-model first developer to a behavior-first developer and the benefits have been clear and profound.
https://t.co/7jFqQk0uDK
I recommend starting here.
If your printer malfunctions:
1) Remain calm. Hold your ground or back away slowly.
2) Continue facing the printer, and do all you can to appear larger. Stand upright, raise your arms, open your jacket.
3) Never bend over or crouch down, avoid looking like a prey animal.
I spent 10 years sharing my keyboard with a brilliant software engineer.
Here are 9 lessons I learned from him:
1. Fast is better than good.
Waiting too long, overthinking, and trying to get things right from the get-go is a mistake. Most of the time, "good enough" is all you need.
2. Enough technical debt is a good thing.
Hating technical debt is nonsense. People just don't know how to take advantage of it. Technical debt means working on what truly matters and deferring anything that can wait.
3. There aren't stupid questions.
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever." Chinese Proverb
4. Communication outweighs technical skills.
Spend twice as much learning how to tell stories than building technical skills. The ability to clearly communicate your ideas is a superpower.
5. Just because you can doesn't mean you should.
Maximize the things you don't work on, learn to say no, prioritize, and delegate. You can only see what matters when you tune out the noise.
6. Share like there's no tomorrow.
People want to be around those who lift them, so share your knowledge indiscriminately. The quickest way to become a linchpin is making those around you successful.
7. Take full responsibility.
Finding justifications is easy. Look inward instead. Learn your lesson, and do better next time.
8. The best code is the one nobody wrote.
Code is a liability. Learn to solve problems by writing as little code as possible. No-code solutions are an underappreciated superpower.
9. If you don't test it, it doesn't work.
Any code that can break will eventually break. If you don’t have automated tests, you are doing it wrong.
I don't write much technical documentation but when i do i try it to do as close as possible to the code. The next developer will rather look in the code then in confluence.
Antipattern: Start Starting
The more cars on the road, the slower they go.
The more work that is in progress concurrently, the longer the time to learning and value.
Pattern: Stop starting, start finishing
Limit work in progress to minimise time to learning and value.
#BVSSH