Monday, October 28, 2013

Personal Productivity Tools via Collaboration Tools

As a software developer, there are many tools I use on a daily basis for the most effective way to work. Some are tools for personal development, and others that make collaborating with other people easy.



My first tool is , a source code editor.




This tool replaced Notepad, the program that came with the Windows operating system. It is such a great improvement and highly recommend it. I use it for editing files such as configuration files and scripts, as well as reading code (but not usually for developing). Notepad++ has support for all types of files, including programming languages with syntax highlighting. It allows users to write plugins for further enhancements to the program.



Another tool I use is , an integrated development environment (IDE).



This is the main tool that I use for programming. It has great support for the .NET family as well as some other programming languages via plugins. It's very simple to set up a project and start developing. It also has superb debugging tools, allowing you to even change code at runtime in some languages. Like Notepad++, it has an extension manager that allows people to create plugins for the IDE. There are hundreds of plugins that greatly increase the efficiency of development. Some plugins are not free, so there is an opportunity for software developers to make money off this. Visual Studio does have integrated source control support for Microsoft's own source control solution, . As of Visual Studio 2012, it also has native support for git (can be achieved in older version with plugins). Microsoft has excellent documentation on Visual Studio, with a great community at .



For collaborating with other people with a software project, I usefor version control and to host my project.



Git is a free and open source distributed version control system designed to handle projects. This is very useful in software development, as it is important to keep control over all the versions that are being pushed out. I use BitBucket to host my projects (a repository) that uses git, although is a more popular alternative. It is a great collaboration tool as you can have many people working together on a project at the same time. Developers can "fork" a project, so they can work on something without it affecting the main development line. Any time someone makes a change to the repository, it is saved in such a way that it the changes can easily be reverted if need be. When developers need the updated version, they just download the changed files as opposed to the whole project. As BitBucket is my host, all my repositories are stored in the cloud. That means that I can access it from any location and any computer as long as I have internet access. This is great as often I'm working from different machines such as my desktop and laptop, and is immune to any hardware failures (well, my hardware). BitBucket allows unlimited private repositories for team sizes less than 5, which is the main reason why I use it. It is useful for all types of software projects, both individual and team based, all types of files.



However for documents and general cloud storage, I use .



Google Drive is a great collaboration tool. It allows for real-time editing with an entire team on many files such as documents and presentations that are stored in the cloud. This means that many people can be connected at once and automatically see any changes made by another person. Of course this has many security features to ensure the files aren't mishandled. This replaced the old way of doing it, which would be one person making a change to a document offline, upload it to a server or email it before others can see the changes and continue on with their own changes. I also use it as personal back up storage. This includes many types of files such as eBooks, images and personal documents. I am able to make a change to a file, and then continue working on that file on another computer without having to email myself the document or some other way to transfer it. As someone who uses multiple devices regularly, Google Drive is one of the best tools I use. Cloud storage is something most people should be using and should not underestimate how important it is.
Full Post

No comments:

Post a Comment