访谈嘉宾： Nicolas Bevacqua
How did you get started in programming?
When I was around 10, I had some classes using Flash. Also, I made websites for fun. In high school, I did a couple of more interesting projects, like playing the game called Ultima Online. I used to run my own server and implement features for the game. That's how I learned C#.
After doing that for 2 years, a friend told me, “Hey, people actually pay you to do this.” It's too cool to get paid. Yeah, that's I guess how I begin.
Have you ever thought that turning love of role-playing games into a career will spoil your fun?
No, it's the other way around. I never felt it like work to me. I would also never fall out of love with hobbies because I'm doing it for work. But it's important to work on something you like. Then it won't feel like torture when you’re doing it for days.
What does the tech community of your living place look like?
It's much smaller 5 years ago. Nowadays, we have Node.js Conf, JS Conf and so on. It's definitely growing. Node.js Conf started last year. This year, we will still run it. We plan to make it a regular thing so that people could engage more with the community, not just coming to this event once a year and then completely forget it.
There's probably a framework coming out right now as we speak. The important thing is to know that the theme is not to follow those shiny stuffs. It’s more about figuring out the trends, what's useful and helpful for me.
If I started one project 2 years ago, it's still using Angular. I don’t really need to feel that Angular is a little bit lower than React and it must be worse. It depends always on your requirements. It's very dangerous to go after the newest thing. The consistency of using the same tool for a while is valuable.
Also, it's important to not be fallen behind. You can, but it’s not advisable to be still using jQuery or HTML for websites.
It's about finding the right balance. Stay informed but try them if you have time. Be sure not to jump into everything just because it is.
It's really important to figure out how you learn things best. Some people love to read screen cuts or videos. I'm really bad at learning anything that I see. I need to read it. If I watched a video, I want to understand anything until I go over it like 4 times. When I read a book or article, I could get it. What I'm trying to say is that you should figure out whether you are a visual learner or if you prefer written contents.
I implemented my own frameworks to learn how things work. I think it's an effective way to experiment and build things for yourself. If there were one source I would recommend, it should be https://12factor.net , which is a website that lays out 12 different principles for robust application design in terms of anything from security, scalability, etc. I think people should know it.
In my book series, I'm trying to teach people how to write concise and single-purpose modules. The reason is that people want modules to be specialized so that they can reuse them, test them, and even document them if needed. But the most important thing is scalability in terms of architecture. When you have 5 different modules, each one with 5,000 lines of code, it would be really hard to work with them. If you have 5,000 modules and each is 100 lines of code in length, it's much easier.
The series basically discuss how to obtain these highly modular applications. Then the later books in the series will talk about Test and Deployment.