Besides the core programming knowledge on any language there are lots of technologies that needs to be known in order to develop applications may it be desktop or web apps, to be stay connected with peers or colleagues. List goes like
Version Control System(VCS) Tools
1. Subversion(SVN) by Collabnet Details
SVN Clients
a. Tortoise SVN for windows.
b. SmartSVN for Ubuntu
2. GIT is Fast Version Control system developed by Linus Torvald which is created natively for Linux and now is also available for windows at http://code.google.com/p/msysgit/
GIT is very good at command, and IDEs are also integrating it well like IntelliJ Idea.
Integrated Development Environments (IDEs)
1. Netbeans supports Ajax, C/C++, Databases, Debugger, Desktop Editor, Groovy, GUI Builder, Hudson, Java EE, JavaFS, Java ME, Java SE, JavaScript, Kenai, Maven, Mobile, PHP, Profiler, Python, Refactor, REST, Rich Client Platform, Ruby, SOAP, Web.
2. Eclipse a lightweight IDE which has plugins for various programming languages.
3. IntelliJ Idea very intelligent IDE.
4. Microsoft Visual Studio windows based IDE.
5. Spring Source ToolSuite eclipse based IDE for best result on Spring Framework (Spring based project).
Client-Side Debugging Tools
1. Firebug (An Addon for Firefox) a very good Debugging Tool.
2. Web Developer (Also an Addon for Firefox).
3. IE Developer Toolbar for Internet Explorer.
JavaScript/AJAX Frameworks (Knowledge of any one of the following)
1. Dojo
4. DWR
6. Ext JS (javascript library)
7. jQuery – New Wave Javascript
8. Prototype
11. ZK
13. JSON-RPC-JAVA
Online backup Sync and Sharing
1. Dropbox can also be used for Version Control as it uses SVN internally for managing files/folders. This article could be useful for using dropbox with GIT for version Control.
Instant Messaging Tools
1. MSN Messenger(For hotmail/msn account)
2. Google Talk (for Google Account)
3. Yahoo Messenger (For Yahoo Account)
4. Digsby supports many accounts of different vendors.
5. Pidgin which also supports many accounts of different vendors.
Here the list is long, so depends on your choice.
Twitter/Facebook/LinkedIn Clients
1. TweetDeck
2. Yoono Addons for Firefox
3. Echofon currently only for twitter at the time of writing.
Here the list is long, so depends on your choice.
Mail Clients
2. Thunderbird
3. Evolution Mail/Calendar which comes by default on Ubuntu
RSS/Feed/News Reader
2. Thunderbird can also be used as Reader.
Graphical tool for Database Development
3. SQL Tools
Remote Desktop Viewer
1. TiemView
2. Vinagre comes by default on Ubuntu
3. Tight VNC
4. Real VNC
SSH Clients
SSH Clients
FTP Clients
Text Editing Tools
1. Geany
2. Notepad++
3. Textpad
Comparision of various Text Editing Tools
File Comparision/Merge Tools
1. WinMerge
2. KDiff3
3. Kompare
Comparision of File Comparision Tools
Online Bookmarking Tools
1. Delicious
This is small attempt to recollect additional technologies needed for any developers regardless of the programming language they will be developing. In my opinion at least one in all of the above criteria (Bold and Underlined) are needed for the developers for developing software may it be desktop/web applications besides core programming language. Comments for additional helping technologies are anticipated.