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

What does a software engineer actually do?

What does a software engineer actually do?

Ben Sheldon

August 08, 2013
Tweet

More Decks by Ben Sheldon

Other Decks in Programming

Transcript

  1. Write Code Read Documentation Try something Draw on Experience Google

    It https://commons.wikimedia.org/wiki/File:Dry_Stone_wall_building.JPG Move on ...a computer program has only one meaning: what it does. ... Its entire meaning is its function. – Ellen Ullman
  2. Figure out what they’re writing code to do • Project

    Management Process (e.g. “Agile”) • Breaking down features into “manageable” chunks • Estimating Time & Effort • Managing Technical Debt Be Told Exactly How to Do It Do their own implementation Engineering Sales & Marketing Product Engineering Sales Marketing versus Scoping
  3. Manage Technical Debt “Nth times the charm.” “Right now is

    when you know the least.” • Architectural Decisions (e.g. monolithic, SOA) • Version Control (e.g. Git, CVS, SVN, ) • Logging / Exception Alerts (e.g. Loggly, Airbrake) • Performance Profiling (e.g. New Relic) • Static/Complexity Analysis (e.g. Code Climate) • Prevent regressions (e.g. test coverage) • Pairing and Code Reviews http://jonathanschmock.com/sisyphus-at-the-gym/ Dialogue Dialectic versus
  4. Automation Meta Engineering http://xkcd.com/1205/ • DevOps generally • Continuous Integration

    (& Deployment) • Capturing repetitive processes in code • Events & analytics surfacing • Documentation
  5. Writing Code What kinds of challenges did you have working

    with those libraries/frameworks? Specialization Were there any parts of the project you found really satisfying or wanted to excel at? Scoping & Scheduling Tell me about how your team was organized? How were decisions made and your role? What was the pace like? Technical Debt Did you do TDD or Pair Programming? How did you manage code quality? How did QA and bug reporting happen? Any 3rd party services you used/integrated? Automation Are there any internal tools or processes that you helped build or get adopted by the team? Potential Screening Questions