This article is a brief introduction to coding webpages. Let it serve as your jumping-off point for understanding the core technology frontend software developers use daily.
You'll especially enjoy this article if you're starting web frontend programming. You'll find this article useful if you want to better understand aspects of work that your technical teammates or customers do.
Every website that you know and love is built using three three core technologies of the Internet:
Here are a few code snippets showing typical examples for each of the three technologies. Just to offer a brief glimpse so that you recognize what you're looking at.
I like the way code looks! Want to see more of it? Here's an extended edition of the code snippets above stored on GitHub. My sample code is an incredibly simple webpage showing a recipe for pound cake. One of the most delicious desserts that a person can enjoy.
These three core technologies of the Internet drive the presentation you see on every web page in any web browser. This includes: simple marketing landing pages, blogs with user comments, and highly interactive webapps like Facebook, GMail, Trello, and Netflix.
It's a level playing field. No one has a special, secret, better way to do it. Which is cool because you can achieve the same level of greatness that your hero tech companies do.
If there's any trick to this work, it comes in the complicated array of tools that experienced software teams use to manage and generate their code.
People have been making amazing things from humble ingredients throughout human history. Veteran tech teams know the three primary ingredients of web pages [CSS, HTML, JS] need a lot help to come together in the best possible way.
Help comes in the form of tools offering consistency, maintainability, and overall enjoyability of working together as a team. Many tools are open source, free, and fit alongside a team's source code files. The so-called "source repo."
Loads of web frontend tools exist, which is amazing, but also very distracting. Many come onto the scene and quickly die away leaving us confused. Some tools are brought into a team and reach so deeply into a source repo over the years that developers can't wait to finally get rid of them once they've reached end of life.
We'll consider tooling later in this article.
I won't have room to teach you CSS, HTML, and JavaScript in this article. My goal is collecting some online resources that you can use to start your learning journey. Advice I've given to people in the past is, "Keep building stuff."
Practice is perfect!
There's nothing stopping you - the Internet is by its very nature permissionless. Brew a pot of coffee and get started today! Make whatever interests and inspires you. Test things and see what works. Look at what other people have done, figure out how they did it, and try doing it yourself.
Starting out learning CSS, HTML, and JavaScript.
Computer programming seems like a tough business to get into. I understand. There's lots of stuff that has happened in the past, and lots of stuff that will happen in the future. I'm lucky I started as a kid because I didn't know any better, and it was low-risk.
Believe me, there's no perfect time to start - jump in!
Stay curious and keep learning because programming languages, tools, platforms, and user expectations are always changing. It's not convenient, but it's the truth.
Weekly newsletters are an outstanding way to get a feel for what's changing week-to-week.
Creators and educators publish daily thoughts and updates on web tech:
On-line magazines publish articles, tutorials, and pro-tips about general frontend web development topics.
Once you're comfortable with the basics of webpage programming you'll want to search for ways to improve your craft. Much of that is found in the tools you select for your daily toolbox. Here are examples:
Exact tool choices aren't as important to me so much as intentionally making a choice. Decide how you and your colleagues want to work together as an effective team. Proper use of tools in the pursuit of professional-grade quality lets a new team of two developers scale up to twenty on its way to one hundred.
Every team wants to build a product that goes from being an overlooked startup where mistakes are unnoticed to a significant mission-critical app that must be always-on, fault-tolerant, and highly reliable. Tooling gives you leverage.
There's an emerging trend of companies offering "no code" or "low code" solutions. It seems like they have platforms providing generators with built-in design templates for creating fully-working websites. An efficient alternative to hand-coding everything.
Little frontend or backend programming is required to spin up a website on their servers. Systems like these get your new site up and running with seemingly little effort.
Examples include:
Depending on your goals, you could start investigating one of those SaaS providers. Discover how they empower you to configure a basic site with a little bit of extra code. It might be relatively easy to adapt them to your needs with just a small amount of coding experience.
Jumping into software development can feel intimidating because there's so much institutional knowledge built up over its history. Don't let that stop you. Pick a place and just start working. Imagine something you want to exist in the world and make it real.
Drop a message letting me know what you think about all of this. Tell me about future articles that could help accelerate you in the right direction.