-
Effective Engineer
-
Mostly Adequate Guide to Functional Programming
-
Awareness by Anthony de Mello
- Code is run more than read (12/23)
- user > ops > dev
- biz > ops > dev
- biz ≹ user
- Many people like to think that UI can be derived deterministically from state, when this is simply not true.
- React's attempts to become more pure (eg, classes -> hooks) makes it become further out of touch from reality.
- Svelte!
prefer duplication over the wrong abstraction
-
Kent C Dodd's Inversion of Control
-
10 Answers to Common Questions People Ask When Being Called Out for Using Ableist Language
Q: Aren’t you just a member of the PC police trying to take away my First Amendment rights? A: No. The First Amendment protects you from government interference in free speech. It does not protect you from criticism about the words you use.
What it takes to get the job isn't what it takes to do the job well
-
HBR's Women and Minorities Are Penalized for Promoting Diversity
-
Getting hired as a remote frontend developer in 2019 (4/2019)
- Use side projects as a way to stick out
- Twitter: a technical notebook to express thoughts about things learned and built
- Record conference-like talks and post them online
-
The economics of package management (6/2019)
-
The Atlantic's Why Is Silicon Valley So Awful to Women? (4/2017)
-
Art of Manliness's Men Without Chests (5/2018)
-
Vue's Comparison with Other Frameworks (12/2016)
-
ThinkProgress's A Creative Idea That Might Actually Help Close Tech’s Gender Gap: Librarians (4/2016)
-
Model View Culture's Are You More Than Okay: The State of Mental Health in Tech in 2016 (12/2016)
-
NPR Ed's Hey, Students: 5 Things That Are Wrong With Your Cover Letter (2/2017)
Do tell us a story; don't bury the lede; don't say what YOU'LL get out of the position; aim at the right target; get somebody to proofread
-
Mozilla's ES modules: A cartoon deep-dive (3/2018)
-
Walmart's The Benefits of Server Side Rendering Over Client Side Rendering (4/2017)
-
React Blog's You Probably Don't Need Derived State (6/2018)
-
The Atlantic's The Original Underclass (9/2016): Poor white Americans' current crisis shouldn't have caught the rest of the country as off guard as it has
-
(HBR) The One Number You Need To Grow -- NPS!
-
Introducing Zero-Bundle-Size React Server Components (reactjs.org)
-
Managing Oneself
-
The Joel Test: 12 Steps to Better Code
-
Stop just using “Frontend” or “Backend” to describe the Engineering you like
Try
product
vsinfrastructure
instead!
- Favor embedding unless there's a compelling reason not to.
- If you need to access an object on its own, don't embed it.
- Consider one-to-few vs one-to-many vs one-to-squillions. Don't embed if you have high-cardinality arrays.
- Don't be afraid of application-level joins; if you index correctly and use the projection specifier, it'll be fine.
- Only denormalize when the read-to-write ratio is high. Don't denormalize infrequently read, but often updated data.
- Structure your data to match the ways your application queries and updates it.
-
Bret Victor's Inventing on Principle from CUSEC 2012
-
Speaking Intelligently about "Java vs Node" Performance: new info -- threads (Java) vs processes/clustering (Node.js); already knew -- coordinating threads is difficult
-
Netlify's Modern Web Development on the JAMstack: GoTrue with JWT helps preventing need for each service to manage its own user database; using Git to store info like article contents and user comments, then publishing those changes to a CDN via a static site generator can help eliminate an entire categories of queries from being sent to your database
May I be filled with lovingkindness.
May I be safe from inner and outer dangers.
May I be well in body and mind.
May I be at ease and happy.
- Refactoring UI by Steve Schoger & Adam Wathan; some Twitter highlights here
Learn how to design beautiful user interfaces by yourself using specific tactics explained from a developer's point-of-view.
-
[Manhattan Institute] The Future of Income-Share Agreements: Policy and Politics by Sheila Bair and Preston Cooper
-
[Wait But Why] How to Pick Your Life Partner: pass the "Traffic Test," feel "at home," communicate, maintain equity, fight well
-
[Wait But Why] Religion for the Nonreligious: be aware of the fog (as regularly as possible) and look for more opportunities for those tiny escapes from the fog
-
Designing very large (JavaScript) applications: understand how the decisions you're making will impact how others will make their decisions
"I know how I would solve the problem" => "I know how others would solve the problem" => "I can anticipate how the API choices that I'm making, or the abstractions that I'm introducing into a project, how they impact how other people would solve a problem."
You want to get to a state where whatever the engineers on your team do, the most straightforward way is also the right way-so that they don't get off the path, so that they naturally do the right thing.
Otherwise add a test that ensure the right way,
- The Art of the Awkward 1:1: commit to being MUCH more vulnerable
Don't talk about any topic that you could discuss in the open
- CSS Grid Is Not a Replacement for Flexbox from Reddit: they're great complements and not necessarily replacements
This book is a guide to how we do product development at Basecamp. It’s also a toolbox full of techniques that you can apply in your own way to your own process.
Whether you’re a founder, CTO, product manager, designer, or developer, you’re probably here because of some common challenges that all software companies have to face.
As software teams start to grow, some common struggles appear:
- Team members feel like their projects are never-ending.
- Product managers can’t find time to think strategically about the product.
- Founders ask themselves: “Why can’t we get features out the door like we used to in the early days?”
We saw these challenges first-hand at Basecamp as we grew from four people to over fifty. Through years of trial and error — and some contrarian thinking — we solved these problems. For over fifteen years we’ve consistently shipped new software at a high-level of quality while maintaining a sense of calm and order.
Recently more and more friends and peers have asked us how we do it. This book is a comprehensive answer.
- Atomic Design by Brad Frost
Atomic Design details all that goes into creating and maintaining robust design systems, allowing you to roll out higher quality, more consistent UIs faster than ever before. This book introduces a methodology for thinking of our UIs as thoughtful hierarchies, discusses the qualities of effective pattern libraries, and showcases techniques to transform your team's design and development workflow.
- Refactoring: Improving the Design of Existing Code by Martin Fowler
This book describes the process of refactoring and spends most of its time explaining how to do the various refactorings - the behavior preserving transformations. The book opens with a simple example that describes the whole process. There are then some introductory chapters that discuss broader issues around refactoring, the “code smells” that suggest refactoring, and the role of testing. The bulk of the book is around seventy refactorings described in detail: the motivation for doing them, mechanics of how to do them safely and a simple example.
-
Advanced Software Design with Jimmy Koppel 53 min audio
-
Give and Take by Adam Grant
-
Clean Code
-
Pragmatic Programmer