Being more organised from the start can help keep you focussed on coding and help you stay more efficient. If you move jobs you'll pick up a lot of information in the first few weeks, you'll want to organise it well from the start. If you stay in the same job for years, the 'other stuff' you accumulate can get messy and cumbersome.
Like good code, making an effort to organise yourself well from the start can pay dividends later on, when it comes to navigating and maintaining all your stuff. Here's a list of some of the "stuff" you'll find yourself accumulating as a developer, and how to keep it well organised.
OneNote (or Equivalent)An essential tool for all developers.
The main thing this is useful for is storing essential information such as test data, database names, licence numbers for tools such as Resharper and Linqpad, and lists.
You can also use it for debugging information, screen grabs, functional specs, checklists and pretty much anything you can think of. OneNote allows you to organise all this quite effectively with its use of tabs and pages.
Note that by "equivalent", I don't mean Notepad++. You need your notes in one well organised and secure location (save your notebooks remotely), you don't want to have to worry about hitting "Save", and you also need to be able to paste in screen grabs, tables and other rich content. Evernote might come close but OneNote is trusted in enterprise environments which can give it the edge.
Logging AccessPretty soon you're going to need to access logs for auditing, testing or debugging purposes. Remember to record all details in your note software.
Product Documentation/WikisAs a developer you will probably be responsible for writing a lot of documentation. Make sure it's in an easily discoverable place and well maintained. Good code should be self-documenting, yes, but other stakeholders need to know what the code is doing from a non-technical perspective.
BookmarksYou'll always have a selection of really important links. This might include:
- Product documentation/wikis
- Test Harnesses
- ALM tools (TFS, Git)
- Communication tools (Sharepoint, Trello)
- Administration tools (Timesheets, financial, personnel software)
- Development learning materials, tutorials, blog posts, communities etc.
SQL FilesMost developers will probably have a collection of SQL files of common, useful queries, for logging, basic CRUD, etc. Make sure these are in an easy to access, secure, backed up and preferably remote location.
MacrosSpecifically in Web Development, tools such as iMacros can be invaluable for automating frequent tasks such as logging in to test sites or running common actions on test harnesses. Remember, keep them well organised and backed up remotely using Dropbox/OneDrive etc.
Powershell Scripts and batch filesYou might also have some PC management tasks that need to be automated. Powershell is fantastic for these kind of tasks, and is becoming even more useful with the advent of DSC.
Linqpad ScriptsSimilarly, Linqpad allows for frequently used code to be stored and used in a lightweight manner without all the project overhead.
Code ToolboxFinally, all developers should have a code toolbox, or a collection of libraries and code snippets they use regularly in their projects. This is a lot to go into so I will create a new blog on it, but basically it could consist of
- Project templates
- Emailing library
- Cloud storage library
- Logging classes
- MVC Html helpers etc
ConclusionHopefully this has inspired you to ditch that pile of text files and get your administrative stuff in order. Doing so will make you more efficient and help you focus on what's really important - writing code.
How do you organise yourself? Is there anything I've missed? Leave a comment!