Course Summary
Credit Type:
Occupation Title:
Software Engineer
Estimated length of On the Job Training (OJT):
2,000 hours or one year
Estimated length of Related Training Instruction (RTI):
164 Hours
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Introduction to Project Management
Lower-Division Baccalaureate 3 Business Communications
Lower-Division Baccalaureate 3 Customer Relations Management
Lower-Division Baccalaureate 3 Decision Making and Critical Thinking
Lower-Division Baccalaureate 3 Computer Fundamentals
Lower-Division Baccalaureate 3 Computer Programming
Lower-Division Baccalaureate 3 Software Development
Lower-Division Baccalaureate 3 Web Programming
Lower-Division Baccalaureate 3 Web Development
Lower-Division Baccalaureate 3 Cloud Applications
Lower-Division Baccalaureate 3 Introduction to Python Programming
Upper-Division Baccalaureate 3 Software Engineering
Upper-Division Baccalaureate 9 Internship in Information Technology, Software Development (Work Based Learning)

Program Description:

The Software Engineering Apprenticeship includes micro-credentials like professional skills, agile development, design thinking, cloud computing, and cloud design. The program also includes a broad range of fundamental skills in computer programming fundamentals, social coding-Github, Software design and development, continuous integration and delivery, DevOps automation, web programming, enterprise architecture, and cloud computing fundamentals. The program is a great pathway for careers in software and application development as well as client support in our Cloud, Cognitive AI, and Consulting organizations.

Program Objective:

The objective of this course is to prepare students for a career as a Software Engineer at IBM

Learning Outcomes:

  • Work with stakeholders to resolve issues, and apply ethics to problem solving.
  • Discuss agile project management using agile terminology, prepare estimates;
  • Allocate time, personnel, and other resources to enable timely completion of a project;
  • Monitor and control tasks;
  • Conduct risk management processes;
  • Manage stakeholder expectations;
  • Employ project management principles and processes;
  • Manage and control change, and close the project
  • Demonstrate an understanding of customer relationship management;
  • Demonstrate an understanding of customer relationship management strategies and behaviors;
  • Serve internal and external customers;
  • Identify effective communication in the role of serving internal and external customers;
  • Explain the effects of technology on customer relationship management
  • Prepare effective communications for business situations;
  • Identify ethical, cultural, and global issues affecting business communication;
  • Utilize analytical and problem-solving skills appropriate to business communication;
  • Participate in team activities that lead to the development of collaborative work skills;
  • Select appropriate organizational formats and channels used in developing and presenting business messages;
  • Compose and revise written business correspondence documents using computer technology;
  • Deliver effective oral business presentations.
  • Create programs using fundamental concepts;
  • Identify programming's role in cyber operations;
  • Create flow charts and design and implement pseudo-code to solve problems;
  • Identify variable types and strings;
  • Analyze, create and compile programs;
  • Describe the use of classes and objects in programming;
  • Explain vectors and create functions in programming languages.
  • Describe software development and design methodologies.
  • Create data and object models.
  • Develop use cases.
  • Communicate using information system terminology.
  • Work with stakeholders to develop requirements.
  • Develop, integrate, and implement a multifaceted software application as a team.
  • Categorize different data types.
  • Analyze the data collection process.
  • Describe the functions, structure, and major system files of various operating systems.
  • Identify, update and maintain the operating system on different types of devices.
  • Work with technicians both individually and as a team in a technical environment.
  • Recognize and interpret common error codes in both hardware and software environments and identify steps to correct the problems.
  • Identify and resolve operating system security threats.
  • Create Shell scripts and identify when to use and troubleshoot when the scripts error.
  • Design user-friendly interfaces to web applications
  • Apply principles of usability to the design of web pages and websites
  • Use HTML, CSS, and CSS frameworks
  • Understand and manipulate the DOM elements in web page design
  • Program for the Web using programming languages such as JavaScript, jQuery, React.js , and Node.js.
  • Review the methodologies, tools, and techniques used in the web application development
  • Create and deploy APIs for the Web
  • Design response websites for accessibility
  • Create web applications using programming languages such as JavaScript, jQuery, React.js and Node.js.
  • Design applications for deployment in the Cloud
  • Understand the principles, techniques, and tools for the Cloud
  • Review architectures for the Cloud environment
  • Examine deployment techniques such as Docker and Kubernetes to build, ship, and manage applications
  • Utilize the Python programming language format and structure in coding;
  • Understand and utilize Python programming concepts, including lists, dictionaries, classes, and loops;
  • Use Python libraries and tools;
  • Debug basic Python programs;
  • Employ Python as a means for developing information security tools.
  • Gather requirements from stakeholders.
  • Evaluate and analyze requirements using established techniques.
  • Apply product development concepts using agile project management.
  • Integrate knowledge of software development including methodologies, tools, and techniques.
  • Design and develop a software system that addresses the needs of stakeholders.
  • Analyze a complex computing problem and apply principles of programming and other relevant disciplines to identify solutions.
  • Evaluate the requirements for a specific programming problem and recommend solutions.
  • Based on the requirements, create the program to meet the objectives.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the task.
  • Identify and analyze user needs then create, integrate solutions in the computing-based project.
  • Demonstrate the application of knowledge and skill sets acquired from the courses and workplace in the assigned job function.
  • Use creative thinking to solve problems;
  • Develop strategies for risk analysis and risk mitigation;
  • Conduct situational analysis, allocate resources to resolve problems;

General Topics:

  • Principles and practices, software engineering fundamentals, DevOps, and platforms, services and solutions
Instruction & Assessment

Instructional Strategies:

  • Classroom Exercise
  • Computer Based Training
  • Discussion
  • Laboratory
  • Learner Presentations
  • Practical Exercises

Methods of Assessment:

  • Examinations
  • Performance Rubrics (Checklists)
  • Presentations
  • Quizzes
Supplemental Materials

Other offerings from IBM New Collar Apprenticeship