Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
We are looking for an ambitious and self-driven Software Architect to join our team!
- As a Software Architect, you will be responsible for making design choices, coordinate and oversee technical standards, including software coding standards, tools, and platforms.
Duties and responsibilities:
- Work with other IT professionals in the company in order to determine needs for new software, platforms and applications.
- Utilize tools, technology and various methodologies to create functional and intuitive solutions for user requirements of desired products.
- Develop and implement product specifications.
- able to create an SRS document and system analysis.
- Be able to evaluate and identify software solutions, working with a client to discuss what they need their software to do or looking at poor-behaving software and finding ways to improve it.
- Pay attention to system integration, sustainability and feasibility
- Manage all phases of technology development
- Be the leader in software development projects.
- Creating a team of professionals suitable for the scope of the project.
- Assigning duties to the staff, creating a timeline for the project, and performing cost analysis and budgeting functions.
- Oversee and supervise the work of the development team
- Guide and train developers and engineers
- Suggest and implement solutions for process improvement
- Adhere to all the requirements and guidelines for quality, security, extensible etc.
- Coaching and mentoring the development team.
Job Requirements
- Outstanding knowledge of software and application design and architecture
- Experience with coding (.net and preferred .net core )
Deep Knowledge in the following aspects
- Service-Oriented Architecture (SOA).
- Micro-services.
- Event-Driven Architecture and Event-Sourcing.
- Monolithic Architecture.
- Onion Architecture.
- Domain-Driven Design.
- Software Development Life Cycle.
- Enterprise Service Bus.
- Software Principles.
- Software Design Patterns.
- Good understanding of separation of concerns and related typologies.
- Good knowledge of dependency injection frameworks like (Windsor, Ninject, Unity, etc …)
- Good understanding of the different caching techniques for the web farm hosted behind the network load balancer (NLB).
- Good awareness of the software refactoring and revamp methodologies.
- Good knowledge of Windows
- Good understanding of the different hosting types (dedicated servers, custom hostage like aravixe, cloud hosting like Azure and hybrid environments)
- Knowledge in cloud architecture and computing is a plus.
- Good communication with clients/operational managers – listening and providing answers.
- Strong problem-solving
- Ability to build good relationships with clients/operational managers and colleagues.
- Up to date knowledge of technical applications.
- Up to date with modern software design and architecture methodologies.
- Ability to manage time between teams and tasks.
- Good knowledge of quality standards and best practices.
- Ability to be adapt and prioritize.
- Ability to work under pressure and meet deadlines.
- Ability to think ahead and anticipate problems, issues, and solutions.