---
title: Michael Washburn Jr's Blog | Michael Washburn Jr (3)
description: Hi, I'm Mike. I'm a full-stack software engineer with a passion for web app development and technical leadership. I'm currently working as a Tech Lead at HubSpot. In my free time I like to hike, camp, and brew beer. (3)
---

Filter by tag

All Tutorials React Engineering Best Practices JavaScript Python Django Product Ownership Web Apps Redux Research

# Posts by Michael Washburn Jr

## Author Bio

![Picture of Michael Washburn Jr](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=150&name=AuthorAvatar.jpg)

Hi, I'm Mike. I'm a full-stack software engineer with a passion for web app development and technical leadership. I'm currently working as a Tech Lead at HubSpot. In my free time I like to hike, camp, and brew beer.

---

## Posts

[![Django REST Framework](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/django-rest.jpeg?height=370&name=django-rest.jpeg) 

](https://michaelwashburnjr.com/blog/building-webapp-tutorial-part-2)

[Web Apps](https://michaelwashburnjr.com/blog/tag/web-apps), [Python](https://michaelwashburnjr.com/blog/tag/python), [Django](https://michaelwashburnjr.com/blog/tag/django), [Tutorials](https://michaelwashburnjr.com/blog/tag/tutorials)

 August 22, 2017

### [Building a Web App From the Ground Up: API Setup— Part 2](https://michaelwashburnjr.com/blog/building-webapp-tutorial-part-2)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

*This post is part of a series of mine on building web applications from the ground up. It covers everything you need to know to completely finish a web application. If you haven’t been following the series, please go back and [read part 1](https://michaelwashburnjr.com/2017/08/15/building-webapp-tutorial-p1). *

[Read More](https://michaelwashburnjr.com/blog/building-webapp-tutorial-part-2)

[![building construction site with crane](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/construction.jpeg?height=370&name=construction.jpeg) 

](https://michaelwashburnjr.com/blog/building-webapp-tutorial-p1)

[Python](https://michaelwashburnjr.com/blog/tag/python), [Django](https://michaelwashburnjr.com/blog/tag/django), [Tutorials](https://michaelwashburnjr.com/blog/tag/tutorials), [React](https://michaelwashburnjr.com/blog/tag/react), [JavaScript](https://michaelwashburnjr.com/blog/tag/javascript)

 August 15, 2017

### [Building a Web App with React and Django: Getting Started — Part 1](https://michaelwashburnjr.com/blog/building-webapp-tutorial-p1)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

So you want to build a web app. Well, what’s stopping you? If you’re reading this, you’ve probably already been programming for some time, but you’re just missing some of the steps. I’ve been there before. I know how frustrating it can be to know 70% of what you need to do to build a killer web app for an idea you have, but not have enough knowledge to take the idea from beginning to end.

[Read More](https://michaelwashburnjr.com/blog/building-webapp-tutorial-p1)

[![An Overview of Web App Architectures](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/flux.jpg?height=370&name=flux.jpg) 

](https://michaelwashburnjr.com/blog/an-analysis-of-web-app-architecture)

 August 8, 2017

### [An Overview of Web App Architectures](https://michaelwashburnjr.com/blog/an-analysis-of-web-app-architecture)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

In the modern world of web app architecture, it’s truly *too easy* to become lost in the variety of options available to us. When it comes to building web applications, a few stand out. But the task of deciding which architecture to use is still daunting. We’re all probably familiar with the classic Model-View-Controller pattern (MVC). But then there’s MVVM, MVP, Flux, and a variety of others. *What are the differences?* *Which is right for me? How do they compare to each other?* These are the questions I’ll try to answer. I will make general recommendations regarding the use of certain architectures, but these cannot be applied to all projects, as every project is unique.

[Read More](https://michaelwashburnjr.com/blog/an-analysis-of-web-app-architecture)

[![Man drawing on a white board](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/startup-photos.jpg?height=370&name=startup-photos.jpg) 

](https://michaelwashburnjr.com/blog/4-reasons-web-app-separated-frontend-backend)

[Web Apps](https://michaelwashburnjr.com/blog/tag/web-apps), [Engineering Best Practices](https://michaelwashburnjr.com/blog/tag/engineering-best-practices)

 August 1, 2017

### [4 Reasons to Separate Your Web App’s UI and API](https://michaelwashburnjr.com/blog/4-reasons-web-app-separated-frontend-backend)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

Unless your web application is 100% client-side code, you should split it into a backend API and a frontend client. Too often people fall into the trap of believing that because they need a “quick” turnaround they shouldn’t spend the time developing a separate API and client-side app, or they believe that their application is small enough that they can get by without doing this.

[Read More](https://michaelwashburnjr.com/blog/4-reasons-web-app-separated-frontend-backend)

[![Austin Texas skyline, To ICSE ’16 and Back Again: A Research Tale](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/austinskylinelouneffpoint-2010-03-29-b.jpg?height=370&name=austinskylinelouneffpoint-2010-03-29-b.jpg) 

](https://michaelwashburnjr.com/blog/to-icse-16-and-back-again-a-research-tale)

[Research](https://michaelwashburnjr.com/blog/tag/research)

 June 13, 2016

### [To ICSE ’16 and Back Again: A Research Tale](https://michaelwashburnjr.com/blog/to-icse-16-and-back-again-a-research-tale)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

I recently went to Austin, Texas to present my research on best practices and common mistakes in game development at the International Conference on Software Engineering (ICSE ’16). My paper, titled *“What Went Right and What Went Wrong”: An Analysis of 155 Postmortems from Game Development, *presents an empirical study on postmortem reviews from game development. I coauthored this paper with Pavithra Sathiyanarayanan, Meiyappan Nagappan, Thomas Zimmermann, and Christian Bird.

[Read More](https://michaelwashburnjr.com/blog/to-icse-16-and-back-again-a-research-tale)

[![Django Server Setup](https://michaelwashburnjr.com/hs-fs/hubfs/Imported_Blog_Media/untitled-drawing.jpg?height=370&name=untitled-drawing.jpg) 

](https://michaelwashburnjr.com/blog/django-server-setup)

[Python](https://michaelwashburnjr.com/blog/tag/python), [Django](https://michaelwashburnjr.com/blog/tag/django), [Tutorials](https://michaelwashburnjr.com/blog/tag/tutorials)

 April 7, 2015

### [Django Server Setup](https://michaelwashburnjr.com/blog/django-server-setup)

![Picture of https://4674423.fs1.hubspotusercontent-na1.net/hubfs/4674423/AuthorAvatar.jpg](https://michaelwashburnjr.com/hs-fs/hubfs/AuthorAvatar.jpg?width=30&name=AuthorAvatar.jpg) [Michael Washburn Jr

](https://michaelwashburnjr.com/blog/author/michael-washburn-jr)

This tutorial will show you how to serve a Django application by using PostgreSQL, Gunicorn, and NGinx on an Ubuntu server. I created this tutorial because when I started configuring my server, I had a lot of trouble finding anything useful when it came to serving Django apps built in Python 3. I found that virtually all the tutorials I could find still insisted on using Python 2. So, this will show you how to turn your Python 3 Django app into a fully fledged website. This tutorial uses the following software with the corresponding versions:

[Read More](https://michaelwashburnjr.com/blog/django-server-setup)

[ Prev ](https://michaelwashburnjr.com/blog/author/michael-washburn-jr/page/2) [1](https://michaelwashburnjr.com/blog) [2](https://michaelwashburnjr.com/blog/author/michael-washburn-jr/page/2) [3](https://michaelwashburnjr.com/blog/author/michael-washburn-jr/page/3)  Next