The full stack for a web application can be rather overwhelming, but it’s not quite as bad as you might think. If you look at this list knowing only a small portion of the items, it can be incredibly intimidating. Really, though, it’s an incremental learning process. You learn a little something new every day, and before you know it, you’re having fascinating conversations with really smart people. (I’ve only listed the pieces involved in Sifter. Every app is different, but this is a good representation of the pieces of a web application.)
Design, Content, and User Experience
- Information Architecture
- Interaction Design
- Visual Design
- Copywriting
- Accessibility
Front-end
- HTML
- CSS & Related (SASS & Compass)
- JavaScript & Related (CoffeeScript & Backbone.js)
- Desktop Browsers and Mobile Browsers
- Front-end Performance
Development
- Language (Ruby)
- Framework (Rails)
- Release Management (Capistrano)
- Source Control (Github)
- RESTful API Development
Servers
- Unix, Terminal, and SSH
- Web Servers/Load Balancers (nginx)
- Application Servers (Passenger)
- SQL (MySQL)
- SSL
- Cron
Modules & Components
- Search (Sphinx & Thinking Sphinx)
- Background Processing (Delayed Job)
- Email Delivery & Bounce Handling (Postmark)
- Performance/Monitoring (New Relic, Pingdom, Monit)
- Credit Card Processing and Management (Braintree)
You don’t necessarily need to be an expert on all of these topics, but the more you know, the easier it is to talk and enlist the help of those that are experts.