Browse Jobs
For Employers
Post JobLog inGet Started

Software Architect

Heliopolis, Cairo
Posted 1 year ago
10Applicants for1 open position
  • 0Viewed
  • 0In Consideration
  • 0Not Selected
Search other opportunities

Job Details

Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:

Skills And Tools:

Job Description

Software architecture is the organization of a system. This organization includes all components, how they interact with each other, the environment in which they operate, and the principles used to design the software. In many cases, it can also include the evolution of the software into the future.

A professional is responsible for high-level concepts and UI designs for software applications. They will collaborate with other architects or Software Engineers to ensure that all requirements from the original designs are met in the final product.

  • Directing solution/application architecture and ensuring the implementation of agreed architecture and infrastructure.
  • Collaborate with other professionals to determine functional and non-functional requirements for new software or applications
  • Approve final product before launch
  • Ensure software meets all quality, security, modifiability, extensibility requirements, etc.
  • Provide technical guidance and coaching to developers and engineers
  • Control and manage choices available during development by choosing a standard way of pursuing application development by creating, defining, or choosing an application framework best suited for the product requirements.
  • Responsible for technical growth and mentorship.
  • Continually researching the current and emerging technologies and proposing changes when applicable to optimize the solution.
  • Provision required skills, select an appropriate deployment model, direct testing protocols to validate releases, and monitor performance after releases.
  • Design DevOps implementations and disciplines such as CI/CD, automated environment provisioning, and observability.
  • Design and monitor Software Development Life Cycle (SDLC).
  • Communicate with technical stakeholders and vendors.
  • Enforce applying test-driven development (TDD) at the application and architectural level

Job Requirements

  • Excellent knowledge of software and application design and architecture
  • Excellent knowledge of UML and other modeling methods
  • Understanding of software quality assurance principles
  • Experience with at least one type of queuing system (Apache Kafka, RabbitMQ, SQS, etc.)
  • Experience with at least one RDBMS (MySQL, PostgreSQL, SQL Server, Oracle, etc.)
  • Experience with at least one document-oriented DB (MongoDB, CouchDB, DynamoDB, etc.)
  • Experience with at least one cloud provider (AWS, Azure, Google Cloud, etc.)
  • Experience using, designing, and building GraphQL /gRPC /REST/Web Service APIs
  • Data Integration leveraging MapReduce, Hive, Spark, etc
  • Caching solutions and strategies using Redis.
  • Production experience with containers, Kubernetes, and maintaining production environments.
  • Fluency with the full software development lifecycle using Agile methodologies.
  • In-depth knowledge of C#, .net core, and Entity Framework
  • Experience with Infrastructure, Operating Systems, and security
  • Strong foundation in Test-driven development (TDD) including Unit, Application, and Integration testing
  • Experience with cloud-native Twelve-Factor applications
  • Experience with Domain Driven Design (DDD)

Featured Jobs

Similar Jobs

Search other opportunities
JobsIT/Software DevelopmentSoftware Architect