I had some free time to code a side project to learn a new library and it got me thinking about the "meta" aspects of learning through projects.
I outlined my thoughts in this new blog post titled "Planning a Learning Project". Would love your thoughts!
https://t.co/t15K4p7eQY
I wrote about everything I've felt, feared, and experienced about using AI for code over the last few years, and my opinions on where we stand.
It's the most personal thing I've ever written.
And I'm putting it out there to share with all of you.
https://t.co/Uwa6UIPXFa
📚 Turns out I have way more opinions on design systems than I thought. So, as usual, I’m turning it into a series. Kicking it off with a pretty unstructured list of principles I want to write more about:
https://t.co/KTVCDwhoeV
Interviewer:
Invert this binary tree
Junior dev:
Here's the algorithm I memorized
Experienced dev:
Let me find a library for that
Senior dev:
Does inverting the tree align with our core business objectives?
🌶️
*every* JS/TS function that takes more than one argument should take an object instead
Better IDE support, code completion and you’ll never screw up the order of arguments
There’s always a debate on the value of university education for sw engineering.
Closer to 20 years after doing a CS degree, the biggest benefits I got:
1. Theoretical stuff that felt useless+painful back then became useful. Neural networks and 3D graphics are 2 things for me.
There's a lot of talk about new server features of React, but here are some upcoming client features I'm excited about. You don’t need to know about these yet, but they're available in the canary, so I want to share them to show what’s coming for client-only React apps:
Being a PM is sort of like being a mexican food truck: you are dispensing same info to people in different formats. Occasionally someone says "I don't understand this taco slide — what would that mean in burrito terms?" and you go "fuck, I didn't know this was a burrito meeting."
I had this argument with a “backend dev” on our team. I made an endpoint specifically for the UI I was building and only needed 2 (complicated but efficient) DB queries to get it.
He insisted I use the existing REST endpoints and blocked my PR.
So I did it his way and made 13 requests with several sequential chains. The DB load, network load, and UX were all far worse. I profiled it and showed the numbers and included our ops/infra team on the next PR.
They blocked the new PR and merged the original with a bespoke endpoint 😂
Tip: @ChromeDevTools can now override the content of Fetch/XHR requests! Great for mocking APIs without waiting on backend changes!
This and lots more in Chrome 117: https://t.co/kP0JrGfHlz
The most common way I see agile fail:
1. A team makes a mistake in production.
2. Executives create rigid, counter-productive processes because they want to avoid future mistakes.
Examples:
🚫 Change advisory board
🚫 Separate QA departments
🚫 Infrequent releases on a rigid schedule
These patterns are signs that leadership doesn’t trust their development teams.
It wasn't until I'd *taught* algorithms a few times that I finally understood why sorting is in the CS curriculum. Unfortunately, most curricula don't explain this!
It is NOT because sorting is an important algorithm to learn to implement...
I LITERALLY stopped working on my memo so I could read this indictment.
I am on page 24 and JESUS LUPITA NYONG'O CHRIST.
HOW this man still has the capacity to shock me after everything that's happened, i'll never know.
but I am sitting here *STUNNED*.
This is a valid Dockerfile for a NodeJS application. It is also a pile of 💩!
We can improve:
- 🔒 Security
- 🏎️ Build speed
- 👁️ Clarity
Follow along as we go from 💩 to 🥇!
(code in alt text)
A sign in someone's career, that I always take as a big positive: having been a manager, then went back to being an IC.
They are almost always more efficient, having been on "the other side". Often can be great partners to managers and know their reasons on "why not management."
🔥 Tailwind Tip 🔥
Create a "color background split" effect with CSS Grid.
It greatly simplifies the spacing adjustment gymnastics you need to do when using transforms to translate your element across both sections ✨