O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a navegar o site, você aceita o uso de cookies. Leia nosso Contrato do Usuário e nossa Política de Privacidade.
O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a utilizar o site, você aceita o uso de cookies. Leia nossa Política de Privacidade e nosso Contrato do Usuário para obter mais detalhes.
One of the biggest
“Millions of buyers and sellers”
“Tens of millions of product listings”
Translates to hundreds of services deployed across multiple data centers.
in Business &
● Identify business needs & help
translate them into detailed technical
requirements and specifications.
● Participate in prioritization:
○ Product features
○ Technical debt
● Negotiate with Products & Business
to ensure proper prioritization of
important Technical debt
or more than one
● A product will have functional and
● Architect owns the nonfunctional
requirements like latency,
availability, scalability and
● S/he participates in decision on the
technical stack and the design and
architecture to solve the problem.
Helps the team
● Goal is to design a scalable,
maintainable and extensible
● Focus should be more on “what” to
do rather than “how” to do.
● High level design options. Evaluate.
● Discuss pros and cons with the team
and decide the approach.
● Mentors and guides the engineering
team on best practices, design
patterns, upcoming technologies etc.
● Participates in dissemination of
information using knowledge sharing
sessions and motivates the team to
● Engage in technical discussions on
alternate ways of implementations,
pros and cons of each etc. (which is
the essence of architecture).
Acts as the guard
● Code is written for Humans to read
and machines to execute.
● Conducts, and motivates the team to
have regular code reviews (peer,
over the shoulder or github PR).
● Enforce good practices in software
engineering like proper unit tests,
code coverage and using design
● Research and evaluate common
off-the-shelf products to see whether
they will be more suitable than
building a new system.
● Build vs buy dilemma!
● Leverage 3rd party open source and
other technologies outside of the
core solution and estimate cost of
● Architects are also responsible to
help teams debug harder issues and
in the process make team learn
about different debugging tools and
● Troubleshoot and perform Root
cause analysis of production issues.
Learns and teaches
● As an Architect you will need to
involve in myriads of communication
with different stakeholders.
● Effective and tailored communication
to different audiences.
● Implement whitepapers as needed
on design & redesign efforts.
● Implement effective interview
process in the company.
● Assist in developing assessment
tests and evaluating the same.
● Helps in assisting on hiring and most
cases is an authority on yes/no
For present & future
“Architects look at thousands of
buildings during the training, and study
critiques of those buildings written by
masters. In contrast, most software
developers only ever get to know a
handful of large programs well - usually
programs they wrote themselves - and
never study the great programs of
● Resolve to continuous learning. Learn
from other people (discussions), books
● Read code written by other people.
● As an architect, spend some time on new
interesting stuff happening in technology.
(subscribe to hackernews).
● Read about design decisions. Best
places are own workplace (with
colleagues), mailing lists, github issues,
and books of-course.
Learn, learn, learn!
Read about how other technical
architects and computer scientists
across the world think.
Learn the techniques to explain
concepts in a simple manner.
● More you have to explain a concept to others - better you grasp it.
● So whether by writing a blog, trying to write some code to verify the
concepts learnt or to explain to someone (or many people) in person, try to
transfer the knowledge.
Coding / Debugging
● Every technical architect who leads software development team must code
and should be the role model with respect to all standard practices that he
wants team to follow:
○ Write good quality code with proper documentation (technical
architecture document), comments in the code and unit testing in place.
○ Technical architecture document should include high level interactions
between the system and the external entities (databases, caches,
message queues etc.)
● It also applies to debugging and sharing of knowledge.
The world today is so connected you can
reach me on many channels:
Mail: awasthi /dot/ manoj /at/ gmail /dot/ com
FYI: Tokopedia is hiring across and also
for Technical Architects and
Please connect with me on mail or to