You will need a text editor at the very least if you didn’t go the IDE route.
I am not going to get into this war. Pick whatever text editor you like best.
My personal choice, for example, is Textadept. I am not
going to tell you to get it, however, nor will I defend it if you try it and
decide you don’t like it. Other popular options include Sublime Text,
jEdit, Kate, GEdit, Vim, Emacs, SciTe, and a host of others.
The two most common code editors in Unix-like space are Vim and Emacs.
You can find lots of information on both of these editors online. Sadly you can
also find a lot of geeks with no sense of proportion arguing about which is
better. Ultimately you’ll have to make your own choice based on your own needs
and tastes.
You will also need some form of source control. Since I’m assuming you’re
already a programmer, I assume that you already have a source control system
that you know and love. I do too, but it’s probably not the one you use.
There are many options for revision control on Unix-like spaces: Git, Fossil,
Mercurial, Bzr, Monotone, Subversion, even CVS. And a few more. Pick one you
know or can easily grow to know and use it. I will not be addressing SCM any
further.