1. Develop Software Solutions
Our software architect needs to interact with various stakeholders of the business such as the clients and software developers in order to envision, model, and provide initial models and designs that can be built. This role might involve meeting potential customers and thus broad and deep technical knowledge in this field is necessary. When creating a customer product, the architect may look at similar products that already exist and find ways to make them better or revolutionize them. They need to conduct research, gather information, interpret data, and then create a solution.
2. Review the Code
Constant review of the code is required to ensure the quality of the design by avoiding complexity, encouraging clarity and to do this with the team. This usually requires hands-on work in terms of developing prototypes, contributing code or evaluating technologies. You should be able to oversee progress of development team to ensure consistency with the initial design.
3. Collaborative Work
We strongly believe in commitment to a team as our core value. Our software architect should be able to work in a collaborative environment with a degree of humility and provision of mentoring as required. Such collaboration also allows the architect to become familiar with the skills and interests in the team and to share their knowledge with everyone. Humility is required to ensure that all the team is listened to, as they may have more specific knowledge for the problem at hand.
4. Good Communication/Interpersonal Skills
You should be able to talk with customers in the language of business (simple terminology that they can easily grasp), managers of all levels, business analysts and developers in their language. To explain the actions and processes in an efficient manner, you should be able to possess a natural charisma and ability to convince people. We do not require a motivational speaker, but you should have the basic communication skills to excel in this job. You can then easily lead a team, which may be distributed and composed of very different specialists.
- Identifying business requirements and requirements of the stakeholders on the project.
- Designing the entire system based on the received requirements.
- Choosing the system architecture and each individual component of this system at a high level.
- Choosing the technologies for the implementation of each component and connections between the components.
- Architectural review.
- Writing project documentation and its support.
- Controlling the architecture during the next iteration of the system release.
- 10 Years of Experience in the relevant field(s).
- Bachelors or Masters degree in Engineering, Computer Science or relevant discipline.
- Broad and extensive knowledge of the software development process and its technologies.
- Knowledge of architectural styles and design patterns.
- Understanding of various coding methods and computer languages.
- Data modelling and database design experience.
- Experience with software development lifecycle (SDLC) processes
- Experience with micro-services architecture
- Experience with cloud (AWS) deployments (IAC etc)
- Understanding of software quality assurance principles
To apply for this position send your CV to firstname.lastname@example.org