Role overview
About this role
As a Software Developer Intern within IBM Infrastructure, you will design, develop, test, and maintain enterprise-class software solutions that power IBM's infrastructure offerings, including hybrid cloud, storage, data protection, automation, security, and systems management products. You will collaborate with cross-functional teams to deliver scalable, secure, and reliable solutions that help clients modernize and manage their critical IT environments. • Design, develop, test, and maintain high-quality software solutions using modern software engineering practices. • Participate in the full software development lifecycle, including requirements analysis, design, implementation, testing, deployment, and support. • Collaborate with product management, architects, quality assurance, support, and operations teams to deliver customer-focused solutions. • Develop scalable, secure, and performant applications, services, APIs, and backend components. • Troubleshoot and resolve software defects, performance bottlenecks, and customer-reported issues. • Contribute to architecture discussions, technical design reviews, and code reviews. • Create and maintain technical documentation, test plans, and operational procedures. • Implement automated testing, CI/CD pipelines, and DevOps practices to improve software quality and delivery efficiency. • Stay current with emerging technologies and recommend improvements to products, processes, and development methodologies. • Support agile development processes and actively participate in sprint planning, standups, retrospectives, and backlog refinement activities. • Proficiency in one or more programming languages such as Java, Python, Go, C++, JavaScript, or similar. • Understanding of software design principles, object-oriented programming, and data structures. • Experience developing REST APIs, microservices, or distributed systems. • Knowledge of source control systems such as Git. • Experience with Linux/Unix environments and command-line tools. • Understanding of software testing methodologies, debugging, and performance analysis. • Familiarity with databases, including relational and/or NoSQL technologies. • Knowledge of cloud computing concepts, containerization, and CI/CD practices. • Experience with Kubernetes, OpenShift, Docker, or cloud-native architectures. • Knowledge of hybrid cloud platforms and infrastructure management solutions. • Experience with storage, backup, disaster recovery, cybersecurity, or enterprise infrastructure technologies. • Familiarity with AI/ML, automation frameworks, or agentic AI solutions. • Experience building highly available, scalable distributed systems. • Knowledge of observability, monitoring, logging, and site reliability engineering (SRE) practices. • Experience with DevSecOps, security best practices, and secure software development. • Familiarity with IBM technologies, Red Hat OpenShift, IBM Cloud, or enterprise software products.