Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flatiron School Spring 2015

63e2f6b0de6ae817af2e185b82aa05c2?s=47 Mark Wunsch
February 25, 2015

Flatiron School Spring 2015

I gave this talk to Flatiron School students about engineering career development.


Mark Wunsch

February 25, 2015


  1. // Flatiron School @markwunsch

  2. None
  3. Agenda 1) What was your path to engineering (and RTR)?

    2) What does the team look like at RTR? How is it structured? 3) What makes a successful junior, senior, and directing developer at RTR? 4) What keeps you excited and passionate about engineering? 5) What advice would you have given yourself when you were starting out as an engineer?
  4. What was your path to engineering?

  5. None
  6. None
  7. None
  8. W aReZ

  9. <HTML>

  10. None
  11. None
  12. DHTML

  13. None
  14. None
  15. None
  16. None
  17. None
  18. How is RTR structured?

  19. Conway’s Law “Organizations which design systems…are constrained to produce designs

    which are copies of the communication structures of these organizations.”
  20. Strategic Pillars

  21. Pricing Unlimited Retail CX … Technology

  22. What makes a successful developer at RTR?

  23. DEX Technical Skill STR Getting Shit Done WIS Impact CHA

    Communication & Leadership
  24. None
  25. DEX STR WIS CHA Ensures their organization has appropriately high

    technical competence and strives for excellence Researches new technologies to stay abreast of industry trends and standards. Capable of jumping in to help debug and triage critical systems as needed. Contributes to architecture by asking the right questions to ensure architecture matches business needs for the area Develops and deploys new strategies for building a high velocity, high performance development organization in line with our emerging customer needs. Supports technical innovation and leads the creation, continual refinement, and active enforcement of our development standards in order to ensure that our technology can be leveraged as a sustainable competitive advantage. Participates in staff recruitment, performance assessments, training, and career development. Responsible for all headcount planning and personnel evolution for multiple areas of the engineering organization. As necessary, the director manages vendor and external relationships for their organization, and participates in the budgeting process Provides leadership to software development managers, addresses technical, resource and personnel issues. Provides mentoring to senior staff. Builds and supports high functioning, motivated teams. Creates an organization that understands how to balance technical debt vs business goals. Collaborates across functional areas to define, prioritize and ensure implementation of specific innovations to improve technical functionality in support of business needs, efficiencies and revenue. Able to communicate technical concepts to business stakeholders as well as communicate business objectives to the technical team. Leverages past experience and uses strong communication skills to collaborate effectively with all stakeholders including customers, senior management and other business leaders. Sells Rent the Runway as a company and their organization as a team to potential candidates. Inspires potential recruits to join the company. Owns the OKR setting and review process for teams under their oversight
  26. What keeps you excited and passionate about engineering?

  27. Engineering is not my passion.

  28. http://usersknow.blogspot.com/2015/02/your-job-is-not-to-write-code.html Your job is not to write code.

  29. http://usersknow.blogspot.com/2015/02/your-job-is-not-to-write-code.html Your job is to improve our product for our

  30. I’m passionate about building products.

  31. I’m enthusiastic about building products.

  32. What keeps you excited and enthusiastic about building products?

  33. The Dreyfus model of skill acquisition • Novice • Advanced

    beginner • Competent • Proficient • Expert
  34. 1. Unconscious incompetence 2. Conscious incompetence 3. Conscious competence 4.

    Unconscious competence
  35. 守破離

  36. None
  37. What advice would you have given yourself when you were

    starting out as an engineer?
  38. None
  39. • Rule of Modularity: Write simple parts connected by clean

    interfaces. • Rule of Clarity: Clarity is better than cleverness. • Rule of Composition: Design programs to be connected to other programs. • Rule of Separation: Separate policy from mechanism; separate interfaces from engines. • Rule of Simplicity: Design for simplicity; add complexity only where you must. • Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do. • Rule of Transparency: Design for visibility to make inspection and debugging easier. • Rule of Robustness: Robustness is the child of transparency and simplicity. • Rule of Representation: Fold knowledge into data so program logic can be stupid and robust. • Rule of Least Surprise: In interface design, always do the least surprising thing. • Rule of Silence: When a program has nothing surprising to say, it should say nothing. • Rule of Repair: When you must fail, fail noisily and as soon as possible. • Rule of Economy: Programmer time is expensive; conserve it in preference to machine time. • Rule of Generation: Avoid hand-hacking; write programs to write programs when you can. • Rule of Optimization: Prototype before polishing. Get it working before you optimize it. • Rule of Diversity: Distrust all claims for “one true way”. • Rule of Extensibility: Design for the future, because it will be here sooner than you think.
  40. None
  41. None
  42. None
  43. None
  44. • Don’t define yourself by the tools you use. •

    Adhere to a philosophy and know when to ignore it. • Get broad knowledge of the system. • Do the research. • Find the community. • Be nice.
  45. Google these people • Rich Hickey • Kathy Sierra •

    Alan Kay • Bret Victor
  46. ^D