Skip to main content
CF

Refactoring With Bill

7h 49m 54s
English
Paid
Updated September 2026

Refactoring With Bill is a 11-lesson 7 hours 49 minutes self-paced course by Ardan Labs. This series follows one engineer, Bill, refactoring real projects in Go, in hour-long sessions that show the actual decision-making behind each change rather than just a clean before-and-after.

Course facts

Lessons
11
Duration
7 hours 49 minutes
Level
All levels
Language
English
Updated
2026-09-11
Instructor
Ardan Labs
Price
Premium

This series follows one engineer, Bill, refactoring real projects in Go, in hour-long sessions that show the actual decision-making behind each change rather than just a clean before-and-after. The value is in the why: what made a piece of code worth changing, and why he chose one approach over another.

Who this is for

It's aimed at engineers looking to sharpen their Go skills at a more advanced level, and works best with some background already in place:

  • A computer science background, or at least two years of full-time professional programming experience
  • Solid understanding of structural and object-oriented programming
  • Hands-on experience with data structures like arrays, lists, queues, and stacks
  • General awareness of processes, threads, and synchronization

11 lessons of real refactoring work, aimed squarely at engineers who want to see expert-level judgment applied to actual code, not just theory about clean code.

Who teaches Refactoring With Bill? Ardan Labs

Ardan Labs thumbnail

Ardan Labs is a US training company founded by William Kennedy, focused almost entirely on Go (Golang) and the systems-engineering disciplines around it. Bill Kennedy is one of the most cited Go educators alive — co-author of Go in Action (Manning), maintainer of the Ardan Labs blog, and the lead instructor on a multi-track Go syllabus that runs from beginner through ultimate-Go advanced engineering.

The CourseFlix listing under this source carries nineteen Ardan Labs courses — covering Go language fundamentals, concurrency, advanced engineering patterns, Kubernetes (Bill teaches Go as the implementation language for cloud infrastructure), and the data-engineering / AI tracks Ardan added in recent years. Material is paid and aimed at engineers serious about Go as a career-defining language rather than as a syntax pickup.

What lessons are included in Refactoring With Bill?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 11 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Refactoring: GoViolin PT.1.0
All Course Lessons (11)
#Lesson TitleDurationAccess
1
Refactoring: GoViolin PT.1.0 Demo
01:32:27
2
Refactoring: GoViolin PT.2.1
29:33
3
Refactoring: GoViolin PT.2.1
30:51
4
Refactoring: GoViolin PT.2.3
22:43
5
Refactoring: Twitter API + Drgaph PT.1.0
40:59
6
Refactoring: Twitter API + Drgaph PT.2.0
01:02:37
7
Refactoring: Twitter API + Drgaph PT.3.0
01:04:27
8
Refactoring: Twitter API + Drgaph PT.4.0
01:12:15
9
Refactoring: Twitter API + Drgaph PT.5.1
15:23
10
Refactoring: Twitter API + Drgaph PT.5.2
17:15
11
Refactoring: Twitter API + Drgaph PT.5.2
21:24
Unlock unlimited learning

Get instant access to all 10 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Refactoring With Bill?

More courses by Ardan Labs

Frequently asked questions

What are the prerequisites for enrolling in this course?
The course is designed for individuals with a background in computer science or those who have at least two years of professional programming experience. Participants should have a solid understanding of structural and object-oriented programming paradigms and experience with data structures like arrays, lists, queues, and stacks. Additionally, a high-level awareness of processes, threads, and synchronization is recommended to fully grasp the refactoring techniques discussed.
What projects will be refactored in this course?
The course focuses on refactoring two main projects: 'GoViolin' and 'Twitter API + Drgaph'. These projects are explored through multiple parts, allowing participants to understand the complexities and decision-making processes involved in refactoring diverse types of codebases using Go.
Who is the target audience for this course?
This course is intended for aspiring and current software engineers looking to improve their skills in program development with Go. It's particularly beneficial for those who have foundational programming experience and are interested in enhancing their understanding of refactoring techniques applied to real-world projects.
How does this course compare in depth and scope to other programming courses?
This course offers an in-depth look at the refactoring process through detailed, hour-long video sessions. Unlike other courses that may provide only theoretical insights, this series offers practical, hands-on demonstrations by Bill, focusing on real-world applications in Go, providing a unique opportunity to observe and understand the intricacies of refactoring.
What tooling or platforms will be used during the course?
The primary focus of the course is on the Go programming language. While specific third-party tools or platforms are not explicitly mentioned, the projects 'GoViolin' and 'Twitter API + Drgaph' serve as the core subjects for refactoring exercises, providing insight into practical code management and development practices.
What topics are not covered in this course?
The course does not cover introductory programming concepts or basic Go language syntax. It assumes participants have prior knowledge and experience in programming and focuses exclusively on the refactoring aspect of software development, specifically within the context of Go projects.
How can the skills learned in this course benefit my career?
Skills acquired from this course can significantly enhance your software engineering capabilities, particularly in code optimization and maintenance. Understanding refactoring processes can lead to more efficient, readable, and manageable codebases, making you a valuable asset to any development team. These skills are transferable to other programming languages and projects, broadening your career prospects in software development.