Software Architect – Java

Apply for this job

Email *

Job Description

<p>The software architect position is a key stakeholder in product and solution software delivery lifecycle in Giza Systems. As a software architect you are responsible of discussing, negotiating, and analyzing the product / solution requirements and performing the required system assessment and interpreting these requirements to reliable, scalable, and flexible software design.</p><p>As a software architect, you are also playing the technical lead role of the software product delivery where you are key stakeholder and key reference for the team in solving technical issues and selecting the technical components in our development stack.</p><p><br></p><p>You are accountable of the software product design qualities (i.e., reliability, scalability, flexibility, and performance)</p><ul><li>Discuss, negotiate, and analyze business requirement and prepare required technical documents.</li><li>Prepares / review High Level Design document (HLD).</li><li>Prepares / review Low Level Design document (LLD).</li><li>Performs code review of software code making sure of conformance of coding standards and design principles.</li><li>Development of complex parts of software application and proof-of-concept parts.</li><li>Providing technical consultation and coaching for the project development team for solving the technical development issues they may face.</li><li>Key stakeholder in delivering R &amp; D initiatives assigned to the team.</li></ul><p><br></p><p><strong><u>Personal Skills</u>:</strong></p><p><br></p><ul><li>Excellent analytical skills.</li><li>Excellent interpersonal skills.</li><li>Excellent written and verbal communication skills.</li><li>Ability to prioritize and organize multiple assignments/tasks.</li><li>Strong problem-solving mindset.</li><li>Ability to adapt to a constantly changing environment.</li><li>Very good command of the English language.</li></ul><p><br></p><p><strong><u>Technical Skills</u>:</strong></p><p><br></p><p>β€’ At least 8 Years of Experience in software development and software integration tracks using Java JSE, J2EE, and Spring boot, …</p><p><br></p><p>β€’ At least 2 years of experience leading software development teams is mandatory.</p><p><br></p><p>β€’ Experience in service-oriented architecture including the use of REST services to build interconnected systems.</p><p><br></p><p>β€’ Proven experience using modern case tools is mandatory.</p><p><br></p><p>β€’ Previous working in an agile self-organizing teams environment is mandatory.</p><p><br></p><p>β€’ Proven knowledge of software design patterns is mandatory.</p><p><br></p><p>β€’ Proven experience in technical architecture and enterprise solutions designs of full-stack systems is mandatory.</p><p><br></p><p>β€’ Proven experience in the architecture design of systems including web-based front-end and/or mobile-based front-end is mandatory.</p><p><br></p><p>β€’ Proven experience in Object Oriented design concepts is mandatory.</p><p><br></p><p>β€’ Previous experience using SOA and Micro-Services architecture is mandatory.</p><p><br></p><p>β€’ Previous experience in Azure and Docker architecture concepts is highly recommended.</p><p><br></p><p>β€’ Demonstrated ability to break down problems, architect solutions and estimate efforts.</p><p><br></p><p>β€’ Previous experience in Elastic search or similar no-SQL database is preferred.</p><p><br></p><p>β€’ Initiative to explore alternate technology and approaches to solving problems.</p><p><br></p><p>β€’ Previous experience in event-driven architecture is preferred.</p><p><br></p><p>β€’ Knowledge of enterprise integration design patterns is preferred.</p><p><br></p><p>β€’ Previous experience in using CI / CD DEV-OPS practices is preferred.</p><p><br></p><p><strong><u>Education</u>:</strong></p><p><br></p><p>Bachelor’s degree or equivalent experience. Preferred Computer Science or engineering.</p>