Once upon a time, my young self opened Notepad, entered many characters, saved as an
.html file, opened it on Internet Explorer, and saw magic happen. It was life-changing.
When I was 15 years old, I got internet access at home. Dial-up, something around 40 kilobits per second. That's five KiB per second. That was what was available in my town at that time.
There was no Firefox. Google was barely a search engine (I'm from Brazil, we used another search "engine" at that time). There was only Internet Explorer and Netscape Navigator. And websites were always "best viewed on Internet Explorer", so it was what I used.
I then took a computer introduction course, one that taught "professional computer skills" like Windows 98 and Office 97. And the last book was "web". We barely got to start it and the course was over, but it intrigued me.
It was easy to create documents, style them, and – most importantly – add behavior to them.
To get started with web development, one needs only a text editor and a web browser. All popular operating systems come preinstalled with both. And you don't need to compile the code, just save and run.
The syntaxes involved are also not very cryptic.
<button style="background: purple" onclick="alert('Hello!')">
There's much more complexity to all of them, but it's undeniable that with a few concepts, and a few lines of code, anyone can create something already very robust, if compared to other platforms.
On a native platform, in general, you often need to download an IDE and a compiler, then write code for the behavior, use a visual editor for the visual interface, and write bindings between both. Then you need to compile and run.
The friendlier the entry point of a technology is, the more people feel comfortable experimenting with it. And if you can use that technology to build something that works, the experience is extremely satisfying.
The web is not just a set of rules to create, style, add behavior to, and link documents (although it started as one). It provides numerous tools so creators can produce a myriad of complex user experiences, from a website with comments, to an entire social network.
All of this involves an extensive list of APIs that allow web browsers to transform text files into rich experiences such as playing videos, making music, capturing the user's webcam, and much more.
Because of that, you can choose to become a specialist on many very different realms. For example, you can dedicate time to learn about accessibility, which is an increasingly important pillar of software development today.
One of the most fascinating things to me is how friendly, inclusive and supportive the web development community can be. There are a huge number of local meetups all over the world, great conferences that span across a number of topics.
One recent example was ReactJS Girls, a conference focused on React development that had only women speakers. Diversity has been a big problem for the software development industry, where 92% of surveyed developers on StackOverflow identify as men in 2019.
The conference idea was to showcase women talent, and it delivered. It was extremely fun, full of great, entertaining and informative talks, and met many great developers there, from all over the world.
You can watch all the talks at YLD's YouTube channel, and if you're into React development (or any component-based system), Jenn Creighton's The How and Why of Flexible React Components is a must-watch.
But, as in any group, there are Hundreds of Niche places where you can find angry, aggressive developers that prefer to insult rather than help. But let's not focus on them.
Find your passion. Find the passion inside your passion. And keep improving.
My specialties are software architecture and state management. I really enjoy an organized codebase that allows people to easily move around areas they're not familiar with and be able to easily add to them. I also really like to understand a product's business rules inside and out and apply them to the state management of the app in a robust way.
I love the web because it's welcoming, inclusive, and fun. And there's always something new to learn on it.