As a self-taught web developer, things such as Grunt/SSH/pushing to a live server elude me, but it seems an important area if you want to become a professional webdev. Any tips for how I can familiarise myself with these processes?

Yes learn git! Try Github will allow you to mess around without having to install anything.

Command line is tricky because it really depends on what you are doing. Generally you learn how to use a tool or do something specially and now you know (some) command line. Although I haven't used them googling around Learn CLI and Shortcut Foo seem interesting. The amount of command line (zero to alot) depends on your team, their process, and what kind of develop you are.

The problem with FTP is that it means you generally don't have a deployment workflow, its easy to override files you didn't mean to, and (usually) aren't doing it over SFTP which means the password is going out in plain text.

Honestly besides version control (and it may not be git) and a deployment workflow a lot of technologies depends on the team you are on and the kind of development you do. Everyone will tell your their way is best, and you aren't a real developer if you don't it that way.... yah not so much. You might not be the kind of developer THEY are but that doesn't mean you are a bad one.

At your level I would focus on learning git, and see if you can get it as part of your deployment workflow.

I started making other crazy suggestions but realized I don't know what stack you are on and what kind of development you are doing. Front End, Backend, PHP, Python? Are you on a Mac or on windows? A lot of suggestions would depend how and where you are developing unless you feel conformable enough to set up a virtual machine and develop from there. You might want to look into setting up a pre-configued virtual machine for you to practice on.

/r/webdev Thread