Professional Documents
Culture Documents
Becoming A Better Engineer
Becoming A Better Engineer
My understanding of this path has evolved quite a bit since my Leveling Up presentation a month and a half ago. Originally, I
proposed combining more complex problems at work and either going to Stanford for a part-time masters program or Bradfield for a
full-time bootcamp. Here are some updates on each of those ideas:
I’ve also now spoken with several other people on this topic:
• Jan was somewhat disdainful of pursuing a masters degree solely for the improved career prospects. Some companies might
hire these people for R&D, but mostly they’re useful as a springboard to other graduate degrees or as a way to gain a
specialization. When he was in school 20 years ago, it was rare for people to bother getting an MS.
• Alex Cusack, who has a similar background in CS as myself and just finished Bradfield bootcamp, recommended the bootcamp
and Oz and Myles generally. He benefited hugely from their lectures and pairing time (although he wishes there had been more
of it during the bootcamp). He’s thankful for the material they covered, saying that he can now comfortably reason at any level
of abstraction, where before he only considered himself competent at web development.
• Skylar Cook, who has completed 24 of 30 credits in the Georgia Tech masters program and who recently joined Google as an
embedded systems engineer, recommends the program. He is self-taught and used to struggle with imposter syndrome, but
now he’s much more confident in his skills and knowledge. He did warn me that class quality can vary, and cautioned me
against making some of the mistakes he made - taking on too much in a single semester, and enrolling in courses that sound
cool but that don’t deliver on their promise. He also noted that the additional commitment did not interfere with his productivity at
his job.
My educational goals are still to achieve the kind of well-rounded computer science knowledge that Alex and Skylar now benefit
from, while also gaining a specialty in machine learning (which, luckily, is one of the four specialization options offered at Georgia
Tech). If I were to enroll in Georgia Tech’s OMS in CS, here’s a possible course sequence:
Notably absent from this sequence are several foundational CS courses. This is for two reasons:
1. Many of Georgia Tech’s foundational CS offerings are poorly rated, compared to the above:
a. Database Systems Concepts & Design: 3.2
b. Computer Networks: 3.6
c. Software Architecture & Design: 3.9
2. Bradfield is now offering short, part-time courses covering this material.
The Bradfield short courses are not a difficult commitment to juggle — they’re three weeks long each and involve homework and 9
hours of classroom instruction per week (3 hours on Monday and Thursday nights and 3 hours on Saturdays). I could participate in
a few of these over the next few months, depending on whether I decide to go to Buenos Aires in February (with Cheng and Brian)
or April (with Erin and potentially other Schools team members, as originally planned). See the comments for Bradfield’s course
descriptions:
• January: Computer architecture and the hardware/software interface
• February: Databases
• March: Distributed systems
• April: Introduction to neural networks
To prepare for the Computer Architecture course, lay a solid foundation for the 5-10 courses involving C I would take, and to
prepare for contributing to Licode, I could also work through The C Programming Language in the next month — it’s fairly short —
and tackle a few practice problems on Exercism. Update: read the book, completed a couple problems — I’m ready for the course.
With this plan, I would broadly survey the field of computer science, starting at the lowest practical layer of abstraction:
• C
• Computer architecture and the hardware/software interface
• Networking (already covered)
• Databases
• Distributed Systems
• Intro to Operating Systems
• Intro to Information Security
• Network Security
And I’d be able to cement it all as I learn it because I’ll be able to continue working at Minerva unimpeded!
As a cherry on top, Georgia Tech offers an Educational Technology class for credit: it’s a largely self-directed group research class
on any education-related topic. This would be the perfect opportunity to leverage my new machine learning knowledge, Georgia
Tech professor expertise, and the manpower of other masters students on any of the myriad interesting research opportunities at
Minerva. In the above plan, I would take Educational Technology in Fall 2018.
Logistics: Georgia Tech has rolling admissions, but my application would have to be completed by their Fall 2017 matriculation date
of April 24 for the best chance of being considered. The Bradfield Computer Architecture course starts on January 9th. Update: I’ve
paid for and am enrolled in this course.
The total cost of this 32-month part-time program would be about $7,000 for the Georgia Tech degree plus $1,800 for each of the
Bradfield short courses, for a total of $12,400, which is a little under $400 a month. If this program seems like a good idea, would
Minerva be willing to assume this expense? This program costs half as much as the 3 month Bradfield bootcamp I’d originally
proposed, and one-fourth as much as the Stanford Master’s degree. Update: JK has agreed to split the costs with me 50/50,
which is slightly more than Minerva’s ongoing education budget per engineer per year of $3,000, but only for the first year.
My hope is that after 32 months of systematic, deliberate education addressing my weaknesses and gaining a valuable
specialization, and after working on the right projects, I’d become a much better engineer.