When given a project or task you don’t know how to solve, you must research and find possible solutions to estimate the required effort. In this post, I will explain how I research before I start developing.
Let’s say you have to estimate a project where a few things are out of your comfort zone. You are still confident that you can execute the project. You just need to explore possible solutions so you can estimate them. Here’s how I do it (not necessarily in this order).
Phase 1: Searching
When searching on search engines, I usually try a few different terms, depending on what I want to find. At first, I tried to find articles and tutorials related to the topic. Search results don’t have to be the perfect answer to my problem. I’m just looking for something that might fit my problem. What I’m after is inspiration, something good enough to start with.
As an advanced search engine user, I am usually good at finding what I need, but that is only sometimes the case. Sometimes the solution is outdated. Sometimes the solution doesn’t have good browser support. Sometimes the solution has accessibility issues. In this case, I turn to some of my favorite websites.
My favorite websites for researching are:
I use MDN when I know what technology or feature, in particular, I’m going to use. I am pretty familiar with its navigation and structure, and I generally enjoy using it. Its content is up-to-date, with clear language that I can easily comprehend.
When dealing with specific platforms or frameworks like Netlify, Shopify, Hugo, or Eleventy, I find most answers on their community or official support pages. I always try to find out if someone already asked a specific question before posting my own. These communities are very friendly, answers usually come quickly, and their support teams respond promptly.
There are some other websites that I occasionally use. Here are honorable mentions:
- The Practical Dev
Sometimes I do my research on social platforms like Twitter and Mastodon. The search feature on both platforms could be more usable, but it helps if you know which person posted the solution. With a bit of scrolling and browsing, I usually find what I searched for.
Occasionally, I search my email to find something related to the topic. Sometimes it is my newsletter, UI Dev Newsletter, and sometimes it is other newsletters that give me what I want. That is why I am still subscribed to several newsletters, although I consume most of the web dev content via Twitter or Mastodon.
Phase 2: testing
At this point, I usually finish my research. I communicate to the client (or the team) which solution or solutions we could use, the advantages or disadvantages, and how much time (or money) it will take.
Nobody knows everything, and some things need time to plan and explore. I learned that saying “I don’t know” is perfectly fine as long as it is followed by “but I’ll take a look at what’s possible.” Search engines, developer communities, social platforms, and newsletters are valuable sources of information that could save you time and help estimate project requirements more accurately.