Skip to content

Instantly share code, notes, and snippets.

@devjoca
Last active September 19, 2019 20:27
Show Gist options
  • Select an option

  • Save devjoca/69541a61cbc50a72b1dca19b736d01a5 to your computer and use it in GitHub Desktop.

Select an option

Save devjoca/69541a61cbc50a72b1dca19b736d01a5 to your computer and use it in GitHub Desktop.
Software architect

# Software Architect (Tech Leadership)

Role

  • Architect and provide technical leadership for major new initiatives.
  • Roadmaps and solution architectures for new and existing business solutions, make the provided architecture design capable of evolving in time.
  • Reinforce team skills, provide leadership and mentor to them.
  • Work closely with other developers, analysts and project managers as well as business partners / product managers and other technology teams.
  • Deliver innovative, cost effective technology solutions which align to enterprise architecture standards and achieve business requirements.
  • Provide technical leadership and support to our business partners specific to emerging technologies and standards.
  • Practical proficiency in different programming languages.
  • Responsible for the engineering process

Responsibilities

Project

  • Define technologies and tools
  • Technical risks evaluation.
  • Visualize big picture of the solution architecture
  • Keep the team aligned
  • Speak the business language, easy to understand by other non-technical stakeholders

Team

  • Define and carry out research for the team
  • Support in recruitment process
  • Technical reference
  • Identify the technical profile of the team members.
  • Be a leader: Accomplish defined objectives
  • Efficient Delegator

Key Benefits

  • Replicate Success Stories
  • Identify Strategic Improvements
  • Keep Decisions Pragmatic
  • Focus on Technical Excellence
  • Attract, Promote and Grow Talents

Characteristics

  • Broad and deep technical knowledge. This should be obvious since one cannot become a software architect with a musical background. The architect usually has knowledge in several technological stacks at a decent level and should have a good understanding of a few other ones. The software architect should also be prepared to compose a large number of technical documentation, reports, and diagrams.
  • Responsibility. A software architect should understand those architect decisions are usually the most expensive. A person in this position should take the most responsible approach to his work and to the decisions made. If the developer’s error costs a couple days of work of one person, then the architect’s mistake can cost person-years on complex projects.
  • Communicability. A good specialist should be able to talk with customers in the language of business, managers of all levels, business analysts and developers in their languages. To explain all the action correctly, a software architect has to grow a natural charisma and ability to convince people. Usually, architects are laconic, eloquent and competent speakers. While software architects participate in discussions they should be able to persuade the others.
  • Management skills. This includes both organizational and leadership skills. The ability to lead a team, which may be distributed and composed of very different specialists.
  • Stress resistance. A software architect works with different people from different areas, rapidly changing demands or even with changing business environments. Therefore, it is necessary to be ready for stress and to look for some ways to escape negative emotions. Work is always more pleasant when you’re happy.
  • Analytic skills. One of the most important tasks is the ability to represent an abstract problem in the form of some finite real object of the system, which can be evaluated, designed and developed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment