Location: Agadir
Oracle Morocco Research & Development is devoted to research is looking for a Tech Lead & Technical Software Engineering Manager. As a tech lead manager within our development team in Casablanca (Morocco), you will apply your knowledge of application development, cloud, distributed systems, and software architecture to manage tasks associated with developing, operating, troubleshooting, and debugging applications and/or cloud services.
As a manager within the software engineering division you will manage a team that designs, develops, troubleshoots and debugs software programs for databases, applications, tools, networks etc. You will also apply your knowledge of software architecture to manage software development tasks associated with developing, debugging or designing software applications, operating systems and databases according to provided design specifications. Build enhancements within an existing software architecture and occasionally suggest improvements to the architecture.
Responsibilities:
Lead all aspects of a software engineering team consisting of various roles, skills, and career tracks. Responsible for delivering a mission-critical stack, focusing on security, resiliency, scale, and performance. Partner with other operation and development teams in defining and implementing improvements in service architecture and resiliency. Articulate technical characteristics of services and technology areas and guide Development Teams to engineer and add premier capabilities to our solutions. Understand and communicate the scale, capacity, security, performance attributes, and requirements of the service and technology stack. Collaborate on architectural design reviews and changes. Own and improve metrics, KPIs, SLOs, and visualizations for applications and cloud services. Act as an ultimate partner concern point for complex or critical issues that have not yet been documented as Standard Operating Procedures. Use a deep understanding of service topology and the dependencies required to solve issues and define mitigations. Lead innovative solutions in the areas of services, observability, resiliency, scalability, and code quality. Improve processes and project management, sprint management, and code quality to help the team operate efficiently. Provide technical mentorship on the design, implementation, and support of new and existing services. Build opportunities for career and skills development. Lead multiple initiatives with competing priorities.
Required skills:
+6 years of experience managing or leading a team of software engineers, ideally delivering large-scale systems in production. Hands on experience with Java Good knowledge and understanding of one or more of the following fundamentals: distributed systems and data structures design Rest APIs and the concepts of RESTful architectures database architecture and implementation data structures, algorithms, and complexity analysis computer architecture and operating systems Hands-on experience in some of the following programming paradigms, languages, libraries and frameworks: distributed computing Operating systems parallel computing Experience in defining functional specifications for applications, processes, and capabilities. Ability to learn quickly and work independently while dealing with ambiguous situations, with a strong positive demeanor. Strong cross-group collaboration in solving complex problems. Ability to anticipate and analyze risks and develop mitigation plans. Meticulous, organized, and a critical thinker. Understanding of the principles and frameworks of successful management. Excellent oral and written communication and presentation skills If this sounds like you, we hope to meet you!
Career Level - M2