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

From Developer To Architect

From Developer To Architect

A year ago I was looking for a job, and ended up taking a job as a "Technical Architect".

But what exactly is a Technical Architect?

Weren't Software Architects a thing in the 90s, cast away when we learnt about Agile?

In this talk I'm going to tell the story of my year as a Technical Architect in government, and hopefully convince you that there is a place for just enough architecture in modern software development.

Presented at Codeaholics in Hong Kong on August 8th 2018

Matthew Rudy Jacobs

August 08, 2018
Tweet

More Decks by Matthew Rudy Jacobs

Other Decks in Technology

Transcript

  1. from Developer
    to Architect
    Matthew Rudy Jacobs
    Wednesday August 8th 2018
    @ Codeaholics HK

    View full-size slide

  2. I'm Matthew
    @matthewrudy

    View full-size slide

  3. I like sunglasses

    View full-size slide

  4. I started Codeaholics
    With Eddie and Steve

    View full-size slide

  5. Thought Sauce

    View full-size slide

  6. (My) First HK Ruby meetup

    View full-size slide

  7. Unfortunately, the doodle has gone.

    View full-size slide

  8. 2010 Christmas Party

    View full-size slide

  9. The first ever Codeaholics

    View full-size slide

  10. I ran
    Hong Kong Code Conf
    2014-2016

    View full-size slide

  11. Hong Kong Code Conf 2014

    View full-size slide

  12. Hong Kong Code Conf 2015

    View full-size slide

  13. Hong Kong Code Conf 2016

    View full-size slide

  14. Wouldn't have been
    possible without

    View full-size slide

  15. the attendees

    View full-size slide

  16. Hong Kong Code Conf 2017?

    View full-size slide

  17. 2 days after CodeConf 2016

    View full-size slide

  18. I ended up back in the UK

    View full-size slide

  19. From
    Developer
    To
    Architect

    View full-size slide

  20. It's a story about me

    View full-size slide

  21. But it's also about you

    View full-size slide

  22. The Transition

    View full-size slide

  23. Chief Architect?

    View full-size slide

  24. This was my job

    View full-size slide

  25. I'm a "Technical Architect"

    View full-size slide

  26. For the UK government

    View full-size slide

  27. In Central London

    View full-size slide

  28. I work on "gogovan for prisoners"

    View full-size slide

  29. Career Progression
    • Learn to code
    • Junior Developer
    • Mid-level Developer
    • Senior Developer
    • Lead Developer
    • Technical Architect
    • CTO?

    View full-size slide

  30. But, what is an
    Architect?

    View full-size slide

  31. What is a Technical
    Architect?

    View full-size slide

  32. https://www.youtube.com/watch?
    v=wDLTSOqNEPU

    View full-size slide

  33. "a developer who gets
    sent to a lot of meetings"

    View full-size slide

  34. "supporting the evolution
    from project, to product, to
    platform"

    View full-size slide

  35. What do I do all
    day?

    View full-size slide

  36. I talk with "the
    business"

    View full-size slide

  37. I meet with
    "users"

    View full-size slide

  38. I work with
    "developers"

    View full-size slide

  39. I think about what
    tradeoffs to make

    View full-size slide

  40. I draw pictures

    View full-size slide

  41. I write
    beautiful technical documents

    View full-size slide

  42. "I'm a mini-CTO"

    View full-size slide

  43. https://pragprog.com/book/mkdsa/design-it

    View full-size slide

  44. "software architecture is the set of
    significant design decisions about how
    the software is organised
    to promote desired quality attributes and other properties"

    View full-size slide

  45. Quality Attributes
    • Availability
    • Performance
    • Scalability
    • Security
    • Maintainability
    • Affordability

    View full-size slide

  46. Architecturally Significant Requirements
    • Constraints
    • Quality Attributes
    • Influential Functional
    Requirements
    • Other influences
    • Time
    • Knowledge
    • Politics

    View full-size slide

  47. 6 ways Software
    Architecture helps

    View full-size slide

  48. "it turns a big problem into
    smaller, more manageable
    problems"
    "

    View full-size slide

  49. "it shows people how
    to work together"

    View full-size slide

  50. "it looks beyond features
    and functionality"

    View full-size slide

  51. "it provides a vocabulary
    for talking about complex
    ideas"

    View full-size slide

  52. "it helps you avoid
    costly mistakes"

    View full-size slide

  53. "it enables agility"

    View full-size slide

  54. Why don't most startups
    have Architects?

    View full-size slide

  55. They do
    They just call them Developers

    View full-size slide

  56. But often they don't have enough time

    View full-size slide

  57. Give them some time

    View full-size slide

  58. Hire an architect!

    View full-size slide

  59. One more thing

    View full-size slide

  60. Hong Kong
    Code Conf
    2018?

    View full-size slide