Bridging The Gap

Product PH Talks - Thursday April 26, 2018
👋
Co-Founder & CTO

The Age Old Problem

Tech
😎
Business
  • Wasted Cash
  • Customer Experience 👎
  • Internal Friction
1. Basics
2. Why is tech difficult?
3. Practical Advice

Tech Is Simple

Db interface user

Simple and easy are not the same thing

Interfaces

Graphical Iphonex
Non-Graphical Blank face

Users have some basic expectations of interfaces

  1. It needs to display the same information the next time I open it up, as when I left it.
  2. It needs to respond instantaneously when I interact with it.
  3. I want to be able to access it from multiple devices.
  4. If I view it on a different device , I want it to have the same information.
  5. People in other geographic areas also need to be able to see the information I add.
Problem 1

Server & Client

Q. What's a Server?

A computer with no face.
Server
  • A computer in another country
  • Commonly referred to as "backend"
  • Like any computer, can crash at a moment's notice
Requests
Client
    The computer in your hand

Q. What's a Database?

A: A spreadsheet with no face.

Q. What's a Request?

  • A way of passing information from the server to the client.
  • Sent to an address
  • www.firstcircle.ph/ Server
    get-finance Route
Server
The Database
Code that passes the data to and from the database
Code that builds the interface
API Requests
Browser Requests
Client
Information that populates the interface
Code that builds the interface

Why Is Tech Difficult?

The web wasn't built for cloud software

Instead of the abstractions we need

Server
Client
Request
Models
Attributes
Services
Grids
Design Systems
Components

We have top-level stuff to deal with

HTML
CSS
JS
Ruby/PHP/Java/Elixir
Frontend Frameworks
State Management
TCP/IP
DNS
SSL
AJAX
MVC
GIT
JSON
XML
Rest
GraphQL
CDNs
Passenger
Nginx
Continuous Integration
Capybar
Unit Tests
Integration Tests
Caching
Garbage Collection
N+1s
Horizontal Scaling
Vertical Scaling
Memory Management
Design Tooling

So we end up reinventing the wheel

How can we make it better?

Don't be afraid to blur the lines

Specialisation is dying
Product quality has an inverse relationship to the number of people between the customers and the creators.

Invest in your conventions

  • Database Architecture
  • APIs
  • Coding Standards
  • Design System
  • Architecture

Put faces on things

Devops

Cloud66

Monitoring

Datadog

Metabase

Metabase

API Docs

Api docs

Try to understand the things with no faces

Management Where, How
Customer Why
Engineers Functionality, maintainability
Designers Relevance, usability, consistency, experience
QA Reliability
PM Pivotal Intermediary

Thanks for your time!