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.
Eighteen years later, and I'm making a living out of the same principles. HTML, CSS and JavaScript. Working for a product agency with amazing clients. Building native mobile apps, front-end websites, back-end systems. Living in the city I always dreamed of.
Hello World
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.
Fast Learning Curve
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!')">
Say Hello!
</button>
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.
"I Made Something!"
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.
Given the fast learn curve of web development, and the fact that the tools are simple and readily available, it's not a surprise that JavaScript, HTML and CSS are the most popular languages in the development community nowadays.
And regardless if it's a quirky terminal emulator, or a very useful nearby subway time table, it's always fun to see your creations come to life.
"I'm Learning!"
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.
All of this is not only standardized, but also continuously changing through developments by its working group bodies: W3C, WHATWG and Ecma TC39.
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.
"I'm Meeting Great People!"
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.
Moving Forward
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.
But there are multiple different areas in the web that span knowledge across all of HTML, CSS and JavaScript. You can become an expert in animation, DOM manipulation, a certain framework or library, accessibility, unit or automation testing, continuous integration and delivery, and much, much more.
That's why I really recommend finding yourself a mentor. Other places you can look for mentors are the DEV Community and Coding Coach.
I love the web because it's welcoming, inclusive, and fun. And there's always something new to learn on it.
If you want to reach me, my DMs on Twitter and DEV are always open.
Top comments (0)