Find your next role
Discover amazing opportunities across our network of companies committed to gender equality in the workplace.
IBM
Job Responsibilities
• Participate in and lead the design and implementation of sophisticated software systems front end and backend with a focus on Java, Python, and C++ development.
• Participate in and lead software design and code reviews. Reviews include other Software Engineers and are held to ensure a high level of software quality and to share knowledge with team members.
• Participate in, lead, and adhere to, professional software engineering practices using such tools and methodologies as Agile Software Development, Test Driven Development, Continuous Integration, Source Code Management (git), and GitHub
• Participate in and lead the planning, creation and execution of automated test cases and load/performance testing.
• Maintain a high level of proficiency with Computer Science/Software Engineering knowledge and contribute to the technical skills growth of other team members.
• Work well independently and as part of a team.
• Work as an Agile scrum team member and technical leader.
Required Technical and Professional Expertise
• 10+ years of experience in Software Programming experience in Java, C++, Python, Shell.
• Experience designing and architecting software services and systems for web applications.
• Experience with microservices, Docker, Kubernetes or other cloud technologies.
• Experience with REST API concepts.
• Experience with continuous integration and deployment automation tools (CI/CD).
Preferred Technical and Professional Expertise
Exceptional knowledge of data structures, algorithms, enterprise systems, asynchronous architectures, and object-oriented programming
Experience with popular AWS, Azure and/or GCP services for compute, storage, and databases etc.
Experience developing Single Page Web Applications and frameworks like React or equivalent.
Experience developing JS, CSS, HTML sites.
Professional experience building REST APIs.
Passionate and driven to design and implement scalable, programmatic solutions to complex problem
Ability to handle multiple competing priorities in a fast-paced environment
Technical experience in building and delivering complex software systems
Experience in working with customers, product management, and senior management to deliver value to the market