Role overview
About this role
As an AIX Development Support Intern at IBM, you will have the opportunity to learn from experienced professionals and work with technologies supporting IBM Power systems and the AIX operating system. You will apply your academic knowledge of operating systems, C programming, networking, and system software to real-world technical problems. Through hands-on learning, laboratory exercises, technical projects, and collaboration with experienced engineers, you will develop skills in system troubleshooting, debugging, problem determination, and root-cause analysis. This role provides an opportunity to explore operating-system internals, virtualization, networking, system-level programming, and debugging, while learning how enterprise software issues are analyzed and resolved in a development-support environment. As an AIX Development Support Intern, you will have the opportunity to learn and develop skills in troubleshooting issues related to the AIX operating system and its components. You will work with experienced AIX Development Support professionals to learn problem determination, debugging, and root-cause analysis techniques. You will be part of the AIX Development Support Organization (DSO), working in the AIX operating system environment and gaining exposure to IBM Power systems, virtualization technologies, operating-system internals, networking, and system-level debugging. The AIX Development Support team works closely with the AIX Development organization and Power AIX customers to analyze and resolve complex operating-system issues. As an intern, you will have opportunities to contribute to problem investigation, reproduce issues in laboratory environments, analyze system behavior and diagnostic data, and learn how issues can be traced to their underlying code or system component. You will also gain exposure to technical documentation, debugging tools, and collaboration with development and support teams while developing your technical and problem-solving skills.
- Foundational knowledge of operating-system concepts, with familiarity with AIX, Linux, or UNIX environments.
- Knowledge of C programming, including data structures, advanced data structures, compilation stages, and basic system-level programming concepts.
- Familiarity with UNIX/Linux commands and shell scripting.
- Understanding of operating-system internals, including process management, memory management, file systems, I/O, inter-process communication (IPC), synchronization, shared memory, semaphores, mutexes, and Process Control Blocks (PCB).
- Familiarity with socket programming and basic client-server communication concepts.
- Familiarity with binary, octal, hexadecimal, and ASCII representations, including basic concepts of interpreting and decoding data packets.
- Awareness of system troubleshooting, crash analysis, and operating-system boot processes.
- Understanding of Virtual Memory Management (VMM) concepts, including virtual and physical memory, virtual addressing, memory management, memory leaks, DMA, process states, CPU scheduling, page tables, page-frame mapping, and page replacement concepts.
- Foundational knowledge of networking concepts and commonly used network protocols.
- Understanding of the TCP/IP protocol stack and basic device-driver concepts.
- Familiarity with system and network analysis tools such as tcpdump, iptrace, Wireshark, and KDB, with an understanding of their basic purpose.
- Strong analytical and problem-solving aptitude, with an interest in operating systems, networking, system software, and low-level technologies.
- Effective written and verbal communication skills, with the ability to understand and articulate technical concepts clearly.
- Eagerness to learn new technologies, develop practical skills, and apply academic knowledge to real-world technical problems.
- Exposure to AIX, VIOS, IBM Power systems, or Power virtualization technologies through coursework, projects, laboratory exercises, or self-learning.
- Familiarity with AIX file systems, backup concepts, system cloning, and mksysb.
- Exposure to AIX/VIOS networking concepts, including EtherChannel, Shared Ethernet Adapter (SEA), SR-IOV, vNIC, and Virtual Ethernet Adapter (VEA).
- Familiarity with HMC concepts and its GUI/CLI interfaces.
- Exposure to server architecture and virtualization concepts, including the interaction between operating systems, hardware, and virtualized environments.
- Familiarity with TCP/IP protocols, RFC concepts, IPv4/IPv6, routing, broadcasting, and multicasting.
- Familiarity with commonly used networking protocols including TCP, UDP, ICMP, and ARP.
- Exposure to Wireshark or similar packet-analysis tools, with an interest in understanding packet flows and basic network troubleshooting.
- Familiarity with debugging and system-analysis tools such as GDB, KDB, truss, trace, and LMT Analyzer through coursework, projects, or laboratory exercises.
- Exposure to switching concepts, VLANs, and basic network configuration.
- Exposure to advanced C programming, shell scripting, or Perl scripting through academic or personal projects.
- Academic or project exposure to setting up laboratory environments, reproducing technical problems, troubleshooting, and validating solutions.
- Exposure to Linux/AIX laboratory environments, virtualization platforms, or system-level projects.
- Participation in academic projects, technical competitions, open-source projects, or self-learning activities related to operating systems, networking, C programming, virtualization, or system software.
- Demonstrated curiosity and interest in debugging technical problems, understanding system behavior, and learning low-level operating-system and networking concepts.