The "Engineering Lead" journey is a program designed to develop the technical and leadership skills of experienced engineers. The journey focuses on teaching participants how to effectively lead cross-functional teams and drive the delivery of high-quality technical solutions. The program covers a range of topics, including Cloud, DevOps, Agile project management, software craftmanship, programming, security, and data driven decision-making. The journey also deep dives into each of these areas. By the end of the journey, participants will have a strong foundation in the skills and practices needed to lead successful engineering teams and drive results. The journey is designed to help participants achieve their career goals, whether they aspire to become engineering managers or simply want to grow as leaders in their current roles.
DevOps has revolutionized the software delivery life cycle by enabling development and operations teams to work together in delivering frequent product updates that reflect user feedback. In this course, you will explore DevOps, as well as the culture and practices associated with it. Discover common tools mapped to the DevOps life cycle, commonly delivered through a continuous integration/continuous deployment (CI/CD) pipeline. Identify the role containers and container orchestration play in complementing DevOps processes. And finally, learn about configuration management and deployment using Infrastructure as Code (IaC) services. On completing this course, you'll be able to identify the many benefits of DevOps and how both container management and automation are used in DevOps.
With continuous integration and continuous deployment (CI/CD), software developers can better address organizational needs and more quickly deliver their software solutions. Jenkins is a commonly deployed tool they can use for creating and maintaining that CI/CD process. In this course, discover how to use Jenkins to support building, deploying, and automating your projects. Learn how to install Jenkins with Ubuntu. Explore the build process using Jenkins and learn how to build software artifacts. Review testing frameworks and plugins used by Jenkins and how to automate testing. Finally, explore automated deployment and deployment as a post-build step. On completing this course, you'll be able to install and configure Jenkins to build, test, and deploy your software development projects.
In traditional software development, security teams are often included as an afterthought, which can lead to expensive rewrites, redesigns, and reconfigurations. By engaging and involving your security team throughout your DevOps process, you can build higher quality, more secure software solutions. In this course, learn ways to ensure better resiliency of the DevOps pipeline by introducing security best practices into your processes from the get-go. Explore how to apply analytics to your pipeline, learn about automating configuration management, and gain practical tips on using Terraform and Ansible. On completing this course, you'll be able to better secure your DevOps process, automate your security testing, and apply analytics to your CI/CD pipeline.
Security can be defined in many ways and broken down into numerous types. Data security involves defining the necessary policies and procedures that ensure data is cared for and protected. Through this course, learn about data security attributes and parameters and examine data security from a variety of perspectives. Discover the definition of security and its types, including data security. Next, study the theory and functionality of DevSecOps, as well as risk identification, assessment, and management. Finally, examine the use of data security frameworks, including popular frameworks such as COBIT, NIST, and FISMA. After course completion, you'll be able to outline security terms, expressions, and frameworks.
Understanding the who, where, and what is important for good outcomes when it comes to data security. Through this course, explore a breakdown of data security challenges and best practices, and how to use your knowledge of them like tools in a toolbox. Discover data security challenges that occur with teams, data, and projects, examine data security in the cloud and in data centers, learn about project data sets, and explore team expertise levels and other elements of a team before, during, and after a project. After course completion, you'll be able to apply a better understanding of data security challenges and best practices for teams and projects.
Data security involves more than understanding the skills and techniques necessary to keep information safe. Once you have identified policies and procedures and considered security challenges and best practices, what are your next steps? Through this course, consider the best means to implement, sustain, and enforce good data security practices across your teams and projects. How does the experience level of a particular team affect data security considerations? Define use cases for inexperienced, mixed experience, and highly experienced project teams. Identify the components that make up each type of team, and learn to recognize best practices for each type of team as they relate to data security. After course completion, you'll be able to consider the specifics of each team when identifying the best ways to apply data security to their work.
When planning, executing, and taking products to market, it is necessary to understand the nuances within the roles of product and project managers. In this course, you will explore the differences between product and project managers as you identify pain points in the market. Once you know the challenges your target audience needs to solve, you'll develop a product vision to describe what success looks like. Then, you'll develop a product strategy to map your execution plan. The plan will guide you to develop a product that answers your customers' needs, and this course will help you understand ways to direct the efforts of your marketing and sales teams.
Quality is often an afterthought or simply not thought of at all during product development. In this course you will examine why quality management is critical to product management. Discover how to defend the use of quality management at the beginning of, during, and before closing a product development life cycle. Next, explore a quality management framework, using checkpoints, to guide how you determine whether to proceed with product development and how to minimize the cost of defects and rework. Upon completion, you will be able to design and implement checkpoints to evaluate your level of success every step of the way during product development.
Sometimes customers believe IT teams hide behind Agile approaches to avoid providing and adhering to a delivery schedule. But those customers don't understand the true benefits Agile can provide an organization, including benefits passed on to the customers themselves. Discover Agile and learn how to differentiate between Agile and the waterfall approach. To deepen your understanding of Agile, you will explore two methodologies: Scrum and Kanban. Examine how leadership concepts could facilitate or impair the success of Agile within your organization. Finally, learn how to construct an Agile market analysis to appraise the strengths and weaknesses of your organization, along with the opportunities and threats within the market. Upon completion, you will be able to confidently critique the applicability of Agile, design a leadership environment amenable to the success of Agile, and use Agile approaches to analyze the market.
Programming frameworks facilitate software development in a variety of ways. Pre-packaged tooling, improving security, and providing infrastructure are some ways programming frameworks help developers. Through this course, learn about development frameworks, software development best practices, and version control systems. Explore common web frameworks for front-end and back-end development and the use cases for frameworks. Next, examine test-driven (TDD) and behavior-driven (BDD) development approaches and best practices for effective and safe programming. Finally, learn how to configure and work with code repositories and integrate software version control systems into programming frameworks. After course completion, you'll be able to list development frameworks and version control systems and their use cases.
Low-code, no-code, and serverless applications are changing the business landscape for technical tasks. Businesses are rapidly adopting these technologies due to the numerous ways they improve business efficiency, like reducing technical overhead and increasing speed and ease of app delivery. With this course, explore alternatives to writing code and using frameworks by focusing on low-code and no-code solutions. Examine the similarities and differences between low-code and no-code solutions. Next, discover common use cases for popular low-code and no-code platforms and build a web app without writing a single line of code. Finally, learn how to create a workflow for an event-driven application and explore best practices for low-code and no-code platforms. Upon completion, you'll be able to work with low-code and no-code platforms.
Application programming interfaces (APIs) enable two or more computers or programs to communicate via a request and a response. Some examples of APIs include a user placing an order on a website, an employee updating a store inventory database through a mobile app, or a hedge fund's trading software displaying charts with live market data. Through this course, learn about the role of APIs and the technical requirements for API development. Discover the benefits, use cases, best practices, and common tools for working with APIs. Next, practice creating APIs and examine practical methods for API testing, deployment, integration, and security. Finally, learn how to monitor and meter API usage. After course completion, you'll be able to create and maintain APIs.
Many organizations are moving toward the cloud to meet their availability, operations, and scalability objectives. Pay-as-you-go pricing has also become popular as many organizations choose to move beyond investing a large amount of money initially in a development track. Through this course, learn the value of cloud computing and services. Explore the differences between a physical data center and cloud-based services, as well as common cloud models and public cloud providers. Next, examine cloud case studies, customer success stories, and best practices and anti-patterns for cloud. Finally, learn about innovative cloud trends, cloud migration strategies, and trends in cloud deployment. After course completion, you'll be able to outline characteristics and strategies for cloud.
Delivering applications requires an understanding of the underlying infrastructure components. It also requires support for managed services that public cloud providers offer. Through this course, learn about common components of cloud services and how to deploy them using different methods. Discover key identity management services used to secure access to the cloud and explore virtual machine compute services. Next, learn how to deploy containerized microservices and build event-driven serverless solutions. Finally, examine cloud storage options, virtual networking features for connecting on-premises environments to the cloud, cloud infrastructure deployment management, and big data and analytics services. Upon completion, you'll be able to outline and deploy cloud components.
Maintaining cloud applications requires awareness of many operational concerns. Being able to effectively monitor and evaluate data to deliver great application experiences while identifying opportunities to optimize spending is key. Through this course, examine the practices and tools used to meet monitoring, cost, and compliance requirements when managing cloud-native applications. Learn how to audit activity in cloud environments and the benefits of cloud provider compliance services. Next, explore resource usage metering and measuring and event-driven approaches to proactively manage operational issues. Finally, discover how to add observability to applications and optimize spending with cost analysis tools. After course completion, you'll be able to outline how to fulfill cloud cost, monitoring, and compliance requirements.