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 increases, 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.

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 (one week full time or three weeks part time) 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.

Join our mailing list

Courses

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: two evenings per week and one weekend class, for three weeks starting Jan 9 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: two evenings per week and one weekend class, for three weeks starting Jan 10 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: one evening per week and one weekend class, for three weeks starting Jan 11 2017

Operating system concepts

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: February 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: February 2017

Databases

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: February 2017

Data modeling

Get your data model right the first time by learning how to refine your understanding of any given problem domain.

learn more

Next session: March 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: March 2017

Math 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: March 2017

Introduction to neural networks

Learn the basics of machine learning using neural networks, write a neural network from scratch to solve a classification problem, and become acquainted with TensorFlow and similar tools.

learn more

Next session: April 2017

Computer graphics and virtual reality

Learn about 3D computer graphics with an emphasis on real time rendering for virtual reality applications.

learn more

Next session: April 2017

Instructors

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 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.

Oz was CTO and Co-founder of Vida.com 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. Myles' instruction helped me understand more advanced concepts in programming than any other teacher, and was a key reason why I was able to secure my first job at Healthtap. Working with Oz helped me break through a plateau as a junior engineer, and has been the highest growth period of my career.
Omar Rayward, Software engineer at Virta Health
If you care about software craftsmanship then you need a mentor, full stop. I look forward to working with Bradfield for the foreseeable future and investing my free time into learning only the right next things, the things I didn’t know I didn’t know, instead of wasting my time learning the APIs of JavaScript frameworks.
Jason Benn, Software Engineer at Minerva
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, Software Engineer at Uber
Bradfield alumni have consistently punched way above their weight class in technical interviews on interviewing.io, 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, Co-founder and CEO of interviewing.io
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, 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, head of engineering at Khan Academy

hello@bradfieldcs.com
San Francisco, California
© 2016 Bradfield School of Computer Science