Great writeup! You make a lot of great points here like getting subject matter expert involved early on and QA-ing with figma
I feel some of these important points are buried in the narrative and could be better emphasized if you made them a section heading.
What if the post is reorganized to have each lesson learned a separate section? That way, someone who is quickly scrolling through the article while they are waiting for the subway can see the main points.
An overarching comment I have is the text in the images is way too small. Even on the…
At OkCupid, we are building a new location search experience for users to set their own locations based on country, city name, and GPS.
In contrast to the earlier iteration of the location search experience, data that enables the search is no longer statically loaded from the source code. The new search experience is powered by multiple sources of data and services from the back-end and provides more sophisticated user feedback for error and success cases.
What makes the front-end of the new location search UX complex is that there are a lot of moving parts. The UI needs to…
The coding interviews / coding challenges are designed to assess how productive someone can be with the language. In contrast to the algorithm whiteboarding interview, which assesses how the candidate go about solving a problem, or the architecture design interview, which assesses how the candidate’s experience in system engineering and product design, the coding interview is is utilized by the company interviewing you to answer one question:
You are usually given the flexibility of choosing the language you are most comfortable with to complete the coding challenge. Thus…
This a comprehensive guide for how to containerize your Mongo-Express-React-Node (MERN) app with Docker and deploy it to Amazon Web Service (AWS) Elastic Container Service (ECS). I will share my research and lessons learned deploying a MERN app, including what worked, what didn’t work, how I prepared the app for deployment and accomplished the deployment.
There was a lot of lessons learned when I was figuring out how to get my app, LooseLeaf, launched. The tutorial is written from the perspective of someone who had very little DevOps experience. …
Let’s get started!
All the code discussed in this article is contained in these gists here: PostEditor, which lets you use Draft.js to create rich text. and PostDisplay, which lets you use Draft.js to display the rich text created using the…
Linked list is like an array but more flexible. Elements in an…
A slug is the last part of the url containing a unique string which identifies the resource being served by the web service. In that sense, a slug is a unique identifier for the resource. For example, the slug for this article (originally published on my blog), which has the url of http://xiaoyunyang.github.io//web-developer-playbook-slug is:
Some websites are…
OOP is concerned with composing objects that manages…
What I love most about programming is the problem solving. I don’t believe anyone is born with problem solving skills. It’s a muscle that is built and sustained by repeated exercise. Like any exercise, there’s a set of guidelines to help you be more effective at developing your problem solving muscles. I will introduce five of the most important software design principles that have guided my problem solving process and show you how to apply these principles to solve a real problem.
An isomorphic web app gives you the best of both server side rendering and single page application (SPA).
To get the code up and running on localhost:3000
$ git clone https://github.com/xiaoyunyang/isomorphic-router-demo.git
$ cd isomorphic-router-demo
$ npm install
$ npm start
This is the repository to check out the code: https://github.com/xiaoyunyang/isomorphic-router-demo
There have been many articles written about the benefits of an isomorphic web app, like this, this, this, and this. There’s a book being written about it. I like to think of an isomorphic web app as SPA 2.0. It’s SPA with server side rendering.