Are you striving to be a high-impact technologist?
Instead of teaching you frameworks of technologies you could easily learn about yourself, we focus on deep topics in computer science and software engineering rarely taught outside of top universities.
Courses are structured as short modules that can be taken individually to accelerate an area of study, or combined for a more comprehensive computer science curriculum. Classes run on evenings and weekends.
Small tutorials are combined with programming exercises, textbook study and paper reading to maximize effectiveness, and all instructors are highly experienced teachers and engineers.
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 small 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 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.
I hope you will join us.
President and lead instructor
18 Jun - 26 Jul
Location: San Francisco
8 Jul - 15 Aug
Location: San Francisco
9 Jul - 2 Aug
Location: San Francisco
29 Jul - 5 Sep
Location: San Francisco
|Program Interfaces, Patterns and Anti-patterns||30 Jul - 6 Sep||5:00pm-6:30pm Tue/Fri||San Francisco||Oz Nova||Enrollments open|
|Computer Architecture and the Hardware/Software Interface||30 Jul - 6 Sep||7:00pm-8:30pm Tue/Fri||San Francisco||Oz Nova||Almost full|
|Problem Solving with Algorithms and Data Structures||4 Sep - 12 Oct||7:00pm-8:30pm Wed and 10:00am-11:30am Sat||San Francisco||Elliott Jin||Enrollments open|
|Databases||9 Sep - 17 Oct||5:00pm-6:30pm Mon/Thu||San Francisco||Oz Nova||Enrollments open|
|Deep Learning for Engineers||9 Sep - 3 Oct||5:30pm-8:00pm Mon/Thu||San Francisco||Dr. Brian Spiering||Enrollments open|
|Computer Networking||10 Sep - 18 Oct||5:00pm-6:30pm PT Tue/Fri||Live online||Oz Nova||Enrollments open|
|Mathematics for Computing||1-25 Oct||5:30pm-8:00pm Tue/Fri||San Francisco||Tom Alcorn||Enrollments open|
|Languages, Compilers and Interpreters||14 Oct - 21 Nov||5:00pm-6:30pm Mon/Thu||San Francisco||Tom Ballinger||Enrollments open|
For new courses, as well as the best resources and tech news that matters, subscribe to our weekly newsletter Bradfield Beeps.
Meet the instructors
Oz is the lead instructor at Bradfield, and most frequently teaches Algorithms and Data Structures, Computer Architecture, Databases, Operating Systems and Distributed Systems. Prior to co-founding Bradfield, he worked for a decade as a software engineer and engineering manager, including as CTO and Co-founder of Topguest (acquired by Switchfly) and Vida.com.
Elliott was most recently an engineer on the search team at Dropbox, where he worked on a distributed text retrieval system. Previously he worked at Palantir and Apptimize. In addition, Elliott has been a mentor for the Google Summer of Code, a section leader in Stanford's intro CS course, and a tutor at Stanford's Center for Teaching and Learning.
Tom is a software engineer at Dropbox, prior to which he was the first facilitator at Recurse Center, a programming workshop for experienced programmers. For four years he helped participants learn new programming languages, build fancy terminal UIs and discover concurrent network programming, which resulted in a lot of BitTorrent clients being built.
Tom Alcorn graduated from MIT with a degree in mathematics and now works as a software engineer at Join, developing a next generation query language for building data. Previously he worked at Flux.io and Everquote. He teaches the Mathematics for Computing course at Bradfield and has particular interests in machine learning and motorcycles.
Tim Olshansky is currently the VP of Engineering at Zenput, and was most recently Senior Director of Product Development at Oracle after the acquisition of Aconex, where he was CTO. Tim has coached managers and senior leaders across numerous companies and has previously run many professional training sessions. He teaches the Engineering Leadership course at Bradfield.
Haseeb is a general partner at MetaStable Capital, a leading cryptocurrency hedge fund. Previously he was an engineer at Earn.com, and before that battled payments fraud at Airbnb. He is a top cryptocurrencies writer on Medium and is collaborating with researchers at Cornell on blockchain frontrunning attacks.
Dr. Brian Spiering is a Professor of Computer Science at University of San Francisco, with a focus on natural language processing and artificial intelligence. At Bradfield, he teaches the Deep Learning for Engineers course. He is also active in the San Francisco tech community as a volunteer and mentor at DataKind SF Bay and Delta Analytics.
The areas of technology that are worth learning and spending time on, in our opinion.
How to avoid the hype and make appropriate technology choices given your company’s size and needs.
Why you should understand languages and compilers generally, rather the details of any one.
What we lose as we spend more time with high-level languages, and why we shouldn’t neglect C.
Our microsite listing the best resources and focus areas for those wishing to teach themselves computer science.Explore
If you are a strong programmer but strive to do more challenging and rewarding work, then Bradfield is here to serve you. We feel that it’s relatively easy to teach yourself a new language or technology, so we focus on the challenging computer science concepts that will make you a significantly better engineer, but that are hard to learn without some instruction and a supportive environment. As far as we know, we are the only institution that does this outside of a university environment.
We conduct highly interactive tutorial style classes of 6-10 students, combining question-and-answer style teaching with hands on problem solving. Before the class, your instructor will ask you to watch a video lecture or read a textbook section or paper. Instead of repeating the lecture in class, we will probe your understanding and consolidate your knowledge.
Many of our courses will involve a major project (like writing an interpreter or database system) or a series of minor projects (like adding features to an operating system, writing a load balancer or re-deriving TCP) and your instructor will help you extend your understanding to these and other applications.
For any given course, classes run twice per week for 4-6 weeks. We also suggest an hour of preparation per hour of class, and are able to provide more prework and homework for those who have the capacity.
The top computer science departments in the US have done an excellent job of identifying the lasting ideas in computer science that every practitioner should learn. Unfortunately, the conventional university format—lectures and exams, spread over four years—does not suit everybody. Relative to a university, our own offering covers many of the same big ideas and foundational topics, but in a radically different format.
By using online courseware to provide the equivalent of lectures, the in-person portion can be dedicated to deepening understanding. By limiting courses to strong programmers, keeping classes small, and eliminating excessively theoretical content as well as exams and graded assignments, we are able to cover a comparable amount of content in an expedited manner.