Giter VIP home page Giter VIP logo

software-architect-learning-resources's Introduction

Software Architect Learning Resources

There is no shortcut to becoming a Software Architect.

There is a lot of things to learn, because learning is a never-ending process. When you stop learning, somehow in some situation you will feel obsolete.

Being a Software Architect is not always about technology, you need to aware of business and politics. And has a great way to communicate with each stakeholder including your teammates. The key is communication, collaboration and negotiation.

And you need to have a hands-on skill to proof your understanding and to share your knowledge.

Not to try to simplify things, but this can be your anchor about Software Architect role. A software architect role typically has 50% tech things and 50% non-tech things. Assume that number is subjective, so it depends on your situation in your organization.

Actually being a Software Architect is the path to becoming VP Engineering or Chief Technology Officer or similar roles or even better you can be a Technopreneur to start your own startup company by yourself 😎

This list is initiated by Software Architect Community (SARCCOM).

Official website https://sarccom.org

The list is still in progress. If you wanna help to complete this list do not hesitate to do a pull request

Characteristics of a Software Architect

Here's how the IEEE defines the term "architect": [An architect is] the person, team, or organization responsible for systems architecture.

As the technical lead on the project, the characteristics and skills of the architect are typically broad, rather than deep (although architects should have deep skills in particular areas)

Characteristics of a software architect:

  1. The architect is a technical leader
  2. The architect role may be fulfilled by a team
  3. The architect understands the software development process
  4. The architect has knowledge of the business domain
  5. The architect has technology knowledge
  6. The architect has design skills
  7. The architect has programming skills
  8. The architect is a good communicator
  9. The architect makes decisions
  10. The architect is aware of organizational politics
  11. The architect is a negotiator

Attitude and Self Empower

Why attitude matters? Attitude first!

Detail added later

As a software architect, you need to grasp your self empower for your personal growth.

Training / Online Course

Recommended Reading

Books / eBooks

Articles

Papers

Journals

Technical Skill and Knowledge

Training

Recommended Reading

Books / eBooks

Articles

Papers

Journals

Business and Politics

Training

Recommended Reading

Books / eBooks

Articles

Papers

Journals

Human Psychology

Recommended Reading

Books / eBooks

Articles

Papers

Journals

Training

Communities

Methodologies

Why we need a methodology? Even when working alone.

Methodology is the systematic, theoretical analysis of the methods applied to a field of study. It comprises the theoretical analysis of the body of methods and principles associated with a branch of knowledge. Typically, it encompasses concepts such as paradigm, theoretical model, phases and quantitative or qualitative techniques. (Wikipedia)

As a Software Architect knowing several methodologies is a plus. To adapt and create a strategy to deliver excellence. But at least need to know deeply about one methodology.

Scrum

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

Scrum itself is a simple framework for effective team collaboration on complex products. Scrum co-creators Ken Schwaber and Jeff Sutherland have written The Scrum Guide to explain Scrum clearly and succinctly. This Guide contains the definition of Scrum. This definition consists of Scrum’s roles, events, artifacts, and the rules that bind them together. (Scrum.org)

Scrum awesome list to follow 👍

Training

Communities

Kanban

Kanban (Japanese error: {{nihongo}}: Japanese or romaji text required (help), signboard or billboard) is a lean method to manage and improve work across human systems. This approach aims to manage work by balancing demands with available capacity, and by improving the handling of system-level bottlenecks. (Wikipedia)

Kanban awesome list to follow 👍

Extreme Programming

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development. (Agilealliance)

XP awesome list to follow 👍

Iterative and Incremental Development

Certifications

Am I need a certification? the answer is: it depends.

But if you want to be known by industries, then being certified is one of your value to help grow your careers.

IASA - Certified IT Architect

Iasa certifications are the first global industry architect certifications that are completely vendor independent and run only by practicing architects. Iasa provides four levels of certification which describe the major milestones in an architect’s career.

The Open Group Certified Architect (Open CA)

The TOGAF® Standard, a standard of The Open Group, is the open Enterprise Architecture standard used by the world’s leading organizations to improve business efficiency. The Open Group TOGAF Certification Program has enabled more than 70,000 Enterprise Architects and trainers around the globe to demonstrate their proven knowledge of the framework.

  • Official website https://www.opengroup.org/certifications/togaf
  • Certification levels:
  • The cost of the certification can be as low as 320 USD. That’s just for the foundation exam alone; you can also sign up to take both exams for 495 USD. Even if you add in the costs of training courses, getting trained in TOGAF is a clear investment for your future.
  • How many peoples in Indonesia has TOGAF certification? check here...

Certified Software Architect by Carnegie Mellon University

Software architecture is the primary carrier of system qualities, such as performance, modifiability, and security. Architecture helps ensure that a design approach will yield an acceptable system and holds the key to maintenance and sustainment efforts. In short, architecture is the glue that holds every phase of a project together. To realize these benefits, you need to build the capability to architect effectively. The SEI offers the Software Architecture Professional Certificate to equip software professionals with state-of-the-art practices for designing, analyzing, documenting, and implementing software architectures.

iSAQB® Software Architecture

As a software architect, you are responsible for the components and interaction within a system. The internationally recognised iSAQB® Certified Professional for Software Architecture - Foundation Level certification attests to your comprehensive knowledge in the field of software architecture.

AWS Certified Solution Architect

The AWS Certified Solutions Architect - Associate examination is intended for individuals who perform a solutions architect role and have one or more years of hands-on experience designing available, cost-efficient, fault-tolerant, and scalable distributed systems on AWS.

Google Professional Cloud Architect

Become Google Cloud Certified and show the world that you can design, develop, manage, and administer application infrastructure and data solutions on Google Cloud technology. The Google Cloud Certified designation means you've demonstrated the necessary skills to leverage Google Cloud technology in a way that can transform businesses and meaningfully impact the people and customers they serve.

Microsoft Azure Solutions Architect Expert

Microsoft Azure Solutions Architects must have expertise in compute, network, storage, and security so that they can design solutions that run on Azure.

Role Model

A role model is a person whose behavior, example, or success is or can be emulated by others, especially by younger people. The term role model is credited to sociologist Robert K. Merton, who coined the phrase during his career. Merton hypothesized that individuals compare themselves with reference groups of people who occupy the social role to which the individual aspires. An example being the way young fans will idolize and imitate professional athletes or entertainment artists. (Wikipedia)

Entertainment

Movies

Hey wait a minute, what is the relation between being Software Architect and watching movies? Ok, open your mind now! you know sometimes reading can be energy exhausted, there is a lot of information to process. So let your brain mixing the information by watching movies. This is recommended movies. You can get some ideas to see all the things in the tech world. Attitude, self-empower, technical skill and knowledge, business and politics, human psychology, methodologies and many other things. You need to watch from the first season to get the whole ideas.

Silicon Valley

Follows the struggle of Richard Hendricks, a Silicon Valley engineer trying to build his own company called Pied Piper.

Mr. Robot

Elliot, a brilliant but highly unstable young cyber-security engineer and vigilante hacker, becomes a key figure in a complex game of global dominance when he and his shadowy allies try to take down the corrupt corporation he works for.

The Great Hack

Explore how a data company named Cambridge Analytica came to symbolize the dark side of social media in the wake of the 2016 U.S. presidential election.

Silicon Cowboys

This documentary tells the story of Compaq Computer and its three founders, who in 1982, took on Goliath IBM at the height of its PC dominance.

Pirates of Silicon Valley (1999)

It basically tells the story of how the personal computer was designed by giants like Microsoft and Apple. The movie is set throughout the 1970s, 80s, and 90s. It shows the methodologies Bill Gates of Microsoft and Steve Jobs of Apple used to develop their top of the line personal computers. They had a great tussle before finally announcing their alliance in 1997.

The Imitation Game

Programmers will find this movie extremely engaging. In the end, Alan Turing, the protagonist of the movie along with his team was able to find a way to decode the German Enigma Code.

Contributions

If you want to add more into this list or want to fix wrong information, do not hesitate to do pull request :-)

software-architect-learning-resources's People

Contributors

freddymu avatar sarccom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.