How to be a Full-Stack Developer

How to be a Full-Stack Developer

If you’re ready to join the ranks of full-stack developers, you’re taking on that commitment to understand all layers of computer software development — from beginning to end. Sounds challenging? It doesn’t have to be if you know where to look to start developing your skills. Actually, with some dedication and time, it can be incredibly easy to get ASP.NET MVC, Node.js, Ruby on Rails, and other platforms/ecosystems, especially if you know where to look. A lot has changed in recent years, with front-end development becoming more prominent across the board and essential for web-based mobile applications.

You can spend hours … days … trying to find all the resources you need to reach your goal. Or you could use this roadmap. It’s all here. We’re pointing you in the right direction. But before you read on, a bit of a warning:  This is a hefty post that includes links, tutorials, guides, and more. Yes, at times it may seem overwhelming … but this is what it takes to actually get to full-stack status. Stick with it. Following any major tutorial series all the way through will have you building applications you can then deploy to millions of users.

OK, let’s get started.

An Overview: Three Frameworks

Start your foundation by reviewing the three frameworks and their full-stack ecosystems:

What is the “full-stack” made of?

  • Self-hosted web server. Offered by Node.js, and also ASP.NET through OWIN/Katana.
  • Web server, if not self-hosted.
  • Building client-side UIs. Forms security, templates, scaffolding for CRUD operations.
  • Encourages SPA integration (Knockout, Angular, etc.)
  • Encourages Responsive Web Design (typically Bootstrap)
  • MVV-Whatever Pattern. Typically Model-View-Controller (MVC) for server-side and more complex for client-side UI / JavaScript.
  • Real-time applications through WebSockets/protocol upgrades.
  • Security, routing and authentication.
  • RESTful JSON APIs
  • Database integration
  • ORMs for easier CRUD operations
  • Cloud hosting /Deployment
  • An IDE (integrated development environment) can be nice to have

Full Stack Overview: ASP.NET MVC/Web API

  • Self-hosting through OWIN/Katana, HttpListener or Kestrel (.NET server) on Mac OS X.
  • Other Servers: IIS, IIS Express, Kestrel (Mac OS X)
  • UI and UI Logic through Web Technologies (HTML, CSS, JS) + Razor
  • Built-in security, routing, authentication (Windows, Individual Identity, External/Third Party)
  • Templates to support SPA frameworks (Knockout, Angular). Also, see SideWaffle.
  • Templates support Responsive Web Design (Bootstrap)
  • Scaffolding for CRUD operations to DB through IDE
  • JSON APIs through Web API
  • Language-integrated queries (LINQ, Microsoft-specific)
  • ORM (default Entity Framework) which handles lazy loading and CRUD operations automatically
  • Built-in drivers for MongoDB and SQL Server[
  • Cloud hosting and deployment (to Azure or others)
  • Package Management through NuGet
  • Real-time web applications through SignalR
  • IDE (Visual Studio)
  • Tool installation through Microsoft Web Platform Installer.

Full Stack Overview: Node.js

  • MEAN stack covers a lot of ground – MongoDB (DB), Express (Web Application Framework), AngularJS (SPA), Node.js (Web Platform/Server)
  • Hosting and deployment options
  • Node package management (tools) through npm
  • Browser / project package management through Bower
  • Build and tasks through Gulp

Full Stack Overview: Ruby on Rails

  • Rails is full-stack in and of itself.
  • Going through a Ruby on Rails Guide will get you covering a lot of ground.
  • Common Servers: nginx, Apache through mod_rails module
  • More on hosting and deployment here.
  • ORM / CRUD through ActiveRecord pattern.
  • Ruby gems to install packages, tools.

Framework-Neutral Tooling

  • HTML through HAML
  • More powerful styling (CSS) through SASS
  • Strongly typed JavaScript through TypeScript
  • More fluent JavaScript through CoffeeScript
  • Sublime Text for code editing

Which should I choose?

All of the frameworks listed above are mature and have enough robust features to get the job done. Your choice of framework is often dictated by what the project is already written in. However, if you are just starting out as a full-stack developer, it’s largely a matter of personal preference. Obviously, each framework has its advantages and disadvantages compared to others.  As you become more experienced, these trade-offs become more apparent.

Check back with us soon for an upcoming article on the advantages and disadvantages of the different frameworks.
 
Additional Resources
Course on Ruby on Rails + SaaS:  If you’re comfortable with running things from a VM and deploying to Amazon EC2, these University of California, Berkeley, professors discuss patterns and architecture throughout the length of the course.
All About Ruby on Rails: This includes a link to the rather odd “Why’s (Poignant) Guide to Ruby.”
Quora Response on Full Stack:  This includes a comprehensive look at what you should know as a full-stack developer in 2015.

Let's create something amazing.

Coffee Much?

Built in center of everything 🌎 Indianapolis, IN.

Privacy Policy