The Road to Microservices and Beyond
- The 2-pizza rule - Development teams should be able to be fed by 2 pizzas. So no teams larger than 6-8 people. Any larger and communication becomes an issue.
- Trend is local hardware to cloud servers, monolithic architecture to micro services, and serverless
Minor Bug Fixes
- Nobody reads release notes for app updates
- because they're hidden behind a View More link
- as a result companies don't write informative release notes
- even large companies like Facebook
- Some companies do a great job - 1Password, Slack
- they include a TLDR
- bullet points
- The Perfect Release Note
- An introduction
- TLDR
- New / Improvements / Fixes
- A call to action to get feedback
- Going even further
- Localized release notes for specific languages
- Don't ever say 'Minor bug fixes' - tell them specifically what was fixed
- But nobody reads release notes...
- True, but some do - its quality over quantity
- People write in to give feedback
- Use a ratings block CTA. Direct users who vote 4-5 stars to the app store so they can rate the app. Direct users who vote 1-3 stars to an email to get their feedback
Falling to Pieces: The Componentization of the Web
by Jonathan Snook @snookca
- Style is important
- Thinking in pages - many sites use a similar page layout with headers, footers, sidebar and main content
- OOCSS, SMACSS, BEM help modularize CSS
- Hurdles to being independent modules
- Inheritance
- Cascade
- Browser Defaults
- Putting Modules Together
- Pros to using the above systems
- Reduce the intersections
- Simplify selectors
- Dont need to be able to understand cascade
- Cons
- These methods are not libraries, so they require diligence
- No tooling
- Atomic CSS / Functional CSS
- Styled Components / CSS Modules
- Web Components
- Templates, shadow don, custom elements, HTML imports
Fireside Chat
- Pryor/Spolsky split their company Fog Creek 50/50, but vesting rules prevented either from leaving and keeping their 50%
- Stackoverflow and Trello were much later products - they had many failures before that - Fogbugs, Citydesk
- On becoming a CEO/manager from a developer - you might like it, you might not. The skills are totally different.
- Worst bugs Pryor ever - pointed the e-commerce endpoint to the payment gateways sandbox account - so it looked like it was working but nobody was being charged. Also, once forgot to add sales tax and the state came looking for it.
A Clear-Eyed Look at Distributed Teams
- Works for FreeAgent
- About 50 out of 130 of their team is distributed
- A distributed team requires all team members show their commitment to the success of the company
- Building a successful distributed team:
- Critical Mass - avoid snowflakes. One or two remote team members when the rest of the team is localized will not usually work
- Break through glass ceilings - management needs to understand the issues and complexities of working remotely
- Office-based team members should have the ability to work from home occasionally to develop empathy for remote team members
- Treat on-site and remote fairly, not equally -
- Organize meetups for team members to meet in person
- Communicate intentionally
- Collaborate daily to build trust - use tools to communicate - trello, slack, github, screenhero, Gsuite, grafana
- Traits of successful remote works
- Being visible
- Being honest and open
- Being responsive
- Delivering - do what you say you're going to do and be accountable
- Being consistent - by showing your work
- Showing your work
- Create PRs and ask for feedback
- Collaborate across the company
- For remote managers
- Wath the work, not the worker
- Do your homework - budget, law, expectations
- Understanding rules for hiring workers in different countries
- Moving From “Can We?” to “Should We?”: Emerging Challenges in Consumer Software
- Trust is earned in inches, lost in miles
- Protect user data as though its your personal data
- Transparency and opt-in, instead of opt-out
The Second Decade of PaaS: What’s Next for Cloud Development
- Adam Gross is CEO of Heroku, which is now 10 years old
- App Dev is still accelerating
- New pillars of PaaS
- Development Experience
- Customer Experience
- Trust and Enterprise
- New Data Services and Events
- Relational / NoSQL DBs - PostgresSQL, Redis, MongoDB
- Large Data Stores - Hadoop, Cassandra
- Event Management - Kafka
- Data Processing - Spark, Apache Storm
- The nature of our applications will change as these services become commoditized
Comments