Dear developer,

Average code is letting us down, and the stakes have never been higher: bits are replacing atoms, algorithms are attaining agency, and “infrastructure” is coming to mean cloud services, not roads and railways. Within the next few years, algorithms will be driving our cars and defining our virtual worlds.

Yet while the impact of technology is increasing, we are suffering a crisis of quality. Over 50,000 new software developers enter the industry every year, but only a fraction are on a path toward excellence. Few will produce lasting, high quality software.

At Bradfield we strive to close this gap by helping software developers become high impact software engineers. By focusing on foundational computer science disciplines like operating systems, computer architecture and databases, we prepare our graduates to produce high quality software in the short term and breakthrough technologies in the long term.

We hope you will join us.


Oz's signature

Ozan Onay

The school

We offer intensive, in-person instruction for professional software engineers seeking mastery.

Students are assumed to be strong programmers who could easily teach themselves a new language or framework as needed. We focus instead on deeper topics in computer science, typically taught in a bachelor’s or master’s program or learnt through years of work experience.

Our courses are structured as short modules that can be taken individually to accelerate an area of study, or combined for a more comprehensive CS study experience. Small class in-person tutorials are combined with textbook study, paper reading and programming exercises to maximize effectiveness, and all instructors are 10+ year industry veterans.

Drawing trees on a whiteboard

Join our mailing list


Instruction at Bradfield centers on (i) the important foundational computer science principles that all technologists need; and (ii) the fields that are likely to be most important for the high-impact software engineers of the next generation.

Computer Architecture and the Hardware/Software Interface

Understand how a microprocessor works from logic gates up, and the interaction between hardware, user code and the operating system kernel. Involves some programming in C and assembly, and covers basic concepts like binary representations of data through to more advanced topics including pipelining and the memory hierarchy.

learn more

Next session: 3 April 2017 - 23 April 2017

Problem Solving with Algorithms and Data Structures

Learn about common algorithms, data structures, and techniques for algorithmic problem solving. This course is an accelerated view of what is commonly covered in an undergraduate algorithms course. Strong programming proficiency is assumed.

learn more

Next session: 29 March 2017 - 15 April 2017

Computer Networking

Understand the protocols and technology enabling the Internet. Covers all layers of the OSI model, with a particular focus on understanding IP, TCP, UDP and common application layer protocols.

learn more

Next session: 4 April 2017 - 23 April 2017

Program Interfaces, Patterns and Anti-patterns

Learn what good API design looks like across a variety of program boundaries, through case studies and exercises.

learn more

Next session: 7 March 2017 - 26 March 2017


Learn about modern and historical innovations in data representation, and understand the architectures of both traditional relational DBMSs and modern distributed data stores. Assumes familiarity with C, operating systems, and networking.

learn more

Next session: 1 May 2017 - 21 May 2017

Languages, Compilers and Interpreters

Learn about languages generally, rather than one at a time. Covers the architectures of compilers and interpreters, and the key commonalities and differences between various languages and their popular implementations.

learn more

Next session: 2 May 2017 - 21 May 2017

Operating Systems

Learn about the fundamental problems solved by modern operating systems, and the decisions faced by operating system designers. Covers process scheduling, memory virtualization, synchronization, persistence and the syscall interface. Assumes proficiency with C.

learn more

Next session: June 2017

Distributed Systems

Understand common patterns in distributed systems design, and the tradeoffs we are forced to make between consistency and availability in the context of distributed data and computation.

learn more

Next session: 6 March 2017 - 26 March 2017

Mathematics for Computing

A crash course in the mathematics that tends to be helpful in software engineering, including combinatorics and probability theory, set theory, graphs, number theory for cryptography and basic linear algebra.

learn more

Next session: 8 March 2017 - 25 March 2017


Full time instruction is provided by Myles Byrne and Ozan Onay. They each have over a decade of experience as software engineers, engineering leads and teachers.

Myles Byrne portrait

Myles was CTO of Dev Bootcamp, prior to which he was a special projects engineer reporting directly to the CEO of Groupon, and an engineering lead at Centro. His areas of expertise include operating systems, networking, databases, functional programing and managing complexity.

Ozan Onay portrait

Oz was CTO and Co-founder of and Topguest (acquired by Switchfly). He also worked as an engineering and engineering manager at companies including Practice Fusion and Counsyl. His areas of expertise include algorithms and problem solving, mathematics, functional programming and modeling.

Both Myles and Oz are incredible engineers and teachers, and were the two people who have had the greatest impact on my career as an engineer. Working with them, I experienced the highest growth period of my career.
Omar Rayward portrait
Omar Rayward, CTO at Tidewater
Myles and Oz taught me to be tenacious about figuring out what’s going on under the hood, rather than blindly trusting the abstractions I’m working with. I will look back upon my training with Bradfield as a significant inflection point in my development as an engineer and as a thinker.
Ammar portrait
Ammar Mian, Software engineer at Morning Consult
If you care about software craftsmanship then you need to master computer science, full stop. I'm embarrassed to say that I once scoffed at the idea of studying the fundamentals before learning the latest trends—I blame my bootcamp roots—because now that I've started, I've become a vastly better engineer.
Jason Benn portrait
Jason Benn, Software Engineer at Minerva
Take a Bradfield course if you want to accelerate your software engineering career. The classes are small, the material is relevant, and the pace is fast but manageable. I was promoted to Lead iOS Engineer after taking one course!
Jacqueline Sloves portrait
Jacqueline Sloves, Lead iOS Engineer at Vida Health
Myles helped me not just with the things I didn’t know, but more importantly with the things I didn’t know I didn’t know. He was instrumental to me building up my programming interview skillsets. Through working with Myles, I have already landed one offer that was $42k higher than my previous salary.
Sid Zhang portrait
Sid Zhang, Software Engineer at Uber
Bradfield alumni have consistently punched way above their weight class in technical interviews on, and it's not surprising. One-on-one instruction from teachers who care deeply about imparting how to think about engineering problems rather than just how to produce code in a trendy language wins every time.
Aline Lerner portrait
Aline Lerner, Co-founder and CEO of
Myles an Oz are two of the best educators I know. Their program is one I wish I’d had the opportunity to take: the mix of widely varied hands-on projects combined with actual industry work really is the best way to learn this craft.
Xavier Shay portrait
Xavier Shay, Payments Engineering Lead at Square
The Bradfield program’s closely-mentored instruction is exactly the sort of prep we think sets candidates up for success.
Ben Kamens portrait
Ben Kamens, head of engineering at Khan Academy
San Francisco, California
© 2016 Bradfield School of Computer Science