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

Flatiron School Spring 2015

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
Tweet

More Decks by Mark Wunsch

Other Decks in Technology

Transcript

  1. 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?
  2. Conway’s Law “Organizations which design systems…are constrained to produce designs

    which are copies of the communication structures of these organizations.”
  3. 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
  4. The Dreyfus model of skill acquisition • Novice • Advanced

    beginner • Competent • Proficient • Expert
  5. • 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.
  6. • 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.
  7. ^D