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.
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.
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.
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.
Next session: 3 April 2017 - 23 April 2017
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.
Next session: 29 March 2017 - 15 April 2017
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.
Next session: 4 April 2017 - 23 April 2017
Learn what good API design looks like across a variety of program boundaries, through case studies and exercises.
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.
Next session: 1 May 2017 - 21 May 2017
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.
Next session: 2 May 2017 - 21 May 2017
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.
Next session: June 2017
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.
Next session: 6 March 2017 - 26 March 2017
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.
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 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. Working with them, I experienced the highest growth period of my career.
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.
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.
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!
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.
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.
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.
The Bradfield program’s closely-mentored instruction is exactly the sort of prep we think sets candidates up for success.