How do I watch?

Today, I wanted to answer a question that I am asked quite often: How do I keep watch? Unfortunately, the answer may disappoint you…

In general, when you ask this question on the Internet, people tend to recommend specialized news sites (like the aggregator DailyDev, Medium, dev.to…) but personally I’m not necessarily a fan of this type site for active monitoring. The problem with this type of site is that we often find ourselves spammed with information and it is not easy to sort it out. We will read dozens and dozens of articles to finally find little really useful information.

Active standby

The only 2 sites that are related to my activity that I follow are Hacker News and Reddit.

hacker news

Harcker News is not necessarily a site that specializes in web development, you can find news on just about everything related directly or indirectly to technology (Science, Astronomy, Biology…). It is therefore not necessarily specialized but we will say that if a framework or a web technology is found on the home page it is because it is relatively popular.

Reddit

Reddit is not necessarily the most conventional source of information in the world. For those who don’t know, it’s a kind of big social network where content is organized by “sub-reddit” which are kinds of sub-forums focused on a particular subject and which have their own moderation team ( for example, the /r/aww subreddit is all about sharing minion stuff or /r/trashpandas for raccoon fans). In our case, there are also subreddits related to web development such as /r/php, /r/javascript or /r/webdev but you can look for others there are some for most languages ​​and frameworks .

Discord communities

Finally, the last channel I use to do monitoring is the site’s discord server which has a #link channel where people can post links, which allows me to discover popular things.

Organic standby

But concretely, I don’t spend my days following the news and I don’t really have an intense active watch. I am more in favor of an organic watch, that is to say to keep abreast of things as and when needed and to be interested in technologies and approaches only when one encounters a specific problem rather than doing it upstream.

If I give you a concrete example, let’s imagine that I am asked for a project to set up a carousel. I’m going to start researching and looking for libraries that meet the needs for the project.

My way of searching

I start by looking for proposals on the internet. Typically, I won’t necessarily type in a super smart search, (my search looks like “good library carousel javascript”) and I’ll come across results that can give me suggestions. Unfortunately, I find that today search engines are very inefficient for this kind of request because of sites that cheat on SEO and which is of little interest. Also, I often use filters by site like site:reddit.com Or site:stackoverflow.com to get more human results with real arguments. In these results, I will look at the different answers that are proposed, see what people suggest and that will allow me to create a list of potential candidates for my problem.

In addition to search, there is also the possibility of using developer communities. If you are on particular discords or forums, you can ask the question or see if someone else has already asked the question.

Finally, if you work in a team, you can also ask the people who work with you if they have any suggestions and experience for your problem.

Sort

Now that we have a list of tools that may be suitable for the problem and I will try to reduce the potential candidates in order to have a smaller number that I can test. For example, in the context of carousels, I find libraries like Glide, Swiper, Embla, Slick, etc… I briefly look at the general functioning and I eliminate the elements that do not correspond to the functioning of the project.

  • I eliminate possibilities that require a dependency that I don’t want (eg jQuery).
  • I eliminate choices that don’t seem to have the feature(s) that are important for the project.
  • I also eliminate projects that have a lot of problems (issues) and that no longer seem active.
  • I briefly look at the operation to see if the approach used suits me.
  • I also look for the presence of a specific license.

As I go along, I note the important points associated with the different libraries to keep track of the research already done. If at the end of this sorting there are still several candidates, I will use the one that seems to me the easiest to use or base myself on the feedback that I have seen.

Refine with experience

Now that I’ve made my choice, I’m going to start putting it in place for my project and future projects. With this practice I will refine my understanding of the tool but may also discover specific limitations and issues. This can sometimes lead me to reconsider my choice and to test another solution if necessary (this is why it is important to note down my discoveries in order to refer to them more quickly later).

In this way, with experience, I will be able to refine my knowledge of the initial problem and I will be more efficient in the future.

Advantage

This way of monitoring offers several advantages in my opinion.

  • It is done at the same time as working time, it is not necessary to allocate a specific time outside working hours.
  • We only discover what we need, this avoids noise compared to active standby.
  • Practice makes it easier to memorize things.

Also, most of the technologies mentioned on this site are the result of this type of monitoring and correspond to situations that I have encountered in my professional experience.

Don’t scatter

For those who are a little stressed about the day before and who say to themselves

I will have to spend my evenings and weekends working extra to learn new things

This is, in my opinion, a misperception of the problem which is perpetuated by certain examples that can be seen online. Apart from the case where you want to learn something completely different (learning a new language for example) most of the time your monitoring will be done over your experience and your needs.

Also, at the beginning it is important to focus on the basics without trying to learn everything about everything. To disperse too much initially will be counterproductive because discovering tools without understanding the problem they solve limits learning.

To give a more concrete example, I see some learners who are beginning to take an interest in specific code organizations without necessarily having practiced enough to understand the issues of their current organization. It is important to start visualizing the problems to know what we will be looking for and what will be important in the solutions that we can discover

Discuss!

Finally, don’t neglect the ability to work as a team (whether it’s your project team, or more broadly a community). Each developer has a different experience and you should not hesitate to ask others for advice (regardless of the level) to discover things that you do not know.

Don’t stay in your corner! A good developer is not a person who is able to answer all the problems alone, it is also a person who is able to search on the internet or ask to extend his knowledge and improve.

Don’t put pressure on yourself by comparing your knowledge to that of others. It is especially important to be able to learn and discover new things when problems arise.