(Except you)
A fly-through guide to web development best practices.
A fly-through guide to web development best practices.
Tampa Bay Startup Week, 2018-02-12
(Except you)
These slides are available at
Who is this jerk?
Laurie Voss
COO,
@seldo
What are we talking about?
I may also include sarcastic remarks down here.
- Dunning-Kruger
- Automate everything
- JavaScript
- UX
- Databases
- Security
- Performance
- Testing
- Debugging
- Architecture
- Soft skills
Q: Who died and made you god of web development?
A: Twitter, America's most trusted source for real facts.
Dunning Kruger
More on Wikipedia: en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Dunning Kruger Study
Dunning & Kruger won the Ig Nobel prize for psychology in 2000, but this is really useful stuff.
Top quartile
Impostor syndrome
Bottom quartile
Disaster area
Automate everything
Time saved by automation
Touch typing
The command line
Are you even old enough to remember this movie?
Text editors
Version control
git or GTFO
What is your job?
50% solving the problem
50% communication
HTML
All hail Sir Tim.
JavaScript
- You don't always need an app
- Consider progressive enhancement
You don't always need an app
Progressive enhancement
UX
is what a web app feels like, not what it looks like
URLs are part of UX
Support deep links
http://twitter.com/#!/ded/status/18308450276
is the same as
http://twitter.com/
Beware the hashbang!
Solve the user's problems
Nobody uses carousels:
Be predictable
Links go places, buttons do things
Spatial memory is a thing
Be fast
Performance is invisible UX.
Mobile first
Accessibility
is not optional
3.4% of web users have limited vision:
http://www.practicalecommerce.com/articles/2114-Screen-Readers-Eight-Frequently-Asked-Questions
Guide to accessibility:
http://www.nngroup.com/reports/usability-guidelines-accessible-web-design/
Databases
There is no one true database.
Memory
Best database ever.
Memcache
Memory across machines
Redis
Memcache that persists.
MongoOhNoDB
I have to stop making fun of Mongo.
MySQL
(by which we mean MariaDB)
Postgres
Get somebody else to run it for you.
Oracle
Mo' money, less problems.
ElasticSearch
Great for search. Not a database.
Replication
A scaling strategy, not a backup strategy.
Backups
Are not real unless you test them.
Security
Because people are terrible sometimes.
3 principles of software security
- You can't add it later
- Never trust the user
- Defense in depth
Input validation
Regular expressions are really hard and really worthwhile.
XSS
(Because CSS, RSS, OSS and SSS were all taken)
Cross Site Scripting
Speed
vs
Efficiency
vs
Throughput
vs
Latency
Performance
is
Speed is the only thing that matters
Efficiency
is usually not worth your time
Latency
is another type of speed
Moving closer in space
CDNs are magical
Moving closer in time
Cram every damn thing into memory
Testing
But ask me why TDD is a bad idea
Automate, automate, automate
Make the intern do it
Write evil tests
"What happens if I put emoji in here?"
Debugging
Don't copy code you don't understand.
Be explorative
"What does this button do?"
Be deliberate
If you don't know how you fixed it,
you didn't really fix it.
Architecture
Bad code everyone loves is better than beautiful code nobody uses.
Frameworks are for people
Having any pattern is better than not having a pattern
Modularity is a scaling tactic
DRY = Don't Repeat Yourself
Soft skills
is a bullshit term.
These are the hardest skills.
Don't be an asshole
"people will forget what you said,
people will forget what you did,
but people will never forget
how you made them feel."
Maya Angelou
Value yourself
Never work alone
"Hey, you guys need any Cold Fusion done?"
Keep learning
Share what you know
Interviewing
How to find and get a job (by @jewelia)
How to interview other people:
Fight Impostor Syndrome
by ganging up
- lgbtq.technology - LGBTQ in Tech Slack
- witchat.github.io - Women in Tech Slack
- hiretechladies.com - Jobs for women in Tech
- womenwhocode.com - Career services for women in Tech
- peopleofcolorintech.com - People of Color in Tech
- devcolor.org - Community for black software engineers
- techqueria.org - Latin@s in Tech
- deafpros.com - Community for Deaf professionals
- projectalloy.org - will pay for you to go to a conference!
Stuff I totally skipped
- HTML & CSS
- Databases
- SQL
- Authentication
- Security exploits
- Deployment
- Source Control
- Caching
- Service-oriented architecture
- Time zones
- Distributed systems
- Internationalization
- Mobile
- Offline-first
- So. Much. Stuff.
- Go explore!
The long version:
It's finally over
Holy crap it seemed like he would never shut up
Now would be good time to follow me on Twitter!
@seldo
Good questions get shirts & socks!
These slides are at:
Stuff Everybody Knows @ Tampa Bay Startup Week
By seldo
Stuff Everybody Knows @ Tampa Bay Startup Week
- 6,418