Like any skill, you need to make sure you have the right tools for the job. Web developers need to perfect their craft. In order to do this, you'll need a few things, which are all free (though there are paid versions of some of them), so you have no excuses. Let's get into it.
Chances are you already have one of these, even if it is a terrible one. If you're on Windows, classic Notepad will do the trick, albeit poorly, but it'll work. Fortunately, there are more powerful Text Editors that have professional level tools baked into them to really ramp up productivity.
The most popular editors right now are Brackets, Sublime Text, Visual Studio Code, and my personal favorite, Atom! These are all going to be similar enough for the basics, and all have tons of addons/plugins to make them even better. Things like remote editing via FTP, auto-complete galore, and all kinds of other features that keep your efficiency as high as possible. Of the four I mentioned, Sublime Text is the only one that has a cost. Though honestly, you can get around this by just never entering a registration code.
Whether you're writing PHP, JavaScript, Python, or even just plain old HTML/CSS, you're going to have all bases covered here. Even some of the more powerful 'compiled' languages can be typed in a good enough text editor, though I wouldn't really recommend it.
If you ever find yourself needing something more powerful, like if you're building something in Java or .NET, IDEs (Integrated Development Environment) would be the next place to go. Now in my opinion, these can sort of be overkill for scripting languages like PHP or JavaScript, and maybe even Python to be honest. But if you're doing anything with a compiled language, you're crazy to not use one of these. The Jet Brains suite comes to mind here, as they have one for every popular language around today. Some of them have community editions which are free to use, like PyCharm or IntelliJ Idea, but others like RubyMine or PHPStorm need to be purchased. They're also not a one-time purchase, rather a subscription that can be paid for either monthly or annually.
Okay, so really any browser will do. But with some 60-ish percent of the browser market share, you're crazy to not use Chrome, or at LEAST Firefox. And honestly, it won't be long before even Microsoft gives in and turns Edge into a Chrome clone. We've actually discussed this in another post recently, Microsoft Browsers: Round 3.
Browsers are obviously how people will be accessing your website, so you'll naturally want to make sure it looks/works the way you intend it to. But it's not going to be as simple as just viewing the page in the browser. You'll want to use the special "Developer Tools" features of the browsers to really get into the nitty-gritty of how your markup and styling works, as well as ensuring your JavaScript isn't buggy.
Okay, so this isn't really required, but it's definitely something you'll want to expose yourself to. See, developers do a lot of the same things over and over. One of the ways we cut back on this constant repetition is to use what is essentially just pre-written code. But it's not just that. Frameworks and libraries also provide unparalleled consistency for developers.
Let's say you're working on a piece of medical software using Rails or Flask as a framework. It's fun, but then you get a job offer to build software for a completely different industry, but you still get to use the same framework. A lot, if not all, of what you used at your last job is going to translate into this new piece of software you find yourself working on.
You also have platforms like WordPress that aren't really frameworks or libraries, but more so an ecosystem. You can build themes and plugins, then sell them online for anyone on WordPress, or whatever your chosen platform is.
At least to start with. You'll eventually want to learn several languages, but it's far and away better to get really efficient with one language before going to others. If you need any assistance picking a language, we've written a few blogs that may help you narrow it down. Here's one of several posts I've written on Python, there's also the blog I wrote about two compiled titans of Java vs C#, and here's one more post worth reading, my opinions on the best languages to learn for 2019.
Okay, so just as a recap, here's what you'll need/want to get started.
And that's it. You're ready to go.