Making the transition from Developer to Architect

Okal Otieno

Solution Architect

https://jumo.world

About JUMO

 

  • Served over 12 million customers
  • Disbursed over US$ 1 Billion in funds
  • Present in 6 countries, with multiple partners in some
  • 330 employees across 8 hubs
  • The platform handles over 43 million customer interactions per month
  • Funds disbursed in 36 seconds

My Journey

 

  • Developing software professionally for about 10 years, give or take.
  • Joined Wezatele as an intern, which was acquired by AFB which became JUMO.
  • In the meantime, worked at FrontlineSMS, Ona, and as a consultant for a variety of companies including eLimu.
  • Joined JUMO in 2016 as a Software Engineer
  • Became an architect at the beginning of 2019.

What is a Software Architect, anyway?

As a matter of fact, what is Software Architecture?

The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.

Role of an Architect

 

  1. Creating an architecture

  2. Evaluating and analyzing an existing architecture

  3. Documenting architectures

  4. Working with and transforming existing systems

  5. Requirements analysis

  6. Evaluating future technologies

Transitioning to an architecture role

Architecture is grounded in experience. It is a role to grow into, rather than something to start as.

It must address an existing organisational need. Not all software development organisations need architects, though they do need architecture as a discipline.

Types of Architects

 

  1.  System Architect
    Affects one system and builds connections within it. Primarily technical focus.
  2. Solution Architect
    Engages with the business more. Connects multiple systems. Interaction with product code is limited, and mostly involves prototypes.
  3. Enterprise Architect
    Influences the architectural direction of the entire organisation, setting standards, does not typically interact directly with the code.

Qualities of a good architect

 

This is a subjective list, so take it with a grain of salt.

  1. Technical competence as a software developer.
  2. Consensus building.
  3. Domain knowledge.
  4. Curiosity.

Why you should consider architecture as a career path

 

  1. You operate in a large team working on multiple, interdependent projects.
  2. You enjoy working on multiple projects simultaneously.
  3. You're comfortable working with large groups.
  4. You're comfortable working alone.
  5. You're comfortable with a large amount of responsibility.

Why you might not want to be an architect

 

  1. You want to be a manager.
  2. You want to engage hands-on in the development of a project for an extend period.

Further Reading

 

1. Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman.

2. The Path to Becoming a Software Architect: https://medium.com/@nvashanin/the-path-to-becoming-a-software-architect-de53f1cb310a

3. Types of Software Architects: https://medium.com/@nvashanin/types-of-software-architects-aa03e359d192

4. Careers at JUMO: https://jumo.world/careers

Transitioning from Developer to Architect

By Okal Otieno

Transitioning from Developer to Architect

This slide deck describes the journey a software developer might make towards specialising as an architect. It is experiential, rather than a technical deep dive.

  • 250