by Joe Christopher, Relode Co-Founder and CTO
26 May 2015
Every software startup faces the same dilemma—choosing development tools. You have a beautiful greenfield, a great idea and an infinite arsenal of tools, technologies and frameworks to choose from, each offering some productivity multiplier with a more elegant design or performance acceleration.
So what do you choose?
Before we left our day jobs and started Relode, we read a lot of material for guidance and for pothole avoidance. The material we found from the likes of Marc Andreessen, Mark Suster, Chris Dixon, Joel Spolsky and Hacker News was great for a startup. The one message that seemed to resonate with us was “use what you know.” We’re all Microsoft stack guys who remember what the world was like before .NET. So, without any further ado, here’s what we’ve used to build Relode.com.
Note: This is a four-part series. Here we cover buildingtools, and future sections will cover composing, serving and monitoring tools we use for the Relode platform.
The 14 Tools We Used To Build Relode.Com
- It all starts with Visual Studio (VS) for us. We spend nearly every waking development hour in VS. (Items 2-8 below are extensions of VS.)
- Productivity Power Tools. We’ve used this one for so long that we no longer know what features are built-in to VS and which come from PPT.
- Resharper lowers keystrokes and eliminates repetitive work. We're sticklers for the right variable name and Resharper makes that and many other operations painless. (Kudos to Colin Callahan and JP Boodhoo for demonstrating how rapid development can be!)
- Web Essentials. Don’t bother developing for the Web without it. It puts HTML/CSS information where you need and makes using LESS a joy.
- T4MVC and AutoT4MVC for MVC development. Magic strings are a thing of the past, thanks to these two tools.
- Web.config transformation syntax makes managing environment specific configuration a lot easier. Use ConfigurationTransform to bring this syntax to app.config files for non-web apps like Azure WebJobs.
- Multiline Search and Replace. We all admit to being horrible with regular expressions. That’s why we like these tools to handle the creation of complicated regular expressions that drive VS “find and replace.” (We test our regular expressions online with refiddle.com.)
- Studiostyles is a treat for the eyes with their latest color themes. (As our eyes get older, the contrast goes up!)
- Visual Studio Online. We’ve all spent considerable time in larger product development shops and worked with Team Foundation Server for source control and application lifecycle management (ALM). So, we went with Visual Studio Online for our small team because the price was right (free), it’s accessible anywhere and is always up to date with the latest enhancements for making ALM more efficient and painless. We keep a browser open to our sprint’s Kanban board and appreciate the inline editing features to make burndown updates easy. The web interface has come a long way and actually makes planning and grooming productive. (Kudos to Brian Harry and the TFS team!)
- LINQPad. We use this for querying anything and everything. LINQPad lets us write C# to view and update data from any of our data sources. We recommend splurging to buy the Pro version, since autocompletion really boosts productivity.
- Evernote. We store and share every relevant tech article in Evernote. The index feature allows for easy searching. (We feel like Johnny Mnemonic a lot of days, and Evernote keeps our heads from blowing up.)
- We occasionally work in Notepad2 or Notepad++for PowerShell scripts, config file editing or quick access to any text-based files.
- You cannot develop for the Web without hitting F5 in a Web Browser 1000 times per day and relying on its developer tools. We all use different browsers which helps with testing. Whatever browser you prefer, make sure you become well-versed in its tools--Chrome, IE, Safari, and Firefox. (Of course, Fiddler is always a good idea, too.)
- For any sized team, you need everyone working off the same configuration for optimal results. At previous gigs, we built a Windows 7 VHD template. Everyone started with it. We labored to keep this VHD updated when our application or technology changed. Then we discovered Chocolatey withBoxstarter and have never looked back. All our developer PCs are set up the same way. It tolerates re-running when updates or additions are needed.
These tools have worked for us. Your mileage may vary based on your own application and experience.
What tools make your startup develop faster?
Email email@example.com. We'd love to hear.