The Curious Engineer

Cory House

2012–2021

812 posts

2022–2026 →

2021 196

December 2021

  1. Accessibility tip: Use aria-current to style active links
  2. I hated Apple
  3. Just learned about Zod, a #TypeScript schema declaration and validation library
  4. Concern: Waiting for code reviews wastes time
  5. There’s nothing wrong with using free time to learn, explore, and grow
  6. When I think back on my early career, I made one mistake frequently: I tried...
  7. A common automated testing mistake in TypeScript: Not specifying the...
  8. When logic is hard to unit test due to side-effects, I typically prefer...
  9. This month I’m switching one of my clients from create-react-app to @vercel...
  10. Just created Remix Doge with @remix_run
  11. My unintuitive solution to burnout: Learn
  12. A powerful way to grow quickly: Learn alone, for free
  13. To close out the year, I'm experimenting with using these compelling tools...
  14. 15 ways to make a slow React app: Put all state in the root Don’t cache,...
  15. Becoming a software developer is a journey, not a destination
  16. I admire how @remix_run embraces convention over configuration (as...
  17. My code review checklist: ✅ Tested ✅ Secure ✅ Robust ✅ Reusable ✅ Accessible...
  18. I find TypeScript gets me to a better design, faster, because it encourages...

November 2021

  1. To expedite code reviews, I keep my PR's small
  2. I’ve seen some teams fail to successfully create design systems and...
  3. My initial impressions on @remix_run: ✅ Uses the web platform ✅ Works...
  4. Today I’m thankful for: @reactjs - For providing an elegant component API...
  5. A frustrating trend: The biggest reason I see teams ignoring/violating the...
  6. Problem: I have a React component with optional props that should only be...
  7. Pull request habit: Provide before and after screenshots in the pull request...
  8. After working in TypeScript for awhile, writing JavaScript feels...
  9. Just found a way to write React tests faster
  10. Habit: I step away from the machine when I get a confusing error
  11. Ever wonder if your TypeScript app has unused code
  12. I need to pick an auth provider for a web app startup
  13. Wow, the #React ecosystem now has (at least) 3 routers: 1
  14. Being a developer requires balancing 2 skills: 1
  15. With projects that use npm, it's easy to make two mistakes: ❌ Unused...
  16. Many #React devs consider create-react-app the obvious choice
  17. I was using fireEvent with @TestingLib
  18. Two things I enjoy: ✅ Fast machines ✅ Fast test suites On the M1 Max, 300+...
  19. Code review habit: To review tests, I split my editor vertically
  20. This week I learned more about a new React framework: @blitz_js
  21. Had an awesome evening out last night in Atlanta with @jcreamer898...
  22. When I consider splitting up a component: 1
  23. Checklist: How to make your React app faster ⚛️: ✅ Keep state as local as...
  24. Woah, Chrome now has a built in recorder
  25. Woah, I just found an elegant way to resolve package-lock.json conflicts:...
  26. Mac performance / battery life tip: Tell Spotlight to ignore the folder...

October 2021

  1. Found a M1 Max 32GB in stock at my local Apple store and couldn’t resist
  2. This week I worked with a team to get code coverage over 80% (a corporate...
  3. How to create a React app in 2021: Client rendered: create-react-app Static,...
  4. For most of my life, my goal was to save enough money that I could stop working
  5. Coding is writing
  6. I'm trying out pnpm (a fast, powerful replacement for npm)
  7. JavaScript's 8 falsy values: 0 -0 false NaN "" (empty string) null undefined...
  8. The 4-step bug fix: 1
  9. Woah, just found Sapling, a @code extension that displays my app's React...
  10. I'm working on 2 similar React component libraries
  11. HTML z-index tip: You might not need a z-index at all
  12. Software dev is an amazing career
  13. Common problems I see at companies that are struggling with their reusable...
  14. 7 practices that take more time up front, but save time later: 1
  15. Why I store all URLs in a one file: ✅ Support reuse ✅ Enforce consistency ✅...
  16. This Cypress post just blew my mind

September 2021

  1. Problem: You're using @Cypress_io for tests, and need to log in for each test
  2. Handy pattern I enjoy: Clone the repo twice
  3. 7 things that keep teams from doing Continuous Delivery (deploying daily or...
  4. A well-named test answers 3 questions: 1
  5. I recently reviewed a team's codebase
  6. My favorite way to estimate tickets
  7. Sprint mindset: "We estimate and commit to finishing work by this date"
  8. The problem with sprints: Sprints create a constant sense of hurry
  9. Habit: I often work in my car
  10. Two reasons to use HTML on forms: 1
  11. 10 lessons I've learned about handling React state over the last 7 years
  12. React PropTypes are dead to me
  13. An interesting JavaScript template string trick: You can replace this: {...
  14. Scenario: You're using TypeScript, and want statically typed CSS too
  15. HTML accessibility tip: Only add a role if you can't use the ideal HTML tag
  16. 30+ HTML tags to consider before using a div: header footer nav main section...
  17. Job satisfaction is driven by 5 factors: 1

August 2021

  1. z-index Tip: When creating a reusable component that declares a z-index, add...
  2. I've started using @Cypress_io & @TestingLib for more than testing
  3. The difference between `any` and `unknown` in #TypeScript: any = “I don’t...
  4. I'm excited about the new type narrowing features in #typescript 4.4
  5. After shipping multiple projects with #TypeScript, I wouldn't go back to JS
  6. The only technique I’ve found for creating reliable end-to-end tests: 1
  7. My favorite way to create a new JavaScript object with a property omitted is...
  8. Common problem: "We don't have time to improve our process"
  9. Simple #TypeScript tip I wish someone had told me long ago: If you get a...
  10. Just learned about SWC, a Babel alternative
  11. When unit testing, I rarely use mocking libraries
  12. How I pivoted from an object-oriented programming style to a functional...
  13. Habit: When I'm done coding, I don't immediately open a pull request
  14. TypeScript tip: Declaring type keys in alphabetical order makes them easier...
  15. A well-structured codebase is consistent on the following: Validation HTTP...
  16. My rule for React state: Any state that can be derived, should be derived
  17. As I’ve learned TypeScript over the years, I’ve noticed a pattern: If it’s...

July 2021

  1. The best financial advice I've found: 1
  2. It’s remarkable how much better life is on a development team with this...
  3. A practical alternative to pair programming that I enjoy: I open PRs early,...
  4. Just used TypeScript to enforce distinct prop combinations
  5. Today I learned about CSS' currentColor value
  6. As a dev, I do "Quality Assurance"
  7. I run each PR I review locally
  8. The first thing I do when I consult with a company: I review their app’s...
  9. Regex: Write once, read never
  10. I'm a big believer in automated testing
  11. Simple pattern to reduce the pain of “prop drilling”: Consider using an...

June 2021

  1. “What gets measured, gets managed.” So as a dev, I measure: ✅ Build time ✅...
  2. I was immediately excited when I saw React
  3. Reusable React component design tip: Mimic native HTML APIs
  4. Woah, just learned about CSS Container Queries
  5. Why I taught my son HTML, JS, and CSS before Git: I believe it’s easier to...
  6. Why I ❤️ software development: Experimentation is typically acceptable,...
  7. Splitting up a large front-end dev team requires 3 key ingredients: ✅ A...
  8. The most useful piece of advice I’ve heard for designing reusable React...
  9. Early in my career, my boss asked me to email all our customers
  10. When creating reusable React components, prefer compound components over...
  11. Two code review approaches: 1
  12. 6 React “frameworks” and their typical use case: ⚛️ create-react-app:...
  13. React tip: To keep JSX simple, return early
  14. The more I read about React 18, the more I realize: React is maturing into a...
  15. Years ago I read “The Non-Designer’s Design Book”
  16. 5 strategies for quickly merging PRs: 1 Create small PRs 2 Open tickets for...
  17. Developers who merely click approve on every pull request aren’t doing their job
  18. As a manager, I happily promoted proactive employees

May 2021

  1. To get promoted, exceed expectations
  2. Being a developer requires balancing hubris with humility
  3. It's hard to mentally disconnect
  4. TypeScript tip: VSCode's TypeScript server hangs sometimes
  5. Developers often focus on improving their coding skills
  6. When a developer responds to every pull request with “looks good to me”, I...
  7. One developer, working alone, can ship as much code as an entire team
  8. Woah, just learned you can use $npm_execpath to write npm scripts that work...
  9. Physical projects: Measure twice, cut once

April 2021

  1. I'm switching between JavaScript and TypeScript
  2. Three things I like to separate: 1
  3. TypeScript union types are 🔥
  4. How to attract and retain great developers: Pay well Use modern tech Offer...
  5. Just upgraded a project to React 17
  6. I've found reviewing code on GitHub alone isn't sufficient
  7. How to effectively answer “I don’t know” in an interview: ✅ “I don’t know,...
  8. Just interviewed a seriously impressive developer
  9. As a consultant, I’ve found 7 common reasons dev teams struggle: 1
  10. Two pet peeves: 1
  11. I often commit a change, then before I push I realize “Oops, I’m on the...
  12. Something 2020 made clear: Remote meetings work REALLY well when *everyone*...
  13. My rule for writing reliable, scalable software: Each feature must have...
  14. I quit my job to be an independent consultant in 2019
  15. Unpopular opinion: Separate QA teams lower quality
  16. Hot take: Relying on QA to write your tests and find your bugs is malpractice
  17. I’ve reached the point of coding in TypeScript where coding in plain...
  18. Habit: When I open a pull request, I do my own code review first
  19. I'm building a large React component library for a client
  20. When I do OO programming, automated testing feels harder

March 2021

  1. One of my favorite git commands: git checkout - This checks out the branch I...
  2. Things many people don’t like to do: Exercise Negotiate Work for free Read...
  3. 3 patterns that make TypeScript hard: 1
  4. To motivate a dev team, you don’t need gimmicks
  5. Microservices lead to many separate databases
  6. Hey developers, please stop disabling copy/paste in form fields
  7. "That's easy
  8. Writing software is basically a 2 step process: 1
  9. The worst dev team I ever worked on: No source control
  10. The cost of a slow development environment: It lowers my morale It drains my...

February 2021

  1. Two coding styles: 1
  2. Integration testing tip: Avoid creating many small tests
  3. Sprint planning: "Let's commit to exactly what we're going to deliver over...
  4. I rarely use Storybook for my clients
  5. If I constantly search for better approaches, I’ll rarely get anything done
  6. Over the years, I've hired dozens of devs
  7. What I look for in a pull request: ✅ As small as practical ✅ Focused on one...
  8. Occasionally I review React code bases where React.memo and useCallback are...
  9. I rarely use these React performance features: React.memo useCallback...
  10. I prefer small, focused pull requests
  11. Developer tip: If you're unclear about your task, speak up

January 2021

  1. My favorite way to wrap text in an HTML tag in VS Code: Use Emmet
  2. 5 books that improved my life - and their big idea: Ego is the Enemy - Be...
  3. Software tradeoffs: Build vs Buy Reuse vs Copy Sync vs Async Serial vs...
  4. Why I ♥️ being a software developer: -Good pay -Fast feedback -1000’s of...
  5. While working on a ticket, I'm often tempted to fix/improve unrelated code
  6. Adding Custom Testing Library Queries
  7. If you write tests with @TestingLib, here's a handy tool:...
  8. React Server Components in 5 Minutes
  9. Two fundamental risks I mitigate: 1
  10. I'm starting to think the greatest advantage of being independent is being...
  11. A surprising way to make significantly more money: Work for free
  12. Pro athletes do drills to improve
  13. My favorite financial habits: 1
  14. Coding without tests, static types, code reviews, and CI is like...
  15. Mistake 1: Ignoring new tech, so I end up doing things the old/hard way
  16. React = reusable components
  17. Some teams call tasks “done” when they’re not done
  18. It's surprising how many REST APIs lack useful docs
  19. In poorly-structured companies, the hardest part of software development is...
  20. 3 things I can influence: 1
  21. It's fascinating how differently I view a problem after a good night's sleep
  22. When something is hard to type in TypeScript, I often find that’s a sign I...
  23. On React components, I prefer false defaults for boolean props

2020 182

December 2020

  1. Early in my career, I pushed back on unfamiliar tasks
  2. Toyota dealer wanted $470 to change the spark plugs
  3. A reminder on why the industry started rendering on the client: Partial page...
  4. Just joined a TypeScript project
  5. 3 skills that make coding easier: Organization - Recognizing and grouping...
  6. My son (12) has learned JavaScript over the last 2 years
  7. Regex are hard to write, and even harder to read
  8. I don’t ask if I can write tests
  9. 6 techniques for managing large datasets in React: 1.Pagination 2.Lazy...
  10. Two questions that changed my life: 1
  11. As a kid, I looked at exotic cars and thought “It would be awesome to own...
  12. If a team has no automated tests, it's hard to get started
  13. 5 skills of successful developers: Communication - Clear writing, speech,...

November 2020

  1. I'm working on two similar projects
  2. Just joined a project
  3. I buy a new laptop every 1-2 years
  4. Today I’m thankful for: A healthy family
  5. On React's useEffect Hook: "I try to describe the effects I write by saying...
  6. My favorite benefit of going independent: freedom
  7. One of the most persistent rules of software: Adding more people to a late...
  8. TIL the browser's built-in form validation features are surprisingly robust
  9. 9 things that I've found improve development team velocity: - Mock APIs -...
  10. 6 Signs a Dev Team is Out of Control
  11. 6 signs a dev team is out of control: We don't have time to write tests
  12. Many companies use Confluence, Dropbox, etc for project docs
  13. “We all have the same 24 hours a day”
  14. Woah, npm 7 automatically installs peer dependencies:...
  15. Avoid creating flexible React components with many props
  16. TIL about the URL constructor
  17. An organization that doesn't document effectively, cannot grow efficiently

October 2020

  1. How I became a conference speaker: Someone said “Why aren’t you speaking?”...
  2. After coding in TypeScript, plain JavaScript feels like doing acrobatics...
  3. How to create a life of stress: Overcommit
  4. I'm considering writing another React related course on @pluralsight
  5. Low-stress life recipe: Early to bed
  6. The #1 answer I hear from teams that don’t write automated tests: “We don’t...
  7. A team without documented, repeatable processes is out of control
  8. Fallacy: To stay busy, go broad
  9. I'll admit it: For the first 10 years of my career, I thought tests were a...
  10. I am anti "foo"
  11. My opinion on TypeScript changed because the environment around it changed

September 2020

  1. What college is selling: 1
  2. Just read “The Psychology of Money”
  3. Many who have have experienced work from home will never go back to...
  4. Just successfully deployed a React app to an AWS S3 bucket via an Azure Dev...
  5. I avoid declaring React components via the concise arrow syntax
  6. I’ve spent the last three days convinced my laptop had been hacked or had a...
  7. Years ago, I was programming in PHP
  8. Software development is about these 10 transformations
  9. Software development: It’s hard to make something easy
  10. Epiphany: Just wrote a test…for tests

August 2020

  1. Just finished “The Phoenix Project”
  2. When stuck, step away
  3. Rhythm I’ve found: Work 2 hours, then take a long break away from the screen
  4. Woah, if you're building a component library / design system, "Design...
  5. It's done
  6. I don't need XState
  7. Formik vs Plain React for Forms – Worth it?
  8. I typically use plain React for forms
  9. To me, freedom is the game
  10. For people just starting React today, are classes worth learning anymore
  11. 5 reasons I prefer React function components over class components: 1
  12. Handy pattern: Declare a single status to replace related state
  13. You don’t have to work overtime to get ahead
  14. Working over 40 hours a week in a salaried position = giving time away
  15. Two rules that help me stick to exercise: 1
  16. Growth mindset: I want to get better

July 2020

  1. I've worked remote for years
  2. Why I prefer videos over live teaching/webinars: 1
  3. I ♥️ #remotework
  4. Meritocracy: Picking people based on talent rather than on class privilege...
  5. Sometimes, I want to use a React Hook in an existing class component
  6. Questions to ask when picking a data structure: How many records
  7. Four Reasons React Renders (and three ways to stop it)
  8. 4 reasons React renders: 1
  9. Life as a dev: Every few days, I learn something that makes me wish I could...
  10. Four Ways to Fetch Data in React
  11. Good habits create positive feedback loops
  12. On Admiring Simplicity
  13. A poorly-designed solution may seem impressive
  14. I ❤️ composition

June 2020

  1. In React, there are at least 8 ways to handle state
  2. Fallacy: Motivation creates action
  3. Over abstractor: “We should wrap React in case we move to Vue or Svelte.” What
  4. Some teams claim they're "too busy" to: 1
  5. After using @PrettierCode, watching someone code without it makes me cringe
  6. Slick way to get a unique JavaScript array: 1
  7. Why react-query / swr are awesome: They return cached data *immediately*,...
  8. I ♥️ Hooks
  9. In a JavaScript app, what do you call a file that only contains functions...
  10. TIL: HTML and create collapsable content
  11. 30 Ways to Handle React State
  12. As a developer, UI/UX can seem like an art or innate talent
  13. Interesting UI monorepo config: 1
  14. Overrated: Buying new stuff
  15. Why I write integration tests first: 1 I don't have to keep manually running...
  16. I've spent the last week trying to use #JavaScript Map and Set instead of...
  17. When working with a list, an array is an obvious choice
  18. I was manually updating localStorage anytime state was updated

May 2020

  1. The fastest way I've found to learn new tech: I build something with it...
  2. React-query and swr are awesome
  3. Learning is hard
  4. Most React devs know to declare a key when iterating over an array
  5. These are the 6 questions I ask to decide where to store state in React apps
  6. I'm torn about @tailwindcss
  7. New React state library from Facebook: Recoil
  8. I’m creating a reusable React component library in TypeScript for a client
  9. When fixing a bug, I write a test that reproduces the bug first
  10. Announcement: I'm writing a new course
  11. I don't write end-to-end (e2e) tests
  12. "I don't have time to write tests"
  13. Two things that totally changed the way I think about separation of concerns: 1
  14. Why I code against a mock API: 1 I control the speed 2 It's never down 3 No...
  15. React: The Good Parts 1
  16. HTTP call checklist: -Can this run in parallel with other requests

April 2020

  1. Programming irony: A complex solution often feels impressive
  2. TIL: To log all clicks in React, use onClickCapture
  3. Performance pattern If your web app requires a lot of data that changes...
  4. Useful organizational skills in software development: - Name things well -...
  5. TypeScript protects from edge cases
  6. TypeScript habit: When trying a new library, TS slows down experimentation
  7. My routine for happiness during the pandemic: Sleep well Exercise daily...
  8. Confession: For the first 10 years of my career, I considered automated...
  9. Today I learned: 1
  10. I'm jumping between 2 projects: 1
  11. Valuable developer traits: Humility and self-awareness These traits help you...
  12. JSON doesn't support comments
  13. I rarely say "that's impossible"
  14. My days of complaining about CSS positioning are over
  15. React = Legos for adults
  16. Why I ❤️ being a UI specialist: ✔️Close to the user ✔️I choose my tools...
  17. Why I no longer write classes in #Javascript: I don't need them
  18. I prefer #javascript function declarations over function expressions and...
  19. An unexpected benefit of closing schools: Slowing down creates space for...

March 2020

  1. PSA: Please don't name a variable "data"
  2. Over the last decade, I've consumed 100's of books, videos, blogs, etc
  3. When I'm unsure what HTML element to use, I Google for "HTML5 Flowchart"
  4. Why I ♥️ software development: I don't have to get it right the first time
  5. JavaScript rest syntax can remove properties too
  6. I'm really enjoying the 16" MacBook Pro
  7. Client: Help
  8. Want to create a new #JavaScript object with an optional property
  9. The "best" technology often doesn't win
  10. Adopting TypeScript: Short-term pain for long-term gain
  11. I ♥️ Hooks
  12. In Chrome, if I write an infinite loop, the tab just freezes and cannot be...
  13. I'm dealing with an unhelpful error message that doesn't provide a useful...
  14. Why I ❤️ TypeScript: TypeScript gives me what I love about C#: Strong types...
  15. I'm updating a client's React component library
  16. 3 reasons to use TypeScript instead of React PropTypes: When checks run: PT:...
  17. Unpopular opinion: I like switch statements

February 2020

  1. Realization: Independence increased my productivity
  2. To save money💰 Buy used Avoid buying the “best”
  3. To save money, look for “diminishing returns” (the point where the better...
  4. Unpopular opinion: ESLint rules should be strict
  5. I ♥️ pure functions
  6. Rules keep me safe
  7. Tweet 1225595715281399808
  8. How I write code: 1
  9. I'm working in the cleanest code base I've ever worked with
  10. It's sad how many people I see making good money, creating their own prison

January 2020

  1. Common mistake I see in React apps: Putting state in the wrong spot
  2. Common thread among people I respect: An abundance mindset
  3. As a consultant, I'm seeing an epidemic: Companies are wasting millions by...
  4. So far, I ♥️ being independent
  5. I ♥️ remote work
  6. I put a React component in its own file when: ✅It's reusable by itself ✅It's...
  7. Wow, now that I understand state machines, I can't help but see them
  8. Common testing mistake: Describing behavior without context
  9. I avoid nested destructuring, especially when declaring defaults
  10. You don’t need a library to create a UI that uses a state machine
  11. React tip: With boolean props, prefer a false default
  12. React features I avoid at first, then only refactor to when necessary:...
  13. App without tests: 1
  14. Why work remote
  15. Simple rule to keep React apps simple: Declare state as low as possible
  16. Default mode: The activity you naturally reach for during free time
  17. Solid writeup for anyone managing a JavaScript monorepo
  18. An underrated way to learn and stay current: Read the docs
  19. 🎉 It's live
  20. Just radically reduced our CI build time
  21. React integration testing tip: On your CI server, run your automated...

2019 136

December 2019

  1. "We need a mandatory weekly retrospective to be agile." No we don't
  2. Two forms of working for "free": 1
  3. “We need mandatory daily stand up meetings”
  4. This advice improved my writing: Prefer active voice
  5. Upward spiral: Sleep well -> exercise -> eat well -> focus at work...
  6. My entire career, I've only used automated integration testing when the app...
  7. This is a superb, visually stunning blog post on React Hooks
  8. What a 2019
  9. Common saying: "Buy experiences, not stuff"
  10. Using a timebox for a tricky issue is a great way to avoid wasting hours...

November 2019

  1. TIL you can prefetch lazy loaded React components.🔥 create-react-app honors...
  2. In poorly built software, velocity slows over time
  3. I believe the world would be better if TVs weren't in public spaces like...
  4. Have an issue, but can't tell what line is causing the bug
  5. Welp, after literally 10 seconds using the new MacBook Pro 16" I was sold
  6. Currently updating imports in a large project from the "named import" style:...
  7. Choosing the “hard” way requires discipline
  8. I feared public speaking
  9. Felt so lucky today
  10. A risky dev team mindset: "We're too busy to do code reviews." Without...
  11. You can conditionally add JavaScript array elements in a single expression

October 2019

  1. Emerging job title: UI Architect Concerns: State management Reusable...
  2. Tip: JavaScript's spread syntax is also handy for creating a copy of an...
  3. If you navigate away quickly before a setState call completes, React warns...
  4. An option to consider: Stuck
  5. Want more screen real estate and less noise in @code
  6. One of the most satisfying experiences when writing automated tests: 1
  7. Mac tip: Use Safari when on battery
  8. I’ve been working heavily in React for 5 years now
  9. 3 keys to easily reusable React components: ✅Declare detailed propTypes (or...
  10. Tip: Annoyed by how libraries like Axios place the response under .data
  11. Lousy variable name: data It says nothing about what's inside
  12. Two reasons I ❤️ modern UI dev: 1

September 2019

  1. TIL: If you accidentally use a promise.then (instead of await) in an async...
  2. Developer productivity is directly related to feedback speed
  3. TIL you can declare a local file as an npm dependency
  4. Merging pull requests too quickly risks hurting quality
  5. Ever annoyed by the long list of local Git branches that are no longer relevant
  6. The internet became more enjoyable when I realized: I don't have to respond
  7. Common thread I've found in the bios of extremely driven men: Their...
  8. TIL the CSS attribute selector is surprisingly powerful
  9. For me, happiness requires balancing: 1
  10. My approach for learning new tech: 1
  11. Now that I'm independent, I feel liberated
  12. Big news
  13. "Everyone has the same 24 hours" is a lie

August 2019

  1. Looking back, the moment my life turned around for the better: I finally...
  2. Yet another reason to ❤️ async/await: If you mark a JavaScript function as...
  3. Component-oriented development is increasingly gratifying over time: I start...
  4. Just added a feature to a huge 10+ year old app written in C#, ASP NET...
  5. Software mistakes that are expensive to fix: - Hiring the wrong people -...
  6. Writing "Logic-less" JSX can improve readability
  7. Components have many potential states (error, no data, etc)
  8. In #JavaScript, I find it's typically preferable to create a file with plain...
  9. One of the most valuable concepts I learned in school: Opportunity cost -...
  10. Loving the new React devtools
  11. The combination of @Cypress_io and Cypress @TestingLib has made testing such...
  12. In React, I rarely have perf issues
  13. Starting these activities can radically improve quality of life, even if...
  14. I’m frugal with liabilities: -car -clothes -cable TV Liabilities depreciate...

July 2019

  1. My preferred workflow when fixing a bug: 1
  2. Attitude checklist - When I'm feeling lethargic or moody
  3. Just learned about GitHub's handy suggestion feature
  4. Habit: At the gym, I walk up to the guys who I have a physique I’d like to...
  5. When most people say they want to be a millionaire, what they really mean is...
  6. TIL With async/await, you must await a promise for try/catch to catch the error
  7. Great example of the benefits of async/await
  8. The fastest approach I've found for wrapping existing markup in a new tag: 1
  9. For most my career, I ran 2-3 monitors
  10. Programmer tests should: Minimize programmer waiting
  11. I'm a huge fan of @kentcdodds testing-library

June 2019

  1. 3 books that had a huge influence on my career: 1
  2. Working in a sloppy codebase under a tight deadline: “I will have to...
  3. Why I love modern UI development: ✅ Work solely on my local machine ✅ No...
  4. Two concerning trends I'm seeing in modern React apps: 1
  5. When someone new joins the team, I try to avoid verbal training
  6. Speaker tip: "Don't memorize your talk
  7. When a tweet ends with “don’t @ me”, I hear this: “Listen to me
  8. I've seen microfrontends work well with these rules: 1
  9. The 3 conditions that sociologists consider crucial to making close friends: 1
  10. Common thinking: "I need to add code to justify my job"
  11. Avoid trading long-term happiness for short-term pleasure

May 2019

  1. Question: For those writing automated integration tests/end-to-end tests,...
  2. Voluntary discomfort avoids involuntary discomfort
  3. Here's a simple practice for maintainable code
  4. To foster automated testing: 1 Setup test framework 2 Write a few tests 3...
  5. Redux and context are like pain medicine
  6. A benefit to having an expert on the team: They've already made *many* mistakes
  7. Recipe for going nowhere for a decade: 1
  8. GraphQL isn’t suddenly popular because it can do things REST can’t do

April 2019

  1. Sad to hear of Joe Armstrong's passing.😔 My fav quote of his: "The problem...
  2. "Premature optimization is the root of all evil" - Donald Knuth Why
  3. Just spent months building a high performance UI in React
  4. Things I think about during a code review: Is the intent clear
  5. What I love about working remote: You can work where you feel most inspired
  6. Ooo, I like this pattern from @kentcdodds for minimizing boilerplate in...
  7. I have days where I say “I don’t have time for the gym.” Yet I spend an hour...
  8. Habit that has radically improved my life over the last 5 years: Listening...
  9. Just used react-window to handle a table of 1000 records
  10. Unpopular opinion: The team lead should approve all code reviews
  11. When a team regularly responds to code reviews with “Looks good to me”, I...

March 2019

  1. Just finished “The Simple Path to Wealth”
  2. Woah, this is elegant JavaScript
  3. TIL about console.dir
  4. When creating reusable components, it's useful to have a checklist of states...
  5. I'm ashamed to say I used to assume consumption was a sign of wealth
  6. I'm concerned by open source projects using only Yarn in their examples
  7. React tip: Context can enhance performance too
  8. Little JavaScript trick I find useful: When declaring a named import, enter...
  9. Working with dates in JavaScript
  10. Just built a powerful React form implementation with 3 ingredients: 1
  11. My huge update to "Building Apps with React and Redux" on @pluralsight is live
  12. Just got confirmation that the major update to “Building Apps with React and...
  13. Recording complete

February 2019

  1. Superb CSS post
  2. Limiting work in progress is important
  3. If you're doing GraphQL, here's an excellent, concise list of best...
  4. There are so many benefits to transitioning to GraphQL
  5. To simulate enums in JS, you can use an object
  6. A Slack chat from today: "We're trying to reach feature parody"
  7. Software development: When your curiosity about why something doesn't work...

January 2019

  1. A helpful code review mindset: "Will we understand why this line exists...
  2. When I see complex code that I don't understand, I fight a knee jerk...
  3. I feel wildly lucky to have found a career I enjoy so much
  4. Hot take: Optional chaining encourages writing brittle code
  5. JS Tip: You can declare a default value when destructuring
  6. Your outcomes are a lagging measure of your habits
  7. Okay, I confess
  8. I don’t understand the grumpy old programmer stereotype
  9. To start a habit, plan when and where
  10. A http://README.md is my favorite form of documentation
  11. Woah, here's a slick way to learn/experiment/teach JavaScript: RunJS
  12. I ❤️ building against mock data
  13. Despite my long history in C#, I’m still not using TypeScript
  14. A function can be too long or too short
  15. Tip: You can compare any two files using VS Code's slick native diff tool: 1

2018 154

December 2018

  1. Npm perf tip: Use npm ci instead of npm install for 1
  2. My 3 favorite ways to navigate in VS Code: @code 1
  3. Tweet 1078634947831914496
  4. In 2018, I greatly reduced my bad habit of doing things merely to impress others
  5. Tweet 1077027663066423296
  6. Refactoring before commit is critical
  7. I've wasted countless hours through the years on slow feedback loops
  8. Tweet 1074766431991017473
  9. Common mistake in React apps: Storing values in state that could be derived...
  10. Developers: When asked to disable copy/paste, just say no
  11. Just converted a React component to use Hooks
  12. 🎉 It’s live

November 2018

  1. Spent yesterday building a React app using Hooks
  2. Just drove a @Tesla Model 3
  3. The 2018 State of JS Survey results are published
  4. Everyone’s life is filled with gravitational pulls that hold you in place:...
  5. Time is money
  6. Exercise is seriously magical
  7. Tweet 1058381128434892800

October 2018

  1. It takes me 2+ hours of recording and editing to create a tight 5 min video
  2. At conferences, I frequently talk to attendees who blow me away with their...
  3. Promise.all combined with modern JS features like destructuring, object...
  4. Idea: 1
  5. When I was young, I dreamt of things I wanted to buy
  6. Optimism is the most important quality you can develop for success and happiness
  7. It’s live
  8. Procrastination is often a sign we don't have clarity on how to move forward
  9. The most striking benefit of dev in React/Angular/Vue vs jQuery: Components...
  10. Just switched some tests from Enzyme to react-testing-library: ✅ Encourages...
  11. An oddly common career mistake: Becoming the go-to person for something we...

September 2018

  1. One of the most powerful things you can do for your motivation: Find work...
  2. Odd habit: I often code in Git diff view
  3. I keep noticing examples of how movement *creates* motivation: Start walking...
  4. Tip: If you don't need to return anything while iterating over a JS array,...
  5. Okay Twitter, I'm teaching my 10 year old son to code today and I need help
  6. Really enjoying my new outdoor office
  7. Why I ❤️front end dev: 1
  8. Commitments that radically increased my quality of life: 1
  9. There’s always somebody Richer Faster Smarter Stronger More popular Better...
  10. Two types of people: 1
  11. Realization: I'm more productive on side projects because I step away when...

August 2018

  1. So, think your eyes are fine
  2. Confession: Technology moves so fast these days that when someone recommends...
  3. I ❤️ Git
  4. Learn one thing at a time
  5. Recruiter: "We hire the best people in the world...who are willing to work...
  6. Jest 23.5 now supports .each statements: lay out multiple scenarios in a...
  7. My @ThatConference keynote is now up on YouTube: "The 7 Pillar Developer: A...
  8. I'm late to the party, but I just learned CSS grid in about 30 minutes via...
  9. Workflow tip: Topical browser windows
  10. When I started coding my apps slowly became a house of cards
  11. React tip: Extract your lifecycle method logic to well named methods

July 2018

  1. Speaking healed my poor self-image by changing how I assumed other people saw me
  2. Coding angry: Mostly fruitless
  3. TIL: You can easily grab all HTML form data like this: var data = new...
  4. Just tried hosting GraphQL on Amazon's AppSync
  5. Sure, the definition of success is personal
  6. Never rely on your co-workers or QA staff to find bugs in your code
  7. Confession: I speak at conferences because I benefit immensely: 1
  8. Coding gets less stressful over time
  9. Woah, just learned that in Node, values in package.json are automatically...
  10. Solid speaker tip: Be clear about the transformation you'd like to make in...
  11. Specialize
  12. Thanks for attending “Goodbye REST, Hello GraphQL”
  13. On desktop, a user waits around 9 seconds before giving up
  14. Hey React devs, here's a repo that shows the same React app written with 4...

June 2018

  1. With cross-cutting concerns, I like to begin with copy/paste
  2. Idea: - Think about your day in 15 minute blocks
  3. Why learn the proper names for language features
  4. Sure, toying with new tech is fun
  5. I enjoy learning concepts from others that believe I already understand
  6. One of my favorite things about side projects: When I'm stuck, I can walk...
  7. I often see applications that are needlessly bloated and complex
  8. If you're a speaker, watch this 6 minute TED Talk about nothing
  9. Developers must strive to stay current so we know when our expertise,...
  10. If a week ago you told me my GitHub repo will be hosted by Microsoft in an...
  11. The biggest barrier to automated testing isn't learning how to write tests
  12. Most teams add dependencies without asking "Can we afford this?"

May 2018

  1. Over my career, it's surprising how rarely I've used recursion
  2. Tired of converting React functional components to classes by hand
  3. Four super helpful #JavaScript array functions: map - give me a new array...
  4. When I started coding: "This isn't working
  5. I'm writing a new conf talk: "Going Pro"
  6. Writing dumb code is actually hard
  7. "Patterns for Reusable JavaScript Components" is now up on YouTube
  8. Excellent post on handling space in CSS

April 2018

  1. Tweet 989855994867015680
  2. "Avoid centralized config
  3. I prefer plain JS over ImmutableJS
  4. I often see confusion around the need/impact of treating state as immutable...
  5. Yes, CSS is hard
  6. Tip: When creating a new React component, start by requiring all props
  7. Realization: Resumes have little correlation with me saying yes to a...
  8. Tired of writing React propTypes by hand
  9. So how's everyone handling mock APIs
  10. It's concerning how many internal projects have no docs
  11. Making my slides for "Rapid UI development with Mock APIs" at @sddconf London
  12. Do you read books and blogs that are full of superb life advice...and then...
  13. Coding gets much easier over time
  14. Solid examples of some common mistakes with async/await: How to escape...
  15. Study finds remote workers are more productive and stay with the company longer
  16. Systems > goals 1
  17. Today I'm creating plop templates for our team's React framework
  18. Question I've heard recently: “What if we create a component library in...
  19. Yep, JavaScript Moves Fast. Build Your Component Library Anyway.
  20. Tweet 981558704708472832
  21. Tweet 981201871263158272
  22. All too many meetings are scheduled because the scheduler is unwilling to...

March 2018

  1. Google publishes a JavaScript style guide
  2. React tip: Functional components transpile down to less code, which =...
  3. Apple support is exceptional
  4. Woah, @Netlify now supports AWS lambda functions
  5. As a dev nearing 40, this StackOverflow stat concerns me: Only 7% of...
  6. Why specialize
  7. Many companies have: 1
  8. "What have you learned in the past week that you’ll still care about in 5...
  9. The "full stack" dev is a dying breed
  10. Love the new split terminal window feature in VS Code
  11. Realization: I’ve spent many hours reading books and blog posts about...
  12. Sure, you know about console.log, but there are a lot of other handy tools...
  13. GitHub tip: You can assign "code owners" to sections of a code base
  14. Ever use your Browser's console as a little scratchpad to try JavaScript
  15. Career tip: As tech moves faster, consider specializing
  16. How I read open source docs: 1
  17. How to handle environment-specific settings in your JavaScript apps

February 2018

  1. GitHub Tip: Create PULL_REQUEST_TEMPLATE.md in your project root
  2. promise.finally has moved to stage 4, so it's officially part of JavaScript
  3. Highly relevant quote for anyone teaching or learning
  4. Pattern I'm increasingly seeing: Companies are forking create-react-app and...
  5. Excited for the enhancements coming to Babel 7: - 60% faster 🚤 -...
  6. So true
  7. "99% of the time, when you think you need to mock a module, the real answer...
  8. Need something fixed/enhanced in an open source package that you use at work
  9. React tip: You can eliminate constructors for state and binding
  10. "Comment the why, not the how." is the most succinct and useful maxim for...
  11. The number of options for automated testing in #javascript today is amazing
  12. JS tip: console.log accepts multiple arguments
  13. Realization: Putting Redux in our company framework by default was a mistake
  14. Fascinating overview of Spotify's desktop app, built in JS
  15. An epic read for #javascript app best practices/project guidelines
  16. 🔥 Confirmed: 🔥 1
  17. Git tip: Have a lot of old branches on your machine
  18. Motivation hack: Leave an incomplete task at the end of your work day
  19. Impressed with the regex enhancements in ES2018
  20. ES2018 has been finalized
  21. Common question: "How do I build a big SPA?" My take
  22. Remote work benefit: Interacting via text fosters reading & writing skills

January 2018

  1. JavaScript tip: You can easily simulate named function parameters
  2. A successful development team is like a bees nest
  3. Woah, automatically convert your plain JavaScript React components to TypeScript
  4. Watch out: You may unknowingly be addicted to complexity
  5. "I've heard from several people that they've consolidated their companies...
  6. 6 years ago: I was terrified of public speaking
  7. Slick way to update an element in an array in an immutable manner *without...

2017 70

December 2017

  1. Seriously, if you haven't tried automated testing with @Cypress_io, do it now
  2. Career tip: If your boss doesn't see it, you won't get credit for it
  3. Three ways to design a reusable React component: 1
  4. React tip: You often don't need to declare a constructor in class components
  5. Speaker tip: Instead of asking "Who doesn't understand x?" ask "Who...
  6. Perhaps the most striking stat on the 2017 State of #JavaScript Survey: VS...
  7. Coding a simple prototype takes a little time, but saves a ton of time in...
  8. Man, after using @prettiercode for a month, I'd love to have all the time...
  9. Just rewrote a Redux app in plain React
  10. Creating a new feature
  11. Woah, prettier does a wonderful job formatting markdown files too
  12. Designing Reusable React Components

November 2017

  1. Handy way to update npm packages: Use npx
  2. Perf tip: Stop using babel-preset-es2015
  3. Coming very soon: Use cipm instead of npm on your CI server for 20x faster...
  4. It's live
  5. Using the same JS lib on multiple apps
  6. Extract your setState calls to pure functions
  7. Tip: Does your project work better with @code (VS Code) extensions
  8. React Pattern: Centralized PropTypes
  9. Tip: With async/await, you can run multiple async operations in parallel
  10. As a long-time OO developer, I've finally embraced the functional paradigm...
  11. Is there a single good reason to ever use a static class in #javascript...
  12. Here's a handy pattern to easily build objects for #javascript tests
  13. Just updated the "Tech Speaker Starter Kit" with some new resources...
  14. This is absolutely key

October 2017

  1. Much of writing testable code boils down to this: Keep logic and I/O separate
  2. Why blog
  3. Spent the morning comparing React's syntax to Angular, Vue, and Ember's for...
  4. I'm a fan of Redux, but it's a power tool, not a "use it all the time" tool
  5. Developer job security: Low road: Obfuscate so only you can understand
  6. Woah, you can get most of TypeScript's benefits with plain JS by just...
  7. I've found a VSCode setup I ❤️: Material Pale Night Material Icon Theme See...

September 2017

  1. Reusable Web Application Strategies: three patterns for running the same app in multiple spots
  2. "Never Write another Higher Order Component" Excellent talk by @mjackson on...
  3. To convey the big picture, I'm compiling a list of reasons *not* to use...
  4. Deployment & release aren't the same thing

August 2017

  1. After watching my "Building JS Dev Environment" course, someone emailed me:...
  2. Public Speaking Transformed My Life…and Can Change Yours Too
  3. Remote work is much more productive for me
  4. Developer

July 2017

  1. After attending many conferences, I've realized: I don't attend to learn
  2. "JavaScript fatigue is what happens when people use tools they don't need to...
  3. Was about to create this, but great to find it exists
  4. Great idea
  5. I've never written a conf talk, blog, or course without learning a ton in...
  6. Tip: You can automatically add a code review checklist to GitHub pull...
  7. Event organizers: If you give us a quality shirt with: 1

June 2017

  1. Most bugs come from side effects, so write "pure" functions: 1
  2. Why write pure functions
  3. "70% of a developer's day is spent reading code." - @getify Optimize for reading
  4. Tried Vue
  5. Tweet 874798551267762176
  6. It's live

May 2017

  1. Tip: You don't need to declare a constructor in your React component to...
  2. Create React App has been upgraded: Webpack 2, PWA by default, and really...
  3. Sure, destructuring props makes code concise
  4. Here’s Why Client-Side Rendering Won
  5. So here's my favorite new way to rapidly prototype React components
  6. Q: "How about we just ignore tests for now

April 2017

  1. Love this
  2. A function name should describe what it does, not when it's run
  3. Software maintenance is not "keep it working like before." It is "keep being...
  4. After over 6 months of heavy research & writing, I've finally started...
  5. ES6 modules support lands in browsers

March 2017

  1. My take on #reactjs setState: 1
  2. Node debugging used to be 😔 In @code it's 😍 Watch window, call stack,...
  3. React tip: State that references itself leads to out-of-sync bugs

January 2017

  1. To increase quality: 1 TDD 2 Pair 3 Stop bug tracking
  2. I've switched from Webstorm to VSCode: 1 Faster 2 Sips battery 3 Entire UI...

2016 21

November 2016

  1. The JavaScript Starter Kit Manifesto
  2. Why Do Developers Run Macs?
  3. A Week with the New Macbook Pro with Touch Bar
  4. The hardest decision in software development today: What should I ignore
  5. Building a JavaScript Development Environment – Live on Pluralsight!
  6. It's live
  7. Want to Code Faster? Timebox Impediments

October 2016

  1. Save typing in npm: npm i -D <- install ---save-dev npm i -S <-...

September 2016

  1. Important: Named imports still import *the entire resource*

August 2016

  1. Tip: Avoid using switch in #JavaScript
  2. React Binding Patterns: 5 Approaches for Handling `this`
  3. Posted: React Binding Patterns: 5 Approaches for Handling `this` keyword...

July 2016

  1. Devs, watch out for this in 2016: You can easily spend all your time...
  2. I Don’t Do Q&A at the End of Conference Talks. Here’s Why.

May 2016

  1. React and Redux in ES6 – Live!
  2. It's live

March 2016

  1. In Defense of ES6 Classes
  2. Common coding mistake: Trying to do too much in one commit

January 2016

  1. Why I Left Gulp and Grunt for npm Scripts
  2. Angular 2 versus React
  3. Angular 2 versus React: There Will Be Blood

2015 13

December 2015

  1. Casing jargon for developers: camelCase PascalCase kebab-case Train-Case...

October 2015

  1. 12 Rules for Professional JavaScript in 2015
  2. Internet Explorer 8 is (nearly) Dead

September 2015

  1. React’s JSX: The Other Side of the Coin

August 2015

  1. React Demo Apps
  2. Building Applications with React and Flux

July 2015

  1. Webpack vs Browserify

June 2015

  1. Conferences Are For Why, Not How

May 2015

  1. What Makes a Great Coding Interview? Be Real.

April 2015

  1. Why I’m Not Sold on MongoDB

March 2015

  1. Is Separating HTML and JavaScript Harmful?

February 2015

  1. 7 Ways to Handle Circular Dependencies in RequireJS

January 2015

  1. Cache Busting via Gulp.js

2014 19

November 2014

  1. 6 Quick Tips for Presenting Code in Visual Studio
  2. 6 Quick Tips for Presenting Code in Visual Studio

October 2014

  1. Two Quick TFS Performance Tips
  2. Shadow DOM vs iframes

August 2014

  1. Knockout Bindings are Evaluated Left to Right

June 2014

  1. An Epic Week of Development in Norway

May 2014

  1. The TDD Divide: Everyone is Right

April 2014

  1. AngularJS: The De Facto Standard for SPA Development?

February 2014

  1. User Interface Framework Showdown: Bootstrap, Foundation, KendoUI, and jQueryUI

January 2014

  1. Who Dictates Software Quality: Client or Coder?
  2. Where Should an Architect Begin?
  3. Lean Software Architecture: Focus On the Pain – Part 3 of 3
  4. Lean Software Architecture: Build The Simplest Thing – Part 2 of 3
  5. David & Goliath: Haswell Ultrabook vs Desktop Replacement Laptop
  6. 13″ Haswell Ultrabook Showdown
  7. Lean Software Architecture: Focus on the Pain – Part 1 of 3
  8. Want to Get Better? Here’s a Strategy to Solicit Genuine Useful Feedback
  9. Hey Developer, Are You Focusing on the Right Thing?
  10. This is somewhat embarrassing, isn’t it?

2013 15

December 2013

  1. Seven Reasons Clean Code Matters
  2. This is somewhat embarrassing, isn’t it?
  3. Programming Your Brain: The Art of Learning in Three Steps

October 2013

  1. Writing in a Dynamic Language? Naming Matters More.
  2. Writing Code? Know Your Boundaries.
  3. JavaScript Configuration Object Pattern: JSON Saves the Day

September 2013

  1. KnockoutJS: Maintain Input Focus While Tabbing and Rebinding

August 2013

  1. Warn Users of Unsaved Changes with jQuery
  2. Debugging JavaScript in Chrome with frames

July 2013

  1. JavaScript Breakpoints in Chrome
  2. I’ll keep my 4 year old laptop, thanks.

April 2013

  1. Highlights from Codepalousa 2013
  2. Serializing Knockout ViewModels to JSON: Quotes matter

March 2013

  1. Nebraska Code Camp 2013 – Lessons Learned

February 2013

  1. Are You a Resume’ Driven Developer?

2012 6

November 2012

  1. Strongly Typed .NET Session Pattern

October 2012

  1. Kill the Zombies in Your Code

August 2012

  1. How RESTful is Your API?

May 2012

  1. The Joy of Prototype Driven Development
  2. Visual Studio Tip: Locate Current File in Solution Explorer on Demand

April 2012

  1. Not Enough Time To Build It Sloppy

2022–2026 →