I have been using GitHub Copilot for a long time and enjoy using it. It helps me focus on the right things and do trivial coding faster. However, I've noticed that my coding style has changed. It has become more literal, making it easier for Copilot to pick up. This change is also better for human readability. Copilot is like a companion, and I want it to understand my code as I go.
Knowledge sharing is harder when you know more
After programming for a long time, I thought it would make it easier for me to explain things to others. But it isn't. In fact, I see that the longer I know something, the harder it becomes for me to explain that. I think that knowledge becomes part of the mental model, wired at some intuitive level over time. And things you feel are usually hard to explain, while explaining requires operating with words and specific concepts rather than a blurry feeling about things.
In my frontend career, I've used different tools for making Single Page Applications, now referred to as Web apps. Recently I switched from using Next.js to Vite. We've been there before.
Two weeks ago, I switched to using non-monospace font in my IDE. I didn't have a specific reason; I simply wanted to see if it would work. Apparently it works really well.
I've been avoiding Tailwind for a while now, but I've finally given in and used it for the past year. Although I don't personally enjoy it, I can't deny that it's a well-designed tool. I don't mean to imply that Tailwind is inherently bad; on the contrary, it's clearly a well-thought-out tool. I'll try to express my experience as well as look a bit into the future.
If you're doing anything web-related, you will face JavaScript. It's hard to avoid it and there's no simple substitution for it. I know all those frameworks can be overwhelming, CSS is tricky, and you might not like JavaScript syntax. This is how the current web works.
When I was studying at university, Node.js began to gain popularity. Yet, many developers I looked up to, viewed JavaScript as a server language skeptically. The consensus seemed to favor established options like PHP, Java/.NET, and Erlang. This prevailing opinion led me to explore Erlang, a choice influenced by its capabilities in handling massive numbers of requests.