Management My Manager Journal I've been keeping a personal journal for about 7 years now. Four months ago, I decided to start a dedicated "Manager Journal" to keep track of my work at Product Hunt.
Management Measuring the output of remote teams Last year the whole world was forced to switch to working from home.
React Structuring React Components How I structure, React components at Product Hunt. The following component a directory pattern and optimizing for scanability.
productivity My Journaling Process I have a journal entry for the last 7 years of my life. I combine journaling and goal setting. Here is my process.
testing Four Tips for End-to-End Testing The writing of unit and E2E tests is different. Because the unit tests verify one thing and E2E tests verify multiple things (some implicitly).
refactoring Refactoring first vs change first How, I think about refactoring and code changes sequencing.
product hunt How not implement HTML Editor The story of technical failure at Product Hunt. We used Slate for an HTML editor and tightly coupled its internal structure to our database.
productivity Feature planning How I scope and execute features. My main focus is on de-risking the project by proper task splitting and getting constant feedback.
product hunt Collaborative Single Player Mode The Product Hunt engineering team has always been remote and it's surprisingly small for all the features and products we are shipping. One of our "secret" weapon for this is what we call "collaborative single-player mode".
testing Testing Friction One of the barriers to entry for writing tests is the "ergonomics" of our tools. Requiring too much ceremony or boilerplate for every test will put off even the most enthusiastic
Rails Organizing External Services in Rails Rules I use at Product Hunt to deal and structure external services in Ruby.
React How I use React.Context I get a lot of questions about how I'm using React.Context. A lot of people overuse it, and their applications become messy. Here are my tips.
GraphQL Testing GraphQL Backend in Product Hunt Custom tooling and conventions about testing resolver and mutation GraphQL ruby classes.
productivity My Advice to Junior Developers Here are some of my tips on how to develop soft skills and habits to help to learn and grow as a junior developer.
product hunt Remote Onboarding Software Engineers at Product Hunt I'm often asked about the Product Hunt onboarding process for remote engineers. So here is the our onboarding process.
React Extract React Hook Refactoring How to extract custom React hooks to refactor complicated logic in your components.
remote Tips & tricks for working from home Due to COVID-19, many people are forced to work from home. I have been working remotely since 2006, here some of my tips and tricks.
React Replace Conditional With Map Refactoring This is one of my favorite refactorings. It helps to group logic, making code easier to read and easier to extend.
GraphQL How Product Hunt Structures GraphQL Mutations At the time of this writing, our codebase and related projects have 222 mutations. Here the guide on structuring GraphQL mutations.
React Building AutoLink component in React How to build a React component which takes the text with URLs and adds links there. It uses a little known string.split feature.
Rails Improve ActiveRecord polymorphic associations Polymorphic associations in ActiveRecord are very useful. A simple technique for explicitly listing which are the allowed classes.
conference Announcing React.NotAConf 2019! React.NotAConf is here for the second year. Join us on 11th May for a day full of inspiring React lectures by top speakers.
css Separating list items only with CSS How often do you have a list of items and have to add spacing or border between them? This is often boring work. Here is a simple trick on how to add spacing and spacers between elements.
books 20+ Books Developers Should Read 📚 Books, I think every software engineer should read about coding, software architecture, databases, testing and UX.
ruby Dealing with N+1 in GraphQL (Part 2) How to deal with N+1 queries in GraphQL within Ruby on Rails project when Active Record's build in preload is not enough.