earlier I listed the programs & web apps that make my life easier. What are some of yours?
The best text editor available, in my opinion. I used to love Notepad++, but once I got introduced to the terminal and was forced to learn a new tool, I realized how much more productive I could be using emacs.
Version control should be mandatory for any project these days, no matter how large or how small. Mercurial is my tool of choice, but any distributed version control system will do (I also use Git for some things)
Over time I come across a ton of different links & resources, and Diigo is the best tool I’ve found so far to keep them all organized. It also comes with chrome & firefox plugins, which make it a breeze to use.
The easiest way to keep multiple files synced across multiple computers. It can also act as a quick way to throw up an HTML page or host some photos if you need too. I also use it to keep clones of repositories, so I can keep my worked synced across multiple machines.
Much like version control, I think issue tracking is something that every software project needs, no matter how large or how small. At worst, it’s a fancy to-do list. At best, it’s a way of organizing a lot of information, planning, and progress throughout a project. You can keep track of milestones, and looking back through old tasks can often provide valuable information about past changes & fixes. If you are just getting started, Fog Creek offers a ‘student & startup’ edition which is free for up to 2 people.
Great for having multiple environments to test & develop on. I currently use it to run an Ubuntu instance, and I’m hoping to set up OS X & Android environments in the near future.
A fast, simple way to keep notes & documentation together. It’s a self-sufficient file, so you don’t need hosting or a database. There’s also a place that will host one for you for free at Tiddlyspot
So these are the main tools I’ve found that have helped me out. Anybody have any recommendations for additions?
Brilliant answer to a question on Hacker News. Source
One of the problems I face as coach is that people ask me simple, yes/no questions and I always answer “it depends”. It’s not that I’m trying to be evasive, it’s just that life is full of little complexities. So I took a bit of artistic license and made a generalization. As you point out, we could speculate all day on various scenarios where TDD/BDD might be useful. That line of reasoning was too much for a short comment on HN, though.
One of the things I really don’t think you get — something I had an extremely difficult time getting — is just how worthless your code is. Startups are not rewarded for writing good, maintainable code. Hell, they’re not even rewarded for writing code at all. There’s a lot of folks that say to advertise, create a vapor-ware product, and only once you know for sure people are willing to pay money for it should you start programming. Whether you like that idea or not, it shows just how far down the line programming is in the scheme of things for a startup. “Maintainable” or “Great” code is even further down.
Coming from many years of loving to learn how to be a better craftsman with my code, kinda sucks, huh? All those guys telling you what a great programmer is and how to be one, and then Average Joe Sixpack doesn’t recognize how cool your TDD and programming language are. Dang customers. :)
Based on this Sitepoint article , here is a great set of font stacks in a variety of styles.