Job Summary
Are you a skilled Application Architect looking for your next challenge? Our team is looking for someone like you to help shape the future of tech! You'll work with a dynamic team of professionals who are passionate about innovation and are dedicated to providing the best solutions for our clients. From designing and implementing custom solutions to staying up-to-date with emerging trends, you'll be at the forefront of the industry. If you're ready to take your career to the next level, we want to hear from you! Main areas of responsibility include: Directing Solution Software Architecting, Programming, and Documentation Development Processes across a number of teams that consist of Developers, Business Analysts, Scrum Masters, Architects, and Tech Leads. 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 engaged and client. Recognize potential reuse in the organization or in the application by observing and understanding the broader system environments and ecosystems, creating component designs showing knowledge of other applications across the iOCO landscape. Where appropriate, subdivide complex applications and solutions, during the design phase, into smaller, more manageable pieces during client engagement processes. Understand the interactions and dependencies among components, teams and clients. Carry accountability for the quality of the final product and projects. Responsible for technical growth and mentorship across various iOCO teams, inclusive of recruitment and retention of technical team members. Where appropriate, provision required skills, select an appropriate deployment model, direct testing protocols to validate releases and monitor performance after releases.       Experience and expertise: At least 10 years†experience in Software Development with a minimum of 3 years†experience in leading software development teams with hands-on architectural and distributed systems experience. Experience with delivering software projects using Agile / Scrum methodologies. A strong track record of project delivery for large, cross-functional, and co-dependent projects. Must be able to assist strategically in advising on new technology. Must be able to communicate effectively with both technical and business executives. Excellent written and verbal communication skills with the ability to present complex technical information in a clear and concise manner to a variety of audiences. Strong problem-solving abilities. Proven track record of multi-tasking between business development, client-side delivery, and people management. Solid exposure in back-end, front-end and integration development. Must have a good understanding of DevOps implementations and disciplines such as:       Continuous Integration       Continuous Delivery Automated Environment Provisioning using Docker and/or Kubernetes (Containerisation software) (advantageous) Ability to evaluate overall architecture of an application, looking for structural quality, best practices, code quality. Must have solid experience with the DevOps approach to software development that requires frequent, incremental changes to code versions, which means frequent deployment and testing regimens. (Must have and very Important). Deep understanding and experience in a DevOps driven environment, working with software developers, system operators (SysOps) and other production IT staff to oversee code releases. Solid experience across architecting, designing and developing technology solutions that include various mixes of the technologies and frameworks based on languages such as: C#, .Net Core, Angular, TypeScript, T-SQL, Entity Framework, etc. Azure/AWS related cloud technologies Microservice Architectures Understanding and experience expressing software architecture design using industry standard software modelling language (UML). Understanding and experience using Application Lifecycle Management tools to manage business requirements manageability + traceability, version control, deployment/automated build, and test case management. Systems implementation skills: requirements/process analysis, conceptual and detailed design, configuration, testing, training, change management, and support. Experience leading /mentoring development teams using Agile or iterative development SDLC practices Solid practical experience in implementing software design patterns such as Test-Driven Design, Domain Driven Design, Repository, Factory, Mediator and Command patterns. Experience in relation database design and optimising complex queries. (SQL Server) Knowledge of NoSql databases such as MongoDB, ComosDB or DynamoDB.  Why work for us? Want to work for an organization that solves complex real-world problems with innovative software solutions? At iOCO, we believe anything is possible with modern technology, software, and development expertise. We are continuously pushing the boundaries of innovative solutions across multiple industries using an array of technologies.  You will be part of a consultancy, working with some of the most knowledgeable minds in the industry on interesting solutions across different business domains.  Our culture of continuous learning will ensure that you will have all the opportunities, tools, and support to hone and grow your craft.  By joining IOCO you will have an open invitation to our inspiring developer forums. A place where you will be able to connect and learn from and with your peers by sharing ideas, experiences, practices, and solutions.