TechThought’s Learn PowerShell course is a great introduction to the PowerShell language and associated tooling that gets you building with PowerShell quickly. The course is available on YouTube with reference code on GitHub .
This course is, in my opinion, the best video course to get you building with PowerShell quickly. It primarily focuses on the distinctives of the PowerShell language, and gives practical examples of how features like pipelining, splatting, and Cmdlet style functions are useful in common IT tasks.
Verify Certificate A Cloud Guru’s Beginners Guide to Containers and Orchestration provides an overview of the key concepts in containers and how they lead to the need for an orchestrator such as Docker or Kubernetes. The course also covers common use-cases for container orchestration technologies including microservice architectures, automated scaling, and CI/CD pipelines.
I appreciated this course’s coverage of how different technologies such as Docker and Kubernetes relate to one another.
This past week, I reconfigured my home server to address some issues with the partition scheme. I also used this process as an opportunity to convert most of my bespoke configurations to IaC using Ansible . This was also the first time I took on a large DevOps project with the assistance of ChatGPT. The Ansible project has some great documentation complete with multiple examples of how to use each module, but because the options, and sometimes the syntax, of each modules differs, the process of automating the configuration of a complex server can be a time intensive process of hunting through many pages of documentation looking for the exact syntax of an ansible task so you can move on to automating the next task.
Verify Certificate A Cloud Guru’s S3 Basics course provides an introduction to the capabilities and setup process for Amazon S3. S3 has become one of the most commonly used services that powers the modern internet, and the S3 API has been adopted by other vendors such as Cloudflare and MinIO .
As part of this course’s capstone lab, I created multiple S3 buckets in the AWS console and experimented with configuring public and private objects.
Verify Certificate A Cloud Guru’s AWS Concepts course gives an overview of the basic concepts and terminology used to descrive AWS envrionments. The course gives an overview of AWS VPCs and AWS’s most commonly deploymed services including EC2, RDS, and S3.
This course provided valuable context on how these different managed services fit within an AWS Virtual Private Cloud. After completing this course, I have continued my studies in AWS with A Cloud Guru’s course on AWS S3 Basics.
Verify Certificate Python REST APIs with FastAPI from RealPython provides an overview of building your own REST API using the FastAPI framework in Python. FastAPI enables the developer to write simple Python functions which are run using the arguments specified by a user’s API call. Decorators are used to specify the routes to the API calls. FastAPI comes with a built-in live documentation function that the developer can use to test their endpoints as well.
Verify Certificate The Introduction to Python Devlopment Course from A Cloud Guru/Pluralsight provides an overview of programming concepts and workflows in the context of the Python programming language and associated tooling. Starting with environment setup, the course dives into Python’s built-in data types, control flows, and encapsulation techniques. The student gains a solid foundation in object-oriented programming, package utilization, and debugging. The course ends with four capstone projects:
CLI package to extract user information from a Unix system using the /etc/password file CLI package to back up the contents of a PostgreSQL database to AWS S3 Web application with Flask and SQLAlchemy to create and store markdown notes Web application and RESTful API using Flask to return data on helpdesk tickets My biggest takeaways from this course was the development process around a complex project such as a web app or CLI packages distributed on PyPi.
Verify Certificate Cool New Features in Python 3.8 is a brief course from Real Python that covers new features introduced in Python 3.8. I completed this course to become familiar with some of the newer elements introduced in recent version of Python including the assignment expression, (walrus operator,) and new techniques to print variables with f-strings.
Walrus Operator # Learning the walrus operator was particularly useful to me as it made reading other peoples’ code much easier.
Verify Certificate The Certified Entry-Level Python Programmer from A Cloud Guru covers the fundamental concepts of Python development including data types, control flow, and functions. It also covers some intermediate topics such as generators and variable scoping. I took this course because I wanted a more thorough theoretical background in the areas of Python covered by some of the more assignment-oriented courses I completed recently. I appreciated the instructor’s detailed explanations of these concepts, and I plan to move on to his follow-up course Certified Associate in Python Programming in the future.
Verify Certificate This course was my first introduction to PowerShell, and it got me excited to dive in further. I started learning PowerShell for a project at work, and I see why it’s preferred by many IT engineers for its object-oriented piping and deep integration with Microsoft products.
Getting Started with PowerShell provides just enough information to get started tinkering with the PowerShell interpreter on a Linux system. It covers the structure of the PowerShell open-source project, installing the PowerShell interpreter, basic PowerShell syntax, and PowerShell’s module system.
Verify Certificate Intro to Object-Oriented Programming in Python covers the basic concepts of object-oriented programming in the context of Python. Classes, attributes, methods, and inheritance are all discussed with examples.
This course was helpful in providing an overview of the terms and concepts involved in OOP and in providing context and examples of these key ideas. In the future, I will continue to my study of OOP with courses which apply these concepts as part of code-challenges and projects.
I recently completed Reuven Lerner’s course on Python for non-programmers . Python for non-programmers introduces new programmers to Python with a focus on data manipulation and analysis. About half the course consists of building increasingly complex scripts to build new datasets or parse existing data from user input or files on disk.
I chose to complete this course to supplement some higher level Python courses that glossed over fundamental subjects like methods and data transformation.
I recently finished revamping my homelab, and I’m very excited about it. For the past 6+ months my “homelab” consisted of an old laptop running Linux and a bunch of docker containers. This worked surprisingly well, but increasingly I found myself wanted to spin up test envrionments of multiple machines. That old laptop didn’t have the power to support those kinds of labs, and I didn’t have a good set of tooling for creating, configuring, and backing up these VM or container stacks.
Verify Certificate Python 3 Scripting for System Administrators teaches the parts of Python that are useful to a unix sytem administrator who lives in Bash. I completed this course because I found myself reaching for Bash to solve every problem I came across, including those that were best solved in a language with more mature data structures.
The meat of this course focuses on how to use Python’s argparse to build CLI tools for system adminstration.
Verify Certificate A Cloud Guru’s Introduction to Python Scripting provides an introduction to the fundamentals of Python scripting including loops, conditionals, and functions. The course has a heavy emphasis on using the REPL to reverse engineer the instructor’s example code that I really appreciated.
My biggest takeaway from the course was its ASCII art lab. This lab challenges the student to write a series of nested loops to draw a symmetrical shape in ASCII art.
Verify Certificate William Boyd’s DevOps Essentials course provides an introduction to the DevOps approach to writing and deploying software. Boyd begins with the historical and conceptual background for the DevOps movement. DevOps is best understood as a cultural movement towards stronger collaboration and shared responsibilty between engineers who write code (Dev) and engineers who deploy code (Ops.) This cultural movement gave rise to a set of practices that enable the two groups of engineers to work together more effecively and an ecosystem of tools to support this goal.
Verify Certificate I recently completed the Git Mindset course from Abhin Chhabra on Udemy. This course was my first systematic intro to the inner-workings of git, and it was very valuable. I’ve been using git for personal projects for a couple of years now, but I recently had the opportunity to write some internal tooling as part of a team at work. This put me in a situation where I needed to be comfortable creating branches, merging changes, and resolving merge conflicts on a regular basis.
Effective Jupyter provides concise introduction to using Jupyter Notebooks to work with Python. IPython, the backend of Jupyter, provides an upgraded REPL that allows for easy experimentation with snippets of code. Jupyter builds on the IPython backend by providing a cell-based web interface to write, interpret, and reorder snippets of Python code. This course teaches you how to set up, interact with, and customize these tools.
I’m grateful for the easy introduction to Jupyter and IPython that this course provided me.
Verify Certificate Ross Brunson’s course on workign with Vim covers the basics of using Vim as a Linux systems adminstrator. Vim (or Vi) is the most commonly shipped terminal editor across different linux distributions. Learning to use Vim gives you the ability to work in any Linux environment without making modifications to the default packages and configs.
Brunson’s course covers the basics of Vim’s modal-editing paradigm and the underlying structure of how Vim works with files and buffers.
Verify Certificate Python Foundations from Zenva gives a brief overview of the building blocks of the Python programming language. The course covers setting up a Python environment, Python’s basic data types, and creating functions.
The course is very brief but provides a good introduction to key terms and concepts that will come up again in later courses. I used this course to create a structured heirarchy of Python notes that I can add to and refactor as I move on to more intermediate level courses.
Verify Certificate Git Quick Start provides a brief introduction to source-control using git on the command line. The course covers configuring git, working with repositories, merging and pushing changes, and working with git branches. This course was valuable to me because it provided the information to allow me to start using git to track my personal projects. Using git to track my personal code has allowed to learn many of git’s advanced features by doing.
Verify Certificate A Cloud Guru’s Introduction to Cloud Computing course provides a concise overview of the basics concepts and vocabulary involved in cloud computing. The course describes IaaS, PaaS, and serverless technologies gives examples of where each might be best choice for a project or business need. This course was helpful in providing a broad view of the cloud technology landscape to put future studies into context.
Check out my continued studies in cloud technologies and DevOps .
I made a new website! This website will be a place for me to document the projects I work on and the things I learn. Some of the best career advice I’ve ever received is that an engineer should always be building. That’s advice I’ve taken to heart. Over the past several years, I’ve learned a lot from out-of-the-way blogs written by engineers who work with the garage door up .
Verify Certificate The CompTIA Cloud Essentials+ covers the process of moving workloads to the cloud from both a business and technical perspective. As an engineer, I particularly appreciated the business perspectives and terminology introduced by this exam and the course materials I used to prepare for it. The Cloud Essentials+ introduced me to common cloud compliance terms, business analysis frameworks, and the most common management frameworks used to address an organization’s needs around cloud computing.
Verify Certificate The Cisco Certified Network Associate is Cisco’s associate level certification concentrating in the fundamentals of network engineering as well as configuring Cisco devices. The CCNA is primarily focused on the configuration of routers and switches, as well as containing material on the configuration of wireless networks and using DevOps tooling such as Ansible to automate network configuration at scale.
Although the CCNA is focused on configuring Cisco devices, most other vendors have a CLI interface for their equipment that is conceptually similar to Cisco’s.
Verify Certificate The CompTIA Network+ certification covers networking fundamentals and troubleshooting in the context of wired and wireless networks. The exam covers common networking protocols such as DNS and DHCP as well as subnetting, VPNs, and software defined networking.
I studied for and achieved the Network+ as part of my preparation for the Cisco CCNA . Computer networking is a core componant of many technologies I have specialized in throughout my career including cloud computing and Linux server administration .
Verify Certificate The CompTIA A+ certification is an IT certification focusing on hardware break-fix, basic Windows troubleshooting, and computer networking. It provides a solid foundation in the most common subjects that come across an IT helpdesk, and provides a starting point for higher level certifications with more specialization.
I originally pursued my A+ as a qualification for various IT jobs I worked throughout high school and early college. In my currently line of work as a presales engineer, I continue to be grateful to my start in IT since it helps me understand and communicate with technical stakeholders in the buying process.