Just knowing how to code in a particular language is not enough to call yourself a software developer in 2017.
There are a lot of things that are expected from you when you call yourself a developer and having a computer science degree is no more important. A basic knowledge of all these tools is expected from you.
Version control (git)
Git is a free and open source distributed version control system. The purpose of Git is to manage a project, or a set of files, as they change over time. Git stores this information in a data structure called a repository.
Unit tests (junit/Jasmine)
Database (sql/mongo db)
No matter what you do, create a website or some portal or anything. You will need a database for sure. SQL for that matter is relational database. Mongodb is a document oriented noSql database. You might not get a change on work on the db but you should have some info about basic queries.
You will not be able to work on many things if you don’t have a basic knowledge of CLI (command line interface) commands. Because many tools are CLI based. After all, That black screen is not that scary.
Build tools (grunt/ant)
Concatination, Uglification, Pre-processing, transpilling etc are a part of build processes these days. Tools like grunt, gulp, ant lets you automate these tasks. Similarly, There are different tools available for different languages. And you are expected to know at least one of these tools for your language.
DevOps (a clipped compound of “development” and “operations”) is a software engineering practice that aims at unifying software development (Dev) and software operation (Ops). It is also known as continuous integration process. Jenkins and other tools are used for the same purpose.
That’s my take on being a developer in 2017. I might be missing something, I guess that’s what the comment section is for.