Why did I create a blog from scratch?
Tags: opensource, comfortzone, advice
Published: 2021-05-22 16:00:12

If I had to recommend someone to start a blog, taking into consideration things like time to market, huge ecosystems, tutorials, and no expected advanced knowledge in programming at all, I would tell them to start right away with [Blogger](https://www.blogger.com/), or if more options are needed, then [Wordpress](https://wordpress.com/) would be the best choice probably. Now, if the idea is to know how stuff works, and utilize a technology that handles not only on the front-end but on the back-end also, thinking carefully in terms of its usage on the job market, I'd advise using a technology built on top of JavaScript.

## Why JavaScript and not PHP or another language?

Let's dive a bit into some more concerns. What I usually do is look over data. To illustrate, what I've been doing to answer such questions so far is the following:

1. [Search for projects through hashtags on GitHub](https://github.com/topics/wordpress?l=php).
2. Analyze the latest survey called [The State of Developer Ecosystem made by JetBrains](https://www.jetbrains.com/lp/devecosystem-2020/).
3. Study carefully the latest [developer survey made by StackOverflow](https://insights.stackoverflow.com/survey/2020).
4. [Which tags are most answered on StackOverflow](https://stackoverflow.com/tags).
5. Scan which jobs are offered on the job market. LinkedIn is an excellent place to look over.
6. Determine how expensive the technology is to deploy and serve its purpose.
7. Does the technology have documentation?
8. Consulting with skilled contacts 😅.

There is no silver bullet to choose a technology to create a blog, and some people might prefer a language that they already know, so this can be quite complex. Some may prefer a technology built from Java, Ruby, and so forth. But the thing is, you have to look carefully what technologies have companies been using so far, and start with those.

My research pointed out that would be the best idea to use JavaScript either using Gatsby or Next.JS as the framework for the blog. Nowadays I'm more used to Python, though, so what should I do? I mean, getting out of our comfort zone is quite challenging, but it's necessary.

## Knowing new technologies opens your mind

When people discuss this topic, I like to compare it to learning a new language. In the beginning, it can be dull, monotonous, boring, but the game starts to change when you see your evolution, and people start to tell you about it. It's satisfying! When you notice, you will have a new tool to use to communicate with people and even apply it in your job. The same goes for technology. We must strive to learn new technologies, and understand other possibilities.

## When you study technologies through playgrounds, leave them open-source

Isn't it amazing when you need to create/build something and then find a playground project to base your work on? Apart from that, when you create an open-source project, it can be used as your portfolio too. So use it wisely! Sell yourself! You will reap the fruits of your hard labor.

## Final words and honest advice

One thing is discovering new tools and using them on your personal projects, and another entirely different thing is applying them to your job. Know the consequences because there are many variables to consider. If you want to switch services to use [Hanami](https://www.ruby-toolbox.com/projects/hanami) instead of [Rails](https://www.ruby-toolbox.com/projects/rails), you are supposed to answer at least the following questions:

* Will it bring business value?
* Will the customers be positively impacted by it?
* Does it have support from the community?
* Does it have support from companies out there?
* Is it hard to find people that can work with it?
* Is it arduous to teach people that have never been in contact with the language or the framework?

There are others of course, but you get the point 😁.

This is the first blog entry and I expect to post once per month at least. I hope I can achieve this goal! 😄