SHOULDERSOF GIANTS
JON ROES
OVERVIEW•Problems
•Strategies for building things quickly
•My experiences
WE NEED TO TALK
Building software takes too long.And half the time it’s buggy.Or it doesn’t even solve the problem.
IT’S NOT JUST YOU, IT’S ME TOO•Not Invented Here (NIH) syndrome
•“Unwillingness to value the work of others”
•Fear of the unknown
•Programming is fun
OUR SHAREDPROBLEMS•You are not a unique snowflake.
•You aren’t really interested in software, you are solving a problem
•Maybe you’re different because you’re wrong
CONFESSION
•I don’t always want to write code.
•Would you want me to spend more or less time shipping your project?
•Would I want to spend more or less time shipping my project?
•You don’t want me to write code either.
PHILOSOPHY•Why are humans so successful?
•What if we never wrote the same code twice?
•How can we push the state of the art further?
HISTORY•Math: Numbers -> Arithmetic -> Algebra -> Abstract Algebra
•Science: Galileo -> Brahe -> Kepler -> Newton
•The Avengers: Hulk beats Loki, Iron Man stops the missile, Black Widow deactivates portal
NEWTON
Good artists copy. Great artists steal.
ART
STRATEGIES
CLASSES OF PROBLEMS•Social networks
•Stores
•Blogs
•Chat/Forums
•Static
WHAT TO LOOK FOR•Necessity
•Level of match
•Exact match
•Kinda-sorta
•Properties
•Age
•Author
•License
•Recent Activity
THE UGLY•Getting cornered
•Picking something unmaintained
•Dependency hell
RISK MANAGEMENT•Start on a branch
•Make the smallest change you can first
•Set a timebox
WHEN BUILDING MAKES SENSE•You need a particular feature that would be at odds with the current philosophy.
•The existing maintainer won’t play nicely
•It really doesn’t exist
•You are the world’s foremost expert in the area
MY EXPERIENCES
SOCIAL NETWORKING SITE•Missed opportunity
•Could have shipped faster
•Could have delivered more
•Could have had fewer bugs
E-COMMERCE SITE
•Went with Spree
•Could buy a product with a credit card on day one
•Immediately better: searching, filtering, product management, reporting
•Helped define categories/taxonomy
•Clean, easy to extend codebase
PUSH NOTIFICATIONS
•No familiarity with iOS push notifications
•Found a library called Grocer, used it
•Sending push notifications in a day
GET OUT THERE•Contribute to awesome projects
•Make them better
•If not, convince your boss to donate money
Top Related