How to get experience as a software engineer
A software engineer explains that experience comes from solving diverse problems, not just time, and suggests ways to find them.
KentCDodds.com is the personal website and blog of Kent C. Dodds, a software engineer, educator, and open-source contributor known for his work in the React ecosystem. He writes about modern web development, testing, accessibility, performance, and developer experience, focusing on how to build reliable, maintainable, and scalable applications. Kent is the creator of popular libraries such as Testing Library and Remix, and his articles often highlight practical approaches to writing better React components, handling state, and improving user experience. Beyond tutorials, the site features courses, workshops, podcasts, and conference talks, all aimed at helping developers learn by doing. With his teaching-first philosophy and clear explanations, KentCDodds.com has become one of the most trusted learning resources in the React and JavaScript community.
194 articles from this blog
A software engineer explains that experience comes from solving diverse problems, not just time, and suggests ways to find them.
The article argues against writing many small, single-assertion tests for React components, advocating for fewer, more comprehensive tests.
A guide on effective software testing: write tests, avoid 100% coverage, and focus on integration tests for confidence.
A guide on when to split a large React component into smaller ones, focusing on solving real problems rather than premature abstraction.
A guide explaining the difference between props and state in React components, including how to use them correctly.
Explains why nesting in tests, especially with beforeEach hooks, leads to unmaintainable code, using a React component as an example.
A programmer shares his evolved teaching philosophy, emphasizing techniques from 'Make It Stick' to improve long-term knowledge retention.
Analyzes when React's useCallback and useMemo hooks actually improve performance versus when they add unnecessary overhead.
Explains a React optimization trick to prevent unnecessary re-renders by passing stable element references.
The article argues for co-locating code comments with the relevant code, explaining the maintainability and clarity benefits over separate documentation files.
Explains why UI components should only serve end users and developers, and how testing implementation details creates a problematic 'test user'.
A guide to simplifying React app authentication by conditionally rendering components based on user state.
Explores the AHA (Avoid Hasty Abstraction) principle for writing maintainable tests, contrasting it with overly abstract and non-abstract approaches.
A guide on shifting testing focus from code coverage to use case coverage to build confidence in applications.
A beginner's guide to starting programming by focusing on solving a personal problem rather than just learning code syntax.
A guide on enabling React Strict Mode, explaining how it identifies unsafe code patterns and provides helpful warnings for developers.
Kent announces he is becoming a full-time educator, focusing on creating developer workshops, courses, and content.
A long-time blogger explains his decision to migrate his content from Medium to his own self-hosted blog platform for greater control and ownership.
A guide to creating accessible web forms using proper HTML labeling techniques to ensure usability for keyboard and screen reader users.
The author reflects on their 2018 accomplishments, including creating React Testing Library and writing a novel for NaNoWriMo.