Link Search Menu Expand Document

Web Developer Solution Index

After a friend of mine suggested reading "The things you need to know to do web development I felt the need to compile a solution index for the experiences described. In this interesting blog post describes his view of the typical learning curve of a web developer and the tools, solutions and concepts he discovers when he becomes a successful developer. I do not want to summarize the post but I wanted to compile a list of those solutions and concepts affecting the life of a web developer.
Markup Standards KnowledgeHTML, CSS, JSON, YAML
Web Stack LayeringBasic knowledge about
  • Using TCP as transport protocol
  • Using HTTP as application protocol
  • Using SSL to encrypt the application layer with HTTPS
  • Using SSL certificates to proof identity for websites
  • Using (X)HTML for the application layer
  • Using DOM to access/manipulate application objects
Web Development Concepts
  • 3 tier server architecture
  • Distinction of static/dynamic content
  • Asynchronous CSS, JS loading
  • Asynchronous networking with Ajax
  • CSS box models
  • CSS Media Queries
  • Content Delivery Networks
  • UX, Usability...
  • Responsive Design
  • Page Speed Optimization
  • HTTP/HTTPS content mixing
  • Cross domain content mixing
  • MIME types
  • API-Pattern: RPC, SOAP, REST
  • Localization and Internationalization
Developer Infrastructure
  • Code Version Repo: usually Git. Hosted or self-hosted e.g. gitlab
  • Continuous Integration: Jenkins, Travis
  • Deployment: Jenkins, Travis, fabric, Bamboo, CruiseControl
Frontend JS FrameworksMandatory knowledge in jQuery as well as knowing one or more JS frameworks as Bootstrap, Foundation, React, Angular, Ember, Backbone, Prototype, GWT, YUI
Localization and InternationalizationFrontend: usually in JS lib e.g. LocalePlanet or Globalize Backend: often in gettext or a similar mechanism
Precompiling ResourcesFor Javascript: Minify For CSS:For Images: ImageMagick Test everything with Google PageSpeed Insights
Backend Frameworks By language
  • PHP: CakePHP, CodeIgniter, Symfony, Seagull, Zend, Yii (choose one)
  • Python: Django, Tornado, Pylons, Zope, Bottle (choose one)
  • Ruby: Rails, Merb, Camping, Ramaze (choose one)
    Web Server Solutionsnginx, Apache For loadbalancing: nginx, haproxy As PHP webserver: nginx+PHPFPM
    RDBMSMySQL (maybe Percona, MariaDB), Postgres
    Caching/NoSQLWithout replication: memcached, memcachedb, Redis With replication: Redis, Couchbase, MongoDB, Cassandra Good comparisons: #1 #2
    HostingIf you are unsure about self-hosting vs. cloud hosting have a look at the Cloud Calculator.
    BlogsDo not try to self-host blogs. You will fail on keeping them secure and up-to-date and sooner or later they are hacked. Start with a blog hoster right from the start. You might want to use a free one like GitHub Pages or pay for a hosting solution and get proper support.