Making the transition from Developer to Architect
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
-
Creating an architecture
-
Evaluating and analyzing an existing architecture
-
Documenting architectures
-
Working with and transforming existing systems
-
Requirements analysis
-
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
- System Architect
Affects one system and builds connections within it. Primarily technical focus. - Solution Architect
Engages with the business more. Connects multiple systems. Interaction with product code is limited, and mostly involves prototypes. - 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.
- Technical competence as a software developer.
- Consensus building.
- Domain knowledge.
- Curiosity.
Why you should consider architecture as a career path
- You operate in a large team working on multiple, interdependent projects.
- You enjoy working on multiple projects simultaneously.
- You're comfortable working with large groups.
- You're comfortable working alone.
- You're comfortable with a large amount of responsibility.
Why you might not want to be an architect
- You want to be a manager.
- 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.
- 297