Full Stack Development Flashcards

1
Q

What is a full stack developer?

A

Someone who has familiarity with each layer of the stack (frontend and backend technologies):

  1. Server/Hosting Environment/Network
  2. Data Modeling and Databases
  3. Business Logic
  4. API Layer/Action Layer/MVC
  5. User Interface
  6. Understanding customer/business needs

Other concerns:

  • Security
  • Understanding repeatable automated processes used for building, testing and deploying applications
  • Ability to write unit tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is involved in the Server/Hosting Environment/Network layer?

A
  1. Understanding what can break and why, taking no resource for granted.
  2. Appropriate use of the file system, cloud storage, network resources, and an understanding of data redundancy and availability is necessary.
  3. How does the application scale given the hardware constraints?
  4. What about multi-threading and race conditions?
  5. Full stack developers can work side by side with DevOps. The system should provide useful error messages and logging capabilities.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is involved in the Data Modeling/Databases Layer?

A
  1. If the data model is flawed, the business logic and higher layers start to need strange (ugly) code to compensate for corner cases the data model doesn’t cover.
  2. How to create a reasonably normalized relational model, complete with foreign keys, indexes, views, lookup tables, etc.
  3. Familiar with the concept of non-relational data stores and understand where they shine over relational data stores.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is involved in the Business Logic Layer?

A
  1. The value the application provides.
  2. Solid object oriented skills are needed here.
  3. Frameworks might be needed here as well.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is involved in the API Layer/Action Layer/MVC?

A
  1. How the outside world operates against the business logic and data model.
  2. Frameworks at this level should be used heavily.
  3. Full stack developers have the ability to write clear, consistent, simple to use interfaces.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is involved in the User Interface Layer?

A
  1. a) understand how to create a readable layout, or b) acknowledge they need help from artists and graphic designers
  2. Can include mastery of HTML5 / CSS and JavaScript
How well did you know this?
1
Not at all
2
3
4
5
Perfectly