├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── Rakefile ├── _about └── about.md ├── _applying ├── cover-letter.md ├── publications.md ├── recommendations.md ├── resume.md ├── statements.md └── submitting.md ├── _config.yml ├── _data ├── README.md └── people.yml ├── _deciding ├── deadlines.md ├── deciding.md ├── negotiations.md ├── rejection.md └── timelines.md ├── _exampleMaterials ├── cardFiltering.md ├── contributionGuide.md └── overview.md ├── _includes ├── dropdown.html ├── footer.html ├── footerOld.html ├── google-analytics.html ├── head.html ├── header.html ├── quote.html └── timeline.html ├── _interviewing ├── phoneScreen.md ├── questions.md ├── talk.md ├── twobody.md └── visits.md ├── _jobs ├── general.md ├── specific.md └── subfields.md ├── _layouts └── default.html ├── _misc └── misc.md ├── _sass ├── _cards.scss ├── _linkCell.scss ├── _navBar.scss ├── _quotes.scss ├── _searchToggle.scss ├── _tags.scss ├── _timeline.scss └── _toc.scss ├── about.md ├── applying.md ├── assets ├── css │ ├── bootstrap-toc.min.css │ ├── bootstrap.min.css │ ├── bootstrap.min.css.map │ ├── foundation.css │ ├── foundation.min.css │ └── styles.scss ├── javascript │ ├── anchor.min.js │ ├── bootstrap-toc.min.js │ ├── bootstrap.bundle.min.js │ ├── bootstrap.bundle.min.js.map │ ├── foundation.js │ ├── foundation.min.js │ ├── gtag.js │ ├── jquery-3.5.1.min.js │ ├── jquery.js │ ├── loadCards.js │ ├── plugins │ │ ├── foundation.core.js │ │ ├── foundation.reveal.js │ │ ├── foundation.util.keyboard.js │ │ ├── foundation.util.mediaQuery.js │ │ ├── foundation.util.motion.js │ │ ├── foundation.util.touch.js │ │ └── foundation.util.triggers.js │ ├── timeline.js │ └── what-input.js └── materials │ ├── akamil │ ├── akamil4_akamil.jpg │ ├── appcv_2015_akamil.pdf │ ├── readme.md │ ├── research_2015_akamil.pdf │ ├── teaching_2015_akamil.pdf │ └── umich-cover_2015_akamil.pdf │ ├── angstadt │ ├── angstadt-bowdoin-cover-letter.pdf │ ├── angstadt-cv-f2019.pdf │ ├── angstadt-diversity-statement.pdf │ ├── angstadt-research-statement.pdf │ ├── angstadt-teaching-diversity-philosophy.pdf │ ├── angstadt-teaching-philosophy-grad.pdf │ ├── angstadt-teaching-philosophy.pdf │ ├── angstadt.jpg │ └── timeline.json │ ├── begel │ ├── begel-cv.pdf │ ├── begel-research.pdf │ └── begel-teaching.pdf │ ├── contributionTypes.json │ ├── contributors.json │ ├── deirubrics │ ├── DEI-Statement-Rubric-Colorado-Denver.pdf │ ├── DEI-Statement-Rubric-MSU.pdf │ └── DEI-Statement-Rubric-UC-Irvine.pdf │ ├── endremad │ ├── Endres_coverLetter.pdf │ ├── Endres_cv_feb.pdf │ ├── Endres_diversityStatement.pdf │ ├── Endres_headshot.jpeg │ ├── Endres_jobTalk.pdf │ ├── Endres_researchStatement.pdf │ └── Endres_teachingStatement.pdf │ ├── fry │ ├── ZakFry_ResearchStatement.pdf │ ├── fry-cv.pdf │ └── zak.jpeg │ ├── hammada │ ├── DEI_statementHammadAhmad.pdf │ ├── Hammad_CMU_cover_letter.pdf │ ├── Hammad_DEI_Statement.pdf │ ├── Hammad_Research_Statement.pdf │ ├── Hammad_Teaching_Statement.pdf │ ├── hammad_headshot.png │ ├── research_statementHammadAhmad.pdf │ ├── teaching_statementHammadAhmad.pdf │ ├── teaching_talk_hash_tables.pdf │ └── timeline.json │ ├── jhala │ ├── Jhala-Research.pdf │ ├── Jhala-Teaching.pdf │ └── rj-cover-generic3.pdf │ ├── kleach │ ├── kleach-cover-letter.pdf │ ├── kleach-cv-2020.pdf │ ├── kleach-diversity-statement.pdf │ ├── kleach-research-statement.pdf │ ├── kleach-teaching-statement.pdf │ ├── kleach.jpg │ └── timeline.json │ ├── legoues │ ├── claire.jpg │ ├── legoues-cv.pdf │ ├── legoues-research-statement.pdf │ ├── legoues-teaching-statement.pdf │ └── timeline.json │ ├── lerner │ ├── lerner-cv.pdf │ ├── lerner-research.pdf │ └── lerner-teaching.pdf │ ├── weimer │ ├── list.html │ ├── timeline.json │ ├── weimer-cover-letter-umass.pdf │ ├── weimer-cover-letter.pdf │ ├── weimer-research.pdf │ ├── weimer-resume.pdf │ ├── weimer-teaching.pdf │ └── weimerw.jpg │ └── whaley │ ├── whaley-cv.pdf │ ├── whaley-research.pdf │ └── whaley-teaching.pdf ├── deciding.md ├── exampleMaterials.md ├── icons ├── iconLineArt.jpg └── iconTrans.jpg ├── index.md ├── index2.html ├── interviewing.md ├── jobs.md ├── misc.md └── package-lock.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | _site 4 | .sass-cache 5 | .jekyll-cache 6 | .jekyll-metadata 7 | vendor 8 | node_modules 9 | 10 | *.gem 11 | *.rbc 12 | /.config 13 | /coverage/ 14 | /InstalledFiles 15 | /pkg/ 16 | /spec/reports/ 17 | /spec/examples.txt 18 | /test/tmp/ 19 | /test/version_tmp/ 20 | /tmp/ 21 | 22 | # Used by dotenv library to load environment variables. 23 | # .env 24 | 25 | # Ignore Byebug command history file. 26 | .byebug_history 27 | 28 | ## Specific to RubyMotion: 29 | .dat* 30 | .repl_history 31 | build/ 32 | *.bridgesupport 33 | build-iPhoneOS/ 34 | build-iPhoneSimulator/ 35 | 36 | ## Specific to RubyMotion (use of CocoaPods): 37 | # 38 | # We recommend against adding the Pods directory to your .gitignore. However 39 | # you should judge for yourself, the pros and cons are mentioned at: 40 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 41 | # 42 | # vendor/Pods/ 43 | 44 | ## Documentation cache and generated files: 45 | /.yardoc/ 46 | /_yardoc/ 47 | /doc/ 48 | /rdoc/ 49 | 50 | ## Environment normalization: 51 | /.bundle/ 52 | /vendor/bundle 53 | /lib/bundler/man/ 54 | 55 | # for a library or gem, you might want to ignore these files since the code is 56 | # intended to run in multiple environments; otherwise, check them in: 57 | # Gemfile.lock 58 | # .ruby-version 59 | # .ruby-gemset 60 | 61 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: 62 | .rvmrc 63 | 64 | # Used by RuboCop. Remote config files pulled in from inherit_from directive. 65 | # .rubocop-https?--* 66 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404.html 3 | layout: default 4 | --- 5 | 6 | 14 | 15 |
16 |

404

17 | 18 |

Page not found :(

19 |

The requested page could not be found.

20 |
21 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # gem "jekyll", "~> 4.0.1" 4 | 5 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 6 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 7 | gem "github-pages", group: :jekyll_plugins 8 | 9 | # If you have any plugins, put them here! 10 | group :jekyll_plugins do 11 | gem "jekyll-avatar" 12 | gem "jekyll-last-modified-at" 13 | gem "jekyll-sitemap" 14 | end 15 | 16 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem 17 | # and associated library. 18 | install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do 19 | gem "tzinfo", "~> 1.2" 20 | gem "tzinfo-data" 21 | end 22 | 23 | # Performance-booster for watching directories on Windows 24 | gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? 25 | 26 | group :test do 27 | gem 'rake' 28 | gem 'html-proofer', '~> 3.19.0' 29 | end 30 | 31 | gem "webrick", "~> 1.8" 32 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (6.0.6.1) 5 | concurrent-ruby (~> 1.0, >= 1.0.2) 6 | i18n (>= 0.7, < 2) 7 | minitest (~> 5.1) 8 | tzinfo (~> 1.1) 9 | zeitwerk (~> 2.2, >= 2.2.2) 10 | addressable (2.8.7) 11 | public_suffix (>= 2.0.2, < 7.0) 12 | coffee-script (2.4.1) 13 | coffee-script-source 14 | execjs 15 | coffee-script-source (1.11.1) 16 | colorator (1.1.0) 17 | commonmarker (0.23.10) 18 | concurrent-ruby (1.2.2) 19 | dnsruby (1.70.0) 20 | simpleidn (~> 0.2.1) 21 | em-websocket (0.5.3) 22 | eventmachine (>= 0.12.9) 23 | http_parser.rb (~> 0) 24 | ethon (0.16.0) 25 | ffi (>= 1.15.0) 26 | eventmachine (1.2.7) 27 | execjs (2.8.1) 28 | faraday (2.7.8) 29 | faraday-net_http (>= 2.0, < 3.1) 30 | ruby2_keywords (>= 0.0.4) 31 | faraday-net_http (3.0.2) 32 | ffi (1.17.0) 33 | forwardable-extended (2.6.0) 34 | gemoji (3.0.1) 35 | github-pages (228) 36 | github-pages-health-check (= 1.17.9) 37 | jekyll (= 3.9.3) 38 | jekyll-avatar (= 0.7.0) 39 | jekyll-coffeescript (= 1.1.1) 40 | jekyll-commonmark-ghpages (= 0.4.0) 41 | jekyll-default-layout (= 0.1.4) 42 | jekyll-feed (= 0.15.1) 43 | jekyll-gist (= 1.5.0) 44 | jekyll-github-metadata (= 2.13.0) 45 | jekyll-include-cache (= 0.2.1) 46 | jekyll-mentions (= 1.6.0) 47 | jekyll-optional-front-matter (= 0.3.2) 48 | jekyll-paginate (= 1.1.0) 49 | jekyll-readme-index (= 0.3.0) 50 | jekyll-redirect-from (= 0.16.0) 51 | jekyll-relative-links (= 0.6.1) 52 | jekyll-remote-theme (= 0.4.3) 53 | jekyll-sass-converter (= 1.5.2) 54 | jekyll-seo-tag (= 2.8.0) 55 | jekyll-sitemap (= 1.4.0) 56 | jekyll-swiss (= 1.0.0) 57 | jekyll-theme-architect (= 0.2.0) 58 | jekyll-theme-cayman (= 0.2.0) 59 | jekyll-theme-dinky (= 0.2.0) 60 | jekyll-theme-hacker (= 0.2.0) 61 | jekyll-theme-leap-day (= 0.2.0) 62 | jekyll-theme-merlot (= 0.2.0) 63 | jekyll-theme-midnight (= 0.2.0) 64 | jekyll-theme-minimal (= 0.2.0) 65 | jekyll-theme-modernist (= 0.2.0) 66 | jekyll-theme-primer (= 0.6.0) 67 | jekyll-theme-slate (= 0.2.0) 68 | jekyll-theme-tactile (= 0.2.0) 69 | jekyll-theme-time-machine (= 0.2.0) 70 | jekyll-titles-from-headings (= 0.5.3) 71 | jemoji (= 0.12.0) 72 | kramdown (= 2.3.2) 73 | kramdown-parser-gfm (= 1.1.0) 74 | liquid (= 4.0.4) 75 | mercenary (~> 0.3) 76 | minima (= 2.5.1) 77 | nokogiri (>= 1.13.6, < 2.0) 78 | rouge (= 3.26.0) 79 | terminal-table (~> 1.4) 80 | github-pages-health-check (1.17.9) 81 | addressable (~> 2.3) 82 | dnsruby (~> 1.60) 83 | octokit (~> 4.0) 84 | public_suffix (>= 3.0, < 5.0) 85 | typhoeus (~> 1.3) 86 | html-pipeline (2.14.3) 87 | activesupport (>= 2) 88 | nokogiri (>= 1.4) 89 | html-proofer (3.19.4) 90 | addressable (~> 2.3) 91 | mercenary (~> 0.3) 92 | nokogiri (~> 1.13) 93 | parallel (~> 1.10) 94 | rainbow (~> 3.0) 95 | typhoeus (~> 1.3) 96 | yell (~> 2.0) 97 | http_parser.rb (0.8.0) 98 | i18n (1.14.1) 99 | concurrent-ruby (~> 1.0) 100 | jekyll (3.9.3) 101 | addressable (~> 2.4) 102 | colorator (~> 1.0) 103 | em-websocket (~> 0.5) 104 | i18n (>= 0.7, < 2) 105 | jekyll-sass-converter (~> 1.0) 106 | jekyll-watch (~> 2.0) 107 | kramdown (>= 1.17, < 3) 108 | liquid (~> 4.0) 109 | mercenary (~> 0.3.3) 110 | pathutil (~> 0.9) 111 | rouge (>= 1.7, < 4) 112 | safe_yaml (~> 1.0) 113 | jekyll-avatar (0.7.0) 114 | jekyll (>= 3.0, < 5.0) 115 | jekyll-coffeescript (1.1.1) 116 | coffee-script (~> 2.2) 117 | coffee-script-source (~> 1.11.1) 118 | jekyll-commonmark (1.4.0) 119 | commonmarker (~> 0.22) 120 | jekyll-commonmark-ghpages (0.4.0) 121 | commonmarker (~> 0.23.7) 122 | jekyll (~> 3.9.0) 123 | jekyll-commonmark (~> 1.4.0) 124 | rouge (>= 2.0, < 5.0) 125 | jekyll-default-layout (0.1.4) 126 | jekyll (~> 3.0) 127 | jekyll-feed (0.15.1) 128 | jekyll (>= 3.7, < 5.0) 129 | jekyll-gist (1.5.0) 130 | octokit (~> 4.2) 131 | jekyll-github-metadata (2.13.0) 132 | jekyll (>= 3.4, < 5.0) 133 | octokit (~> 4.0, != 4.4.0) 134 | jekyll-include-cache (0.2.1) 135 | jekyll (>= 3.7, < 5.0) 136 | jekyll-last-modified-at (1.3.0) 137 | jekyll (>= 3.7, < 5.0) 138 | posix-spawn (~> 0.3.9) 139 | jekyll-mentions (1.6.0) 140 | html-pipeline (~> 2.3) 141 | jekyll (>= 3.7, < 5.0) 142 | jekyll-optional-front-matter (0.3.2) 143 | jekyll (>= 3.0, < 5.0) 144 | jekyll-paginate (1.1.0) 145 | jekyll-readme-index (0.3.0) 146 | jekyll (>= 3.0, < 5.0) 147 | jekyll-redirect-from (0.16.0) 148 | jekyll (>= 3.3, < 5.0) 149 | jekyll-relative-links (0.6.1) 150 | jekyll (>= 3.3, < 5.0) 151 | jekyll-remote-theme (0.4.3) 152 | addressable (~> 2.0) 153 | jekyll (>= 3.5, < 5.0) 154 | jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) 155 | rubyzip (>= 1.3.0, < 3.0) 156 | jekyll-sass-converter (1.5.2) 157 | sass (~> 3.4) 158 | jekyll-seo-tag (2.8.0) 159 | jekyll (>= 3.8, < 5.0) 160 | jekyll-sitemap (1.4.0) 161 | jekyll (>= 3.7, < 5.0) 162 | jekyll-swiss (1.0.0) 163 | jekyll-theme-architect (0.2.0) 164 | jekyll (> 3.5, < 5.0) 165 | jekyll-seo-tag (~> 2.0) 166 | jekyll-theme-cayman (0.2.0) 167 | jekyll (> 3.5, < 5.0) 168 | jekyll-seo-tag (~> 2.0) 169 | jekyll-theme-dinky (0.2.0) 170 | jekyll (> 3.5, < 5.0) 171 | jekyll-seo-tag (~> 2.0) 172 | jekyll-theme-hacker (0.2.0) 173 | jekyll (> 3.5, < 5.0) 174 | jekyll-seo-tag (~> 2.0) 175 | jekyll-theme-leap-day (0.2.0) 176 | jekyll (> 3.5, < 5.0) 177 | jekyll-seo-tag (~> 2.0) 178 | jekyll-theme-merlot (0.2.0) 179 | jekyll (> 3.5, < 5.0) 180 | jekyll-seo-tag (~> 2.0) 181 | jekyll-theme-midnight (0.2.0) 182 | jekyll (> 3.5, < 5.0) 183 | jekyll-seo-tag (~> 2.0) 184 | jekyll-theme-minimal (0.2.0) 185 | jekyll (> 3.5, < 5.0) 186 | jekyll-seo-tag (~> 2.0) 187 | jekyll-theme-modernist (0.2.0) 188 | jekyll (> 3.5, < 5.0) 189 | jekyll-seo-tag (~> 2.0) 190 | jekyll-theme-primer (0.6.0) 191 | jekyll (> 3.5, < 5.0) 192 | jekyll-github-metadata (~> 2.9) 193 | jekyll-seo-tag (~> 2.0) 194 | jekyll-theme-slate (0.2.0) 195 | jekyll (> 3.5, < 5.0) 196 | jekyll-seo-tag (~> 2.0) 197 | jekyll-theme-tactile (0.2.0) 198 | jekyll (> 3.5, < 5.0) 199 | jekyll-seo-tag (~> 2.0) 200 | jekyll-theme-time-machine (0.2.0) 201 | jekyll (> 3.5, < 5.0) 202 | jekyll-seo-tag (~> 2.0) 203 | jekyll-titles-from-headings (0.5.3) 204 | jekyll (>= 3.3, < 5.0) 205 | jekyll-watch (2.2.1) 206 | listen (~> 3.0) 207 | jemoji (0.12.0) 208 | gemoji (~> 3.0) 209 | html-pipeline (~> 2.2) 210 | jekyll (>= 3.0, < 5.0) 211 | kramdown (2.3.2) 212 | rexml 213 | kramdown-parser-gfm (1.1.0) 214 | kramdown (~> 2.0) 215 | liquid (4.0.4) 216 | listen (3.8.0) 217 | rb-fsevent (~> 0.10, >= 0.10.3) 218 | rb-inotify (~> 0.9, >= 0.9.10) 219 | mercenary (0.3.6) 220 | mini_portile2 (2.8.7) 221 | minima (2.5.1) 222 | jekyll (>= 3.5, < 5.0) 223 | jekyll-feed (~> 0.9) 224 | jekyll-seo-tag (~> 2.1) 225 | minitest (5.18.1) 226 | nokogiri (1.16.7) 227 | mini_portile2 (~> 2.8.2) 228 | racc (~> 1.4) 229 | octokit (4.25.1) 230 | faraday (>= 1, < 3) 231 | sawyer (~> 0.9) 232 | parallel (1.25.1) 233 | pathutil (0.16.2) 234 | forwardable-extended (~> 2.6) 235 | posix-spawn (0.3.15) 236 | public_suffix (4.0.7) 237 | racc (1.8.1) 238 | rainbow (3.1.1) 239 | rake (13.0.6) 240 | rb-fsevent (0.11.2) 241 | rb-inotify (0.10.1) 242 | ffi (~> 1.0) 243 | rexml (3.2.5) 244 | rouge (3.26.0) 245 | ruby2_keywords (0.0.5) 246 | rubyzip (2.3.2) 247 | safe_yaml (1.0.5) 248 | sass (3.7.4) 249 | sass-listen (~> 4.0.0) 250 | sass-listen (4.0.0) 251 | rb-fsevent (~> 0.9, >= 0.9.4) 252 | rb-inotify (~> 0.9, >= 0.9.7) 253 | sawyer (0.9.2) 254 | addressable (>= 2.3.5) 255 | faraday (>= 0.17.3, < 3) 256 | simpleidn (0.2.1) 257 | unf (~> 0.1.4) 258 | terminal-table (1.8.0) 259 | unicode-display_width (~> 1.1, >= 1.1.1) 260 | thread_safe (0.3.6) 261 | typhoeus (1.4.1) 262 | ethon (>= 0.9.0) 263 | tzinfo (1.2.11) 264 | thread_safe (~> 0.1) 265 | tzinfo-data (1.2023.3) 266 | tzinfo (>= 1.0.0) 267 | unf (0.1.4) 268 | unf_ext 269 | unf_ext (0.0.8.2) 270 | unicode-display_width (1.8.0) 271 | wdm (0.1.1) 272 | webrick (1.8.1) 273 | yell (2.2.2) 274 | zeitwerk (2.6.17) 275 | 276 | PLATFORMS 277 | ruby 278 | 279 | DEPENDENCIES 280 | github-pages 281 | html-proofer (~> 3.19.0) 282 | jekyll-avatar 283 | jekyll-last-modified-at 284 | jekyll-sitemap 285 | rake 286 | tzinfo (~> 1.2) 287 | tzinfo-data 288 | wdm (~> 0.1.1) 289 | webrick (~> 1.8) 290 | 291 | BUNDLED WITH 292 | 2.3.10 293 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'html-proofer' 2 | # rake test 3 | desc "build and test website" 4 | task :test do 5 | sh "bundle exec jekyll build" 6 | HTMLProofer.check_directory("./_site", { 7 | :assume_extension => true, 8 | :check_favicon => true, 9 | :external_only => true, 10 | :only_4xx => true, 11 | :file_ignore => [ '/assets/materials/' ], 12 | :url_ignore => [ ], 13 | :url_swap => { %r{https://csguides.github.io} => '' }, 14 | :typhoeus => { 15 | :ssl_verifypeer => false, 16 | :ssl_verifyhost => 0}, 17 | verbose => true}).run 18 | end -------------------------------------------------------------------------------- /_about/about.md: -------------------------------------------------------------------------------- 1 | # Authors 2 | 3 | This guide was written by [Wes Weimer](https://web.eecs.umich.edu/~weimerw/) (University of 4 | Michigan), [Claire Le Goues](https://clairelegoues.com/) (Carnegie Mellon University), Zak Fry (GrammaTech), 5 | [Kevin Leach](https://kjl.name/) (Vanderbilt University), [Yu Huang](https://yuhuang-lab.github.io/) (Vanderbilt University), 6 | [Kevin Angstadt](https://myslu.stlawu.edu/~kangstadt/) (St. Lawrence University), and [Madeline Endres](https://madelineendres.com) (University 7 | of Massachusetts, Amherst). We elicited select input from others, and indicate who/where throughout, where relevant. 8 | 9 | In this Guide, we generally offer collective advice and speak in general terms. However, we will sometimes refer to specific authors by name. We provide 10 | information about each author's search below to provide context. 11 | 12 | * [Wes Weimer](https://web.eecs.umich.edu/~weimerw/): Conducted a 2005 search for a position in programming languages or software 13 | engineering in academia or industry; accepted a position as a tenure track assistant professor at the University of Virginia. He is now a professor at the Univeristy of Michigan. 14 | 15 | * [Claire Le Goues](https://clairelegoues.com/): Conducted a 2013 search for a position in programming languages or software 16 | engineering in research academia or industry; accepted a position as a tenure track assistant professor at Carnegie Mellon University. She has since served on the hiring committee and as Chair of the hiring committee a number of times in her home department at CMU, [S3D](https://s3d.cmu.edu/). 17 | 18 | * Zak Fry: Conducted a 2014 search for industrial research positions in software systems; accepted a role as a Research Scientist at GrammaTech. 19 | 20 | * [Kevin Angstadt](https://myslu.stlawu.edu/~kangstadt/): Conducted a 2019 search for a programming languages position in teaching-focused academia; accepted a position as a tenure track assistant professor at St. Lawrence University. 21 | 22 | * [Kevin Leach](https://kjl.name/): Conducted a two-body (with spouse [Yu Huang](https://yuhuang-lab.github.io/)) 2020 search for a position in software engineering or security in research or teaching-focused academia; accepted a position as a tenure track assistant professor at Vanderbilt University. 23 | 24 | * [Madeline Endres](https://madelineendres.com): Conducted a 2024 search for a software engineering position in research academia; accepted a position as a tenure track assisstant professor at the University of Massachusetts, Amherst. 25 | 26 | 27 | Kevin Angstadt and Madeline Endres are the primary 28 | maintainers of this version of the guide (there are older versions out 29 | there, but we anticipate this site to be most up-to-date). 30 | 31 | # Contributing 32 | 33 | We welcome contributions from the community to this guide. The repository is 34 | [hosted on GitHub]({{site.repo}}). If you have any questions about contributing, please email Madeline Endres at . 35 | 36 | ## Contributing Application Materials 37 | 38 | We are always looking for more application material profiles, especially for job-types or job-locations that are currently under-represented in our guide. These materials are hosted on the [Example Materials tab](exampleMaterials.md), and can help students contextualize their application and deal with imposter syndrome. 39 | 40 | If you are interesting in contributing your materials, please fill out our contribution form available [here](https://docs.google.com/forms/d/e/1FAIpQLSdLHwzuCsOcKHNBZBO9LGiWhVZPbcIE5-VpQ5hL8wQcFRAAMQ/viewform?usp=sf_link). This form includes places to upload PDFs of your materials, as well as add any information you'd like to better contextualize your application for readers. In this form, you can also indicate if you'd like to be kept anonymous. All materials are optional -- we greatly appreciate anything you'd be willing to share! 41 | 42 | ## Problems with the Website 43 | 44 | Did you notice something wrong with the website (something not working or a 45 | typo)? Please [create an issue]({{site.repo}}/issues) on our GitHub project. 46 | 47 | # Acknowledgments 48 | 49 | We would like to acknowledge all of our colleagues who have aided (directly and 50 | indirectly) in the creation of this guide. You may safely assume that all of the 51 | good ideas here come from them and that all bad advice comes from us. 52 | 53 | Many wise and wonderful people were kind enough to grant Wes the boon of their 54 | wisdom on this subject. They include, but are not limited to: 55 | 56 | - Alex Aiken (Stanford) 57 | - Ras Bodik (Berkeley) 58 | - Katherine Compton (Wisconsin) 59 | - Richard Fateman (Berkeley) 60 | - Jill Findeis (PSU) 61 | - Stephen Freund (Williams) 62 | - Patrice Godefroid (Bell Labs) 63 | - Sumit Gulwani (Microsoft) 64 | - Tom Henzinger (EPFL) 65 | - Ranjit Jhala (UCSD) 66 | - Iain Keddie (IBM) 67 | - Jim Larus (Microsoft) 68 | - David Liben-Nowell (Carleton) 69 | - Tessa Lau (IBM) 70 | - Rupak Majumdar (UCLA) 71 | - Wayne McMullen (PSU) 72 | - Greg Morrisett (Harvard) 73 | - George Necula (Berkeley) 74 | - Jens Palsberg (UCLA) 75 | - Sriram Rajamani (Microsoft) 76 | - David Shoenthal (Longwood) 77 | - Raj Varma (Delaware) 78 | - Mark Wegman (IBM) 79 | - Donna Weimer (Juniata) 80 | 81 | [Claire](/grad-job-guide/about#authors) did not consult many people for her contributions to this document, as 82 | she modified it after it had long been written. However, beyond [Wes](/grad-job-guide/about#authors), she would 83 | particularly like to acknowledge the support and assistance of: 84 | 85 | - Katie Stolee (Iowa State) 86 | - Yuriy Brun (UMass-Amherst) 87 | - Reid Holmes (Waterloo) 88 | - Ivan Beschastnikh (UBC) 89 | - Stephanie Forrest (UNM) 90 | - John Knight (UVA) 91 | 92 | ... and the many others who offered advice and support throughout her own job 93 | search. 94 | 95 | Zak had a similarly short list of consultations, as he targeted exclusively 96 | industrial research positions and arguably had a more "homogeneous" job search 97 | experience overall: 98 | 99 | - Wes Weimer (UVA) 100 | - Lori Pollock (UD) 101 | - Stephanie Forrest (UNM) 102 | - John Knight (UVA) 103 | - Pieter Hooimeijer (Facebook) 104 | - Ray Buse (Google) 105 | - Joel Coffman (Johns Hopkins APL) 106 | 107 | # License 108 | 109 | The text of this guide is released under the [Creative Commons 110 | Attribution-ShareAlike 4.0 International (CC BY-SA 111 | 4.0)](https://creativecommons.org/licenses/by-sa/4.0/) license. 112 | 113 | This guide includes some publicly-available application materials for comparison 114 | and convenience. You could get them off of archive.org yourself if you so 115 | desired. All application materials remain the property of their respective 116 | authors and are shared here by permission. 117 | -------------------------------------------------------------------------------- /_applying/cover-letter.md: -------------------------------------------------------------------------------- 1 | # Cover Letters 2 | 3 | Getting a cover letter wrong can have significant consequences. A 4 | poorly crafted cover letter can lead to your entire application being misfiled 5 | or overlooked. 6 | 7 | [Claire Le Goues](/grad-job-guide/about#authors), who was Chair of the S3D Tenure Track Hiring Committee at CMU 8 | from 2019 to 2022, has learned that cover letters are much more important now 9 | than they were in prior decades. She suggests that applicants not treat cover 10 | letters as an afterthought. 11 | 12 | Your cover letter should be brief and to the point. It should: 13 | 14 | 1. Quickly introduce who you are (e.g., name, current institution and title). 15 | 2. Specify the job you are applying for (including any reference numbers). 16 | 3. Give a high-level overview of your research focus. 17 | 4. Indicate why you are excited about the position, why you are a good fit, 18 | and why you are likely to accept an offer. 19 | 5. Mention any special circumstances (e.g., two-body problem). 20 | 21 | Limit the overview of your research focus to a paragraph or two; 22 | your [research statement](#research-statement) is the place for detail. 23 | This is particularly important when applying to large schools 24 | that may have many independent 25 | searches but only one application portal. If you find it difficult to 26 | summarize, [Wes](/grad-job-guide/about#authors) recommends prioritizing outcomes (e.g., awards) over 27 | lower-level mechanisms (e.g., mentioning that you use a particular 28 | type of dataflow analysis). **Make it easy for a hiring chair in 29 | your area to quickly realize you're one of theirs!** 30 | 31 | If a portal asks you to select research area keywords, it is to your 32 | advantage to be accurate. At many institutions, different groups of faculty will 33 | read different applications: for example, architecture faculty may read 34 | and evaluate architecture applications. If you are an architecture candidate 35 | who has one theory publication, checking both the architecture and theory boxes runs the risk that your 36 | application will be evaluated by theory professors, who may or may not know if 37 | ASPLOS and MICRO are good venues. This issue can be difficult to navigate for 38 | interdisciplinary applicants, and we recommend talking to your advisor about how to position yourself 39 | and using other mechanisms available to you (such as your cover letter and research statement) to 40 | further clarify your expertise. 41 | 42 | Reasons you are excited about the position can include the type of 43 | school (public vs. private, R1 vs. liberal arts), the location, 44 | specific initiatives or centers related to your research, and 45 | past collaborations you've had with faculty at the institution. 46 | **If someone on the inside told you to apply, be sure to mention it 47 | in your cover letter.** 48 | 49 | [Kevin Leach](/grad-job-guide/about#authors) notes that he prepared a generalized cover letter and then changed 50 | sentences to specialize it to each department, such as by listing faculty he knew. [Kevin Angstadt](/grad-job-guide/about#authors) 51 | notes that teaching-focused and research-focused positions may merit different cover letter contents. 52 | 53 | {% capture quote %} 54 | I was wrong to treat cover letters as unimportant when I was on the market. Especially for applicants to 55 | large departments/schools, they're critical to helping hiring committees 56 | identify candidates relevant to a particular search focus, and ensure 57 | materials are read by people with expertise. 58 | 59 | That said, seriously, please don't go crazy with the detail: make it easy for me to 60 | skim and quickly/accurately figure out your research area. 61 | {% endcapture %} 62 | {% include quote.html content=quote user="legoues" %} 63 | 64 | 65 | For examples of cover letters, see the [Example Materials](/grad-job-guide/exampleMaterials) tab. 66 | -------------------------------------------------------------------------------- /_applying/publications.md: -------------------------------------------------------------------------------- 1 | # Selecting Indicative Publications 2 | 3 | Some schools will ask for you to submit up to three indicative publications. 4 | As discussed earlier, most interviewers will go to your website first to look 5 | at your materials. As a result, the specific publications that you choose 6 | to include in your application may not be too important. 7 | 8 | However, it is worth being a little strategic. We recommend picking publications 9 | that are published in higher-tier venues and align with how you are positioning 10 | yourself on the job market. For example, if you are aiming for Software Engineering 11 | positions, you might want to focus on publications from venues 12 | like the International Conference on Software Engineering (ICSE) or Transactions 13 | on Software Engineering (TSE) that you plan to focus on in your job talk. 14 | We recommend that you include at least one first-authored paper. However, 15 | not all of them need to be first-authored (at least if you are in PL or SE). -------------------------------------------------------------------------------- /_applying/resume.md: -------------------------------------------------------------------------------- 1 | # Preparing Your Resume 2 | 3 | Resume-writing is well-established, although many of the standard 4 | techniques aren't as applicable at the Ph.D. level. For example, it's our 5 | impression that your previous work experience may not matter as much. 6 | Instead, you 7 | want to emphasize your publications and any teaching experience you might 8 | have. Also list all of your references---sometimes people 9 | actually call your references to get more information. 10 | 11 | A typical academic resume contains sections for publications, teaching, 12 | and service (e.g., paper reviewing, serving on departmental committees, or 13 | conference organizing). You might also include information on your 14 | experience with grant-writing, research mentorship, industrial internships, 15 | and any media coverage of your research. 16 | 17 | Here are some concrete tips for organizing your resume or CV: 18 | 19 | * **Have an Opening Tag Line:** We recommend using a short phrase at the top 20 | of your resume to contextualize your application. For example, 21 | [Madeline](/grad-job-guide/about#authors) led with: 22 | 23 | > Combining **software engineering** with human factors and **programming 24 | languages** techniques to **improve programmer productivity and wellbeing** 25 | 26 | * **Emphasize Publications:** Your publications and publication venues are 27 | very important. We recommend summarizing your publications in a 28 | sentence or two. As one example, [Madeline](/grad-job-guide/about#authors) wrote: 29 | 30 | > 16 peer-reviewed publications: 13 conference papers (ICSE, 31 | ESEC/FSE, PLDI, ASE, OOPSLA, etc.) including a distinguished 32 | paper award at ESEC/FSE, 3 peer-reviewed workshop papers. Four papers 33 | with undergraduate advisees, including three with student first 34 | authors. Three papers with interdisciplinary collaborators. 35 | 36 | [Wes](/grad-job-guide/about#authors) did not include this type of summary. If he were to apply again, he would 37 | include one because he saw people at interviews skim his resume for exactly 38 | this summary while he sat before them. 39 | 40 | * **Separate by Publication Type:** We recommend organizing your 41 | publications by type (e.g., "Journal Articles," "Refereed Conference 42 | Publications," "Invited Articles", "Workshops," etc.). Listing all 43 | publications chronologically without distinguishing by venue 44 | type can appear disingenuous, and it can be annoying for the reader 45 | to spend time mentally sorting the list (since workshops 46 | "count less" than other venue types). To that end, be sure to separate short/workshop from full conference/journal publications. 47 | Claire included journal impact factors and conference 48 | acceptance rates. She also highlighted venue acronyms and applicable 49 | awards in the left-hand column of her publication list. These 50 | decisions were intended to make her CV easier to scan for this type 51 | of information, because interviewers look for it. 52 | 53 | * **Consider Section Summaries:** 54 | [Kevin Leach](/grad-job-guide/about#authors) had applied to jobs as a 55 | "cross-disciplinary" researcher with a few years of postdoctoral experience. 56 | This led to a complicated list of publications and grants. 57 | Kevin found it helpful to have summaries at the top of each section to 58 | highlight which venues were relevant to which areas, which classes he had 59 | taught, and which grants were received at each institution. 60 | 61 | * **Teaching Qualifications:** If you are applying for teaching 62 | positions (e.g., top-tier teaching academia, liberal arts 63 | college, instructor position), you should highlight your teaching 64 | qualifications---such as courses taught, courses designed, and numerical 65 | evaluation scores---early in your resume. 66 | 67 | As with reserach-focused position, the selectivity of a teaching-focused 68 | position will vary with context, including the quality and reputation 69 | of the school. For top-tier liberal arts colleges, 70 | [Wes](/grad-job-guide/about#authors)'s were the bare 71 | minimum required (e.g., they sufficed to get him an interview at 72 | Wesleyan) but they were mentioned as a concern (until he was able to 73 | convince them with his presentation) and he has no doubt that other teaching 74 | places rejected him because of them. By contrast, 75 | [Kevin Angstadt](/grad-job-guide/about#authors)'s 76 | and 77 | [Hammad Ahmad](/grad-job-guide/about#authors)'s materials represent more of 78 | an upper bound, resulting in very successful searches with multiple offers. 79 | 80 | Teaching jobs will also want multiple 81 | numerical evaluations. For example, [Wes](/grad-job-guide/about#authors) was asked explicitly what his numerical teaching 82 | evaluations were at Wesleyan, committees are also quite serious about it at other departments. 83 | 84 | **The importance of your resume:** At many institutions, your resume 85 | might be the only document that makes it through the application process 86 | to the interviewers. During interviews, [Wes](/grad-job-guide/about#authors) often observed people 87 | reviewing his resume as he entered the room or while he was sitting 88 | down. In contrast, his research statement was rarely mentioned. 89 | [Claire](/grad-job-guide/about#authors) had similar experiences but notes that at some schools, 90 | interviewers had read at least one of her publications before meeting 91 | with her. 92 | 93 | **Example Resumes:** For concrete examples of resumes and CVs, see the 94 | [Example Materials](/grad-job-guide/exampleMaterials) tab. 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /_applying/submitting.md: -------------------------------------------------------------------------------- 1 | # Submitting Your Application 2 | 3 | Nothing surprising here. Email it in or otherwise make use of the online form 4 | system in question. Often they will ask for everything to be in PDF 5 | format. Sometimes they'll even want everything in a single PDF file, so be 6 | prepared to be able to combine PDFs if needed. 7 | 8 | {% capture quote %} 9 | 10 | I found it helpful to just make a copy of my materials 11 | for each institution, then edit the copy accordingly. Version control 12 | was also super helpful -- since the application process spanned months, 13 | some of my materials changed slightly over time. By the time my 14 | interviews were scheduled, I found it really helpful to be able to "go 15 | back in time" to recall which materials I had submitted where. 16 | 17 | {% endcapture %} 18 | {% include quote.html content=quote user="kleach" %} 19 | 20 | 21 | Now that you have written and submitted your application materials, the next step is [interviewing](/grad-job-guide/interviewing)!. 22 | 23 | 24 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | 2 | # Site settings 3 | # These are used to personalize your new site. If you look in the HTML files, 4 | # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. 5 | # You can create any custom variable you would like, and they will be accessible 6 | # in the templates via {{ site.myvariable }}. 7 | 8 | title: "CS Grad Job and Interview Guide" 9 | author: "Kevin Angstadt" 10 | author2: "Madeline Endres" 11 | email: kangstadt@stlawu.edu 12 | email2: mendres@umass.edu 13 | description: >- # this means to ignore newlines until "baseurl:" 14 | This document summarizes experience, opinions, and advice (and advice received 15 | from others) on looking for jobs in academia and industrial research labs in the 16 | field of computer science. 17 | baseurl: "/grad-job-guide" # the subpath of your site, e.g. /blog 18 | url: "https://csguides.github.io" # the base hostname & protocol for your site, e.g. http://example.com 19 | # twitter_username: 20 | github_username: csguides 21 | # google_analytics: G-PNQ65W15RF # kevin's 22 | google_analytics: G-V6DRFB5162 # Maddy's 23 | 24 | repo: https://github.com/csguides/grad-job-guide 25 | comments: false 26 | 27 | header_pages: 28 | - index.md 29 | - jobs.md 30 | - applying.md 31 | - interviewing.md 32 | - deciding.md 33 | - misc.md 34 | - exampleMaterials.md 35 | - about.md 36 | 37 | footer_pages: 38 | - about.md 39 | 40 | # Build settings 41 | plugins: 42 | - jeckyll-last-modified-at 43 | - jekyll-sitemap 44 | 45 | sass: 46 | style: compact 47 | 48 | # Exclude from processing. 49 | # The following items will not be processed, by default. 50 | # Any item listed under the `exclude:` key here will be automatically added to 51 | # the internal "default list". 52 | # 53 | # Excluded items can be processed by explicitly listing the directories or 54 | # their entries' file path in the `include:` list. 55 | # 56 | # exclude: 57 | # - .sass-cache/ 58 | # - .jekyll-cache/ 59 | # - gemfiles/ 60 | # - Gemfile 61 | # - Gemfile.lock 62 | # - node_modules/ 63 | # - vendor/bundle/ 64 | # - vendor/cache/ 65 | # - vendor/gems/ 66 | # - vendor/ruby/ 67 | -------------------------------------------------------------------------------- /_data/README.md: -------------------------------------------------------------------------------- 1 | Make sure to update this Yml file, and also update assets/contributors.json 2 | -------------------------------------------------------------------------------- /_data/people.yml: -------------------------------------------------------------------------------- 1 | # This file contains configuration information for each dossier hosted on the 2 | # grad job guide. 3 | # 4 | # Materials should be placed under `assets/materials/` 5 | # where is a unique identifier for each contributor. We recommend using 6 | # your last name as the id, but in the case of conflicts, additional information 7 | # (e.g., first initial) may be necessary. 8 | # 9 | # Please only submit PDF documents 10 | 11 | ###################################### 12 | # Dossier Fields # 13 | ###################################### 14 | # 15 | # Per standard YAML syntax, each dossier begins with a hyphen (-) to denote an 16 | # item in the list. Indented under this hyphen are the following fields 17 | # 18 | # ** Required ** 19 | # 20 | # id: unique identifier (typically last name); must be the same as the assets 21 | # directory 22 | # display: the name that should appear on the guide's pages 23 | # employer: current employer 24 | # 25 | # ** Optional ** 26 | # *note* that these are all realative to `assets/materials/` 27 | # 28 | # cycle: Academic year of the job search (e.g., Wes is 2004-2005) 29 | # target: a comma-separated list of job target tags. Please choose from the 30 | # following: 31 | # - research: research academia 32 | # - teaching: teaching academia (e.g., lecturer, professor of practice) 33 | # - slac: small liberal arts colleges 34 | # - industry: industrial research or development 35 | # - postdoc: postdoctoral researcher 36 | # timeline: name of json file containing interview timeline 37 | # resume: a list of resume files; each item contains upt to two pieces: 38 | # file: the file name of the resume 39 | # description: (optional) text displayed on the guide describing this item 40 | # research: a list of research statements (see resume) 41 | # teaching: a list of research statements (see resume) 42 | # diversity: a list of diversity statements (see resume) 43 | # cover: a list of cover letters (see resume) 44 | # 45 | # *note* only include multiple statements if there is something noticably 46 | # different that you wish to draw attention to 47 | 48 | ##################################### 49 | # Author Fields # 50 | ##################################### 51 | # 52 | # Authors have a few extra fields for configuration: 53 | # avatar: image file for use in quotes 54 | # color: color of the speech bubble 55 | 56 | # Authors (with dossiers) 57 | 58 | - id: weimer 59 | display: Wes Weimer 60 | employer: University of Michigan 61 | avatar: weimerw.jpg 62 | color: "#990033" 63 | cycle: "2004-2005" 64 | timeline: timeline.json 65 | target: Research Academia, Teaching Academia, and Industrial Research Positions 66 | resume: 67 | - file: weimer-resume.pdf 68 | research: 69 | - file: weimer-research.pdf 70 | teaching: 71 | - file: weimer-teaching.pdf 72 | cover: 73 | - file: weimer-cover-letter.pdf 74 | description: Generic 75 | - file: weimer-cover-letter-umass.pdf 76 | description: UMass-Amherst, including job search number 77 | 78 | - id: legoues 79 | display: Claire Le Goues 80 | employer: Carnegie Mellon University 81 | avatar: claire.jpg 82 | color: "#0099FF" 83 | cycle: "2012-2013" 84 | target: Research Academia and Industrial Research Positions 85 | timeline: timeline.json 86 | resume: 87 | - file: legoues-cv.pdf 88 | research: 89 | - file: legoues-research-statement.pdf 90 | teaching: 91 | - file: legoues-teaching-statement.pdf 92 | 93 | 94 | - id: fry 95 | display: Zak Fry 96 | employer: GrammaTech 97 | avatar: zak.jpeg 98 | color: "#008000" 99 | cycle: "2013-2014" 100 | target: Industrial Research Positions 101 | resume: 102 | - file: fry-cv.pdf 103 | research: 104 | - file: ZakFry_ResearchStatement.pdf 105 | 106 | - id: angstadt 107 | display: Kevin Angstadt 108 | employer: St. Lawrence University 109 | avatar: angstadt.jpg 110 | color: "#993300" 111 | cycle: "2019-2020" 112 | timeline: timeline.json 113 | target: Teaching Academia and Instructor Positions 114 | resume: 115 | - file: angstadt-cv-f2019.pdf 116 | description: Organized for a teaching-focused application 117 | research: 118 | - file: angstadt-research-statement.pdf 119 | description: Targets an undergraduate-serving institution 120 | teaching: 121 | - file: angstadt-teaching-philosophy.pdf 122 | description: Long-format more suitable for teaching-focused positions 123 | - file: angstadt-teaching-diversity-philosophy.pdf 124 | description: Includes brief diversity statement 125 | - file: angstadt-teaching-philosophy-grad.pdf 126 | description: Short-format used for research-focused positions 127 | diversity: 128 | - file: angstadt-diversity-statement.pdf 129 | cover: 130 | - file: angstadt-bowdoin-cover-letter.pdf 131 | description: Bowdoin College, organized for teaching-focused job posting 132 | 133 | - id: kleach 134 | display: Kevin Leach 135 | emloyer: Vanderbilt University 136 | avatar: kleach.jpg 137 | color: "#ff9933" 138 | cycle: "2020-2021" 139 | timeline: timeline.json 140 | target: Research Academia and Instructor Positions 141 | resume: 142 | - file: kleach-cv-2020.pdf 143 | description: Organized for a tenure-track position. I used this both for teaching- and tenure-track positions. 144 | research: 145 | - file: kleach-research-statement.pdf 146 | description: Tenure-track research statement. 147 | teaching: 148 | - file: kleach-teaching-statement.pdf 149 | description: Two pages, plus a table of teaching at the end. I spent a good deal of postdoc time teaching. 150 | diversity: 151 | - file: kleach-diversity-statement.pdf 152 | cover: 153 | - file: kleach-cover-letter.pdf 154 | description: I generalized the letter here. Each submission included additional sentences specific to the department (e.g., faculty I knew of). 155 | 156 | - id: endremad 157 | display: Madeline Endres 158 | emloyer: University of Massachusetts Amherst 159 | avatar: Endres_headshot.jpeg 160 | color: "#7600bc" 161 | cycle: "2023-2024" 162 | target: Research Academia Positions 163 | resume: 164 | - file: Endres_cv_feb.pdf 165 | research: 166 | - file: Endres_researchStatement.pdf 167 | description: Tenure-track research statement. 168 | teaching: 169 | - file: Endres_teachingStatement.pdf 170 | description: Three pages, split between classroom instruction and graduate student mentoring. 171 | diversity: 172 | - file: Endres_diversityStatement.pdf 173 | cover: 174 | - file: Endres_coverLetter.pdf 175 | description: Generalized cover letter. 176 | 177 | 178 | ################################################################################ 179 | # Dossiers begin here (add to end of list) 180 | 181 | - id: begel 182 | display: Andy Begel 183 | employer: Microsoft Research 184 | resume: 185 | - file: begel-cv.pdf 186 | research: 187 | - file: begel-research.pdf 188 | teaching: 189 | - file: begel-teaching.pdf 190 | 191 | - id: jhala 192 | display: Ranjit Jhala 193 | employer: UCSD 194 | research: 195 | - file: Jhala-Research.pdf 196 | teaching: 197 | - file: Jhala-Teaching.pdf 198 | cover: 199 | - file: rj-cover-generic3.pdf 200 | 201 | - id: lerner 202 | display: Sorin Lerner 203 | employer: UCSD 204 | resume: 205 | - file: lerner-cv.pdf 206 | research: 207 | - file: lerner-research.pdf 208 | teaching: 209 | - file: lerner-teaching.pdf 210 | 211 | - id: whaley 212 | display: John Whaley 213 | employer: UnifyID 214 | resume: 215 | - file: whaley-cv.pdf 216 | research: 217 | - file: whaley-research.pdf 218 | teaching: 219 | - file: whaley-teaching.pdf 220 | 221 | - id: hammada 222 | display: Hammad Ahmad 223 | timeline: timeline.json 224 | cycle: 2023-2024 225 | target: Teaching Academia and Instructor Positions 226 | -------------------------------------------------------------------------------- /_deciding/deadlines.md: -------------------------------------------------------------------------------- 1 | # Deadlines and Hard-Sell Tactics 2 | 3 | Official offers will often come with deadlines, especially if you are the 4 | institution's current first choice but they have others "in line" in case you 5 | reject the offer. This can lead to uncomfortable situations where you have to 6 | decide on one offer without knowing about your other potential offers. 7 | 8 | It is basically impossible to avoid this by scheduling all of your interviews in 9 | one massive clump. Your interview offers will trickle in at a varying rate, and 10 | even if all of the dates are available for you, not all of 11 | the dates will be available at every university. Moreover, 12 | the practical limit is about 2.5 interviews per week -- and 2 is much 13 | more reasonable. The travel time and the effort of being "on" for the 14 | entire interview are hard to appreciate until you've actually done it. [Claire](/grad-job-guide/about#authors) 15 | only had one 2-interview week, and she strongly encourages you to avoid it. 16 | 17 | Another way to cope is to ask for more time. If you explain the situation 18 | honestly, many places will push back their deadlines. For example, Purdue was 19 | willing to push their deadline for [Wes](/grad-job-guide/about#authors) back to effectively May 2. 20 | Unfortunately, that can often still not be long enough (it wasn't for [Wes](/grad-job-guide/about#authors), as 21 | his timeline indicates). Waterloo extended [Claire](/grad-job-guide/about#authors)'s decision deadline to give 22 | her the chance to do a second visit at UIUC. 23 | 24 | Finally, certain classes of offers rarely come with deadlines. Industrial 25 | research labs (e.g., IBM and Microsoft) can typically afford to sit on an offer 26 | for as long as you would reasonably like once it has been extended to you. 27 | [Claire](/grad-job-guide/about#authors)'s Lincoln Labs offer had a basically infinitely-extensible deadline. 28 | Similarly, some academic offers effectively say "you are our first choice and 29 | there is no one we will extend an offer to this year if you turn us down, so 30 | take as long as you like to think about it." 31 | 32 | That said, it is reasonable to turn down a position as soon as you know you 33 | are not going to accept it. You don't have to/shouldn't wait until right up 34 | against their deadline "just to be polite." The sooner they know, the easier it 35 | is for them to make an offer to their next-favorite candidate. 36 | 37 | {% capture quote %} 38 | It is my *personal opinion* (as opposed to the rest of this, but this 39 | bit is really an editorial) that any offer with a deadline that you view as too 40 | restrictive should be rejected. I realize that there are economic realities and 41 | that most offers come with eventual deadlines, but you owe it to yourself to 42 | check out all of your options. In essence, an offer that says "you're so 43 | impressive to us that I want you to come here, get tenure, and work with us for 44 | the rest of your life, but I'm not willing to give you another two weeks to get 45 | all of the relevant information and think about things" is saying "I don't want 46 | you to use you brain or it isn't worth it to me to let you use you brain, and I 47 | think that my best shot at hiring you involves pressuring you into a situation 48 | where you will make a snap judgment in my favor." Morality and honor typically 49 | involve restricting your actions for some higher goal and often come with a 50 | price (e.g., deciding not to steal rules out a bunch of actions that could get 51 | you more money, choosing not to lie can make it difficult to explain certain 52 | situations). For me, the price of potentially losing a more lucrative (or 53 | otherwise better-appearing) potential job is one that I am willing to pay in 54 | order to take the "honorable" action of avoiding such hard sell tactics. In the 55 | end, I wouldn't want to work at a place that didn't want me to take my time and 56 | use my mind when considering where to work. 57 | {% endcapture %} 58 | {% include quote.html content=quote user="weimer" %} 59 | 60 | {% capture quote %} 61 | I feel perhaps slightly less strongly on this issue, though I 62 | never faced the choice of having to turn down one offer without another offer in 63 | hand. I have been told by various people that this behavior is more common from 64 | and attractive to "lower ranked" schools, because they typically have to work 65 | harder to interview and attract candidates. Put differently: Stanford can be 66 | reasonably confident that a candidate will accept their offer. 67 | Ranked-75th-University may have to put out more offers to get a bite. 68 | This is a difficult feature of the job search and I wish schools 69 | could synchronize their schedules a bit more to avoid it; but ultimately, a 70 | system like the medical school "match" process disadvantages applicants (it's an 71 | explicitly legal cartel!), so we may just have to accept that we live in the 72 | best of all possible worlds. 73 | {% endcapture %} 74 | {% include quote.html content=quote user="legoues" %} 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /_deciding/deciding.md: -------------------------------------------------------------------------------- 1 | # Deciding 2 | 3 | If you're having a hard time deciding, it's quite legitimate to go on a second 4 | visit (or two). [Claire](/grad-job-guide/about#authors) found these quite informative. She and her partner went 5 | on such visits together and arranged a "date night" at each one in an effort 6 | to simulate what it might be like to live in the place in question. As 7 | mentioned, [Claire](/grad-job-guide/about#authors)'s partner also did onsite interviews with companies or otherwise consulted 8 | with department members or others about employment opportunities on such visits. 9 | 10 | {% capture quote %} 11 | Talk to everyone. Don't forget to consult yourself. I 12 | can't really help you here generically. 13 | {% endcapture %} 14 | {% include quote.html content=quote user="weimer" %} 15 | 16 | {% capture quote %} 17 | I waited to have complete information for all offers before 18 | making a decision. I also asked for advice from as many people as possible, 19 | though for the most part this didn't help. I did not choose my position on rank 20 | alone, and it's unlikely that you should. [Wes](/grad-job-guide/about#authors) suggests that I should say more 21 | on this because I ended up at highly-ranked CMU. This decision is mostly 22 | related to what matters to you in life and what makes you happy. I 23 | sincerely believe that I could have worked and lived happily in all of my 24 | options. In the end, some combination of department quality and 25 | composition and, very critically, location, led CMU to win the day. I like 26 | cities, and Pittsburgh is cool, and it is conveniently located for both my 27 | family and my partner's family. It also has a fairly large tech scene, 28 | allowing my spouse to get a job. The fact that CMU CS is a highly ranked 29 | department was not irrelevant, but it is not the only reason I accepted the 30 | position. 31 | 32 | I found deciding very difficult. You will end up connecting, hanging out, 33 | and talking with a large number of people at every school, and it's hard to turn 34 | down new friends. One aspect of the job decision process that surprised me was 35 | how much time I spent on the phone with faculty at various departments, 36 | discussing their lives. Unlike negotiation, writing the "turn down the offers" 37 | emails never got any easier. 38 | {% endcapture %} 39 | {% include quote.html content=quote user="legoues" %} 40 | 41 | 42 | {% capture quote %} 43 | Talk to everyone, several times. I 44 | had my mind made up based on my assumptions about both places from which I 45 | had offers. After talking to [Wes](/grad-job-guide/about#authors) a lot, I was contacted by the place I had 46 | decided not to go to and, after two subsequent conversations, I now work 47 | there. It's impossible to ask all the right questions or get all the 48 | information about any given place, but if you have concerns about a certain 49 | place then talk to them about it. They should be more than eager to talk to 50 | you about things (if not, that's a bad sign) and you might find that you 51 | made hasty, or even incorrect, assumptions in this difficult, emotional 52 | time. 53 | {% endcapture %} 54 | {% include quote.html content=quote user="fry" %} 55 | 56 | {% capture quote %} 57 | Having a dual-career situation made this really difficult. In addition, 58 | all of our interviews were remote during COVID-19, and we only visited one 59 | place in-person. My advice is to visit places multiple times if 60 | possible (you can also negotiate for extensions on offers if you ask to 61 | visit again in person, though this may be a bigger ask post-COVID). 62 | 63 | We tried to characterize what we wanted both together and 64 | separately. Clear communication is key -- we had to eliminate offers 65 | that were not good for both of us even though they were optimal for one 66 | of us. 67 | {% endcapture %} 68 | {% include quote.html content=quote user="kleach" %} 69 | -------------------------------------------------------------------------------- /_deciding/rejection.md: -------------------------------------------------------------------------------- 1 | # Dealing With Rejection 2 | 3 | After you have had an interview with a place there are basically only two 4 | reasons for them to reject you: 5 | 6 | - They "couldn't build a consensus." Variants on this phrase are common. 7 | - You were their second or third choice, and one of the candidates they offered 8 | the job to first, accepted. 9 | 10 | Many of the factors that can lead those situations have nothing to do with you. 11 | For example, research area is often a big concern in hiring. If there's only one 12 | position available, and there was also a really amazing Theory candidate, and 13 | the existing theory faculty won the argument, you may be out of luck, no matter 14 | how great you were. 15 | 16 | Additionally, hiring decisions aren't _typically_ decided by a strict majority 17 | vote. A new hire is a big investment of departmental time and energy, especially 18 | since they'll (hopefully) be around for a long time (e.g., with tenure). It's 19 | therefore important that everyone be more or less on board. Perfect agreement 20 | amongst a group of professors is rare-to-unheard-of, but if more than a couple 21 | of people are relatively less enthusiastic (or a couple of people are opposed 22 | outright), no matter the reason, a department is unlikely to be able to make an 23 | offer. 24 | 25 | Rejection can be hard. Try to remember that the fact that you were offered an 26 | interview at all means that at least a few people there think highly of you, and 27 | almost certainly still do. 28 | 29 | You should tread carefully in the time period after your interviews but 30 | before your official offers. Many department chairs have told [Wes](/grad-job-guide/about#authors) that they 31 | view it as part of their job (or their responsibility to the department) to 32 | put the brightest face on this possible and essentially to "string you 33 | along" or "never say no" (and thus keep as many good options for the 34 | department open as possible). Thus a department chair saying "we're still 35 | deliberating" may well mean "we've made a job offer to someone else already 36 | and we're waiting to see how that goes". It has been suggested that 37 | grad students who are naive about the interview process will interpret 38 | "we'll get back to you in a week or two" the wrong way and may thus end up 39 | waiting too long for a job offer that never arrives. In such a case you 40 | should talk to your host or other department members in your area to get 41 | the inside scoop. 42 | 43 | {% capture quote %} 44 | It is my *personal opinion (and experience)* that this isn't really 45 | the case. All of the places that said to me variants of "we're still 46 | interviewing candidates and we'll have our faculty meeting to decide in 2 47 | weeks" ended up making me an offer in 2 weeks -- it wasn't some sort of 48 | smokescreen. Similarly, places that didn't think they were going to be able 49 | to make me an offer (e.g. McGill) told me the rumor early (e.g., "we're 50 | having trouble building consensus, I can't give you any reason to wait for 51 | us") when I asked -- long before they sent an official reject letter. 52 | This is another case where being more direct or honorable can cost you job offers. 53 | I was willing to deal with people in good faith and assume that they were 54 | not lying to me when they said they would get back to me later. For me it 55 | turned out that they were not lying, but I was willing to take the risk 56 | that they were (and thus that I would wait too long for something that 57 | would never materialize and lose my good offers along the way). A place 58 | that mentions that they play the "positive spin, never say no" game may 59 | well be dealing intelligently with a harsh economic reality, but you may 60 | not want to work there (cf. office politics). 61 | {% endcapture %} 62 | {% include quote.html content=quote user="weimer" %} 63 | 64 | {% capture quote %} 65 | Similarly, I found that most 66 | schools and chairs were very straightforward with my position on their 67 | "list" and the likelihood of an offer. 68 | {% endcapture %} 69 | {% include quote.html content=quote user="legoues" %} 70 | 71 | {% capture quote %} 72 | I found chairs to be fairly straightforward, especially in light of a 73 | dual-career search. 74 | 75 | While most institutions would notify us together of decisions affecting 76 | the other, I did find that some institutions would 77 | transitively notify one body of another's decision. That is, I had to hear 78 | from my wife that both our applications were rejected, and vice versa. 79 | {% endcapture %} 80 | {% include quote.html content=quote user="kleach" %} 81 | -------------------------------------------------------------------------------- /_deciding/timelines.md: -------------------------------------------------------------------------------- 1 | # The Waiting Game 2 | 3 | You probably submitted your materials in the fall semester. However, for 4 | research-focused roles, you 5 | won't really hear anything from anyone until at least the middle of January when 6 | the faculty can get together and review the applications. Be sure to check your 7 | email during this time, including your spam folder! At the end of 8 | December 2004, Michigan sent [Wes](/grad-job-guide/about#authors) an email saying that there was a mix up with his 9 | application and asking him to resend his letters of recommendation. Unfortunately, 10 | it was sorted to his spam folder and he didn't find it until March, at which 11 | point it was too late. Try to avoid losing potential interviews for reasons not 12 | related to your merits. 13 | 14 | While you're waiting you may receive a bunch of emails that say "we 15 | received your application, we're starting a folder for it" or "we have 16 | received all of your letters of recommendation". 17 | 18 | {% capture quote %} 19 | Try to resist compulsively checking your website's stats 20 | on where your pageviews are coming from, because it will not make you feel 21 | better, even though it is at least a little bit fascinating. 22 | {% endcapture %} 23 | {% include quote.html content=quote user="legoues" %} 24 | 25 | {% capture quote %} 26 | I disabled my google analytics so that I would stop obsessing over them! 27 | It really helped my mental health. 28 | {% endcapture %} 29 | {% include quote.html content=quote user="endremad" %} 30 | 31 | ## Example Timelines 32 | 33 | Here are several application timelines (including information about acceptances and rejections): 34 | 35 | {% include timeline.html %} 36 | 37 | There are a few things to notice about these otherwise-boring timelines: 38 | - The spread of dates on the interview 39 | invitations is wide. Between [Wes](/grad-job-guide/about#authors)'s first (Jan 11) and last (Apr 40 | 4) there were almost three entire months. 41 | - Even the spread between an interview invitation and an offer from one 42 | department can be long (see: [Claire](/grad-job-guide/about#authors) and Georgia Tech). Sometimes you are 43 | the first of many candidates to interview. Other times, you are choice #3 44 | for a department with two slots, and they need to make offers to options #1 and 45 | #2 first. It is legitimate to email your host or the chair to let them 46 | know about your other deadlines. 47 | - Many official offers will require answers before 48 | you have heard all of your offers, conducted all of your interviews (such as 49 | Purdue for [Wes](/grad-job-guide/about#authors) or NC State or UNM for [Claire](/grad-job-guide/about#authors)), or even received all of your 50 | interview invitations. CMU called to invite [Claire](/grad-job-guide/about#authors) to interview *after she 51 | had concluded what she thought was her last interview (WUSTL).* You may be 52 | forced into the uncomfortable position of rejecting a "known good" offer in 53 | favor of only the potential of a better offer later. This can be scary, and if 54 | you get the one job you really want you should take it, but [Claire](/grad-job-guide/about#authors) notes the 55 | opportunities she would have missed if she'd signed an offer too early. See 56 | below on hard-sell tactics. 57 | - Sadly, explicit rejection notices are rare (especially 58 | without an interview) and are rarely early. Many places just never get back to 59 | you. [Claire](/grad-job-guide/about#authors) didn't even track which schools that did not interview her 60 | officially rejected her and when. 61 | 62 | {% capture quote %} 63 | I will elide my timeline, as it does 64 | not add much beyond the information already present. 65 | However, to echo an earlier point: the industrial positions I 66 | applied to did not follow a very neat schedule. I had to ask to extend an 67 | offer by more than a month to allow for ample time to hear back from 68 | other companies. The company in question was mostly happy to oblige a 69 | reasonable extension (as I'm told most are), but this is a part of the 70 | process to be aware of, as it can be tedious. I'd agree with [Wes](/grad-job-guide/about#authors)'s 71 | sentiments that any place that imposes an overly strict deadline may not be 72 | a fun place to work, unless they are in a very advantageous bargaining 73 | position. 74 | {% endcapture %} 75 | {% include quote.html content=quote user="fry" %} 76 | 77 | {% capture quote %} 78 | I applied during the COVID-19 pandemic. My timeline differs 79 | substantially in that I generally found it to be more accelerated. My 80 | phone screens were all Zoom calls and occurred fairly early. My first 81 | real interview was the first week of January. 82 | 83 | I also applied to both teaching and tenure-track positions to be 84 | flexibile with my wife's concurrent tenure-track search. All told, we 85 | each interviewed at more than 15 institutions, most of which overlapped. 86 | We received 5 official joint offers, 3 of which were for tenure-track 87 | positions. We also received 3 more verbal joint tenure-track offers 88 | before ultimately deciding on Vanderbilt. 89 | {% endcapture %} 90 | {% include quote.html content=quote user="kleach" %} 91 | -------------------------------------------------------------------------------- /_exampleMaterials/cardFiltering.md: -------------------------------------------------------------------------------- 1 | 2 | # Searchable Materials 3 | 4 |
5 |
6 |
7 | 8 |
9 |
10 | 11 |
12 |
13 |
14 |
15 |
16 |
17 |
Tag Search Type
18 | 22 |
23 | AND 24 | OR 25 |
26 |
27 |
28 |
29 | 30 | 31 | 32 |
33 | 34 |
35 | 36 |

Full Application Profiles

37 |
38 | 39 |
40 |
41 | 42 | 43 |
44 |

Title

45 |

Cycle

46 | 47 |
48 | 49 | 52 |
53 | -------------------------------------------------------------------------------- /_exampleMaterials/contributionGuide.md: -------------------------------------------------------------------------------- 1 | # Comparisons, Nuance, and A Technique 2 | 3 | While these example materials can be helpful, we encourage you to consider them 4 | with care, lest they mislead you. [Wes](/grad-job-guide/about#authors) notes 5 | that most academics suffer from [imposter 6 | syndrome](https://en.wikipedia.org/wiki/Impostor_syndrome). Other job 7 | applicants' materials can easily lead to a mental trap wherein you read them and 8 | think "I have fewer publications than Person A and less teaching experience than 9 | Person B, I'll never get a job!" You may not have noticed that Person A had no 10 | teaching experience, or that Person B, no service contributions. Beware of 11 | comparing your entire self to only the best attributes of others, and remember 12 | that application materials serve to highlight the best, most hirable properties 13 | of a candidate. They effectively never include mistakes, failures or 14 | weaknesses. (Consider Melanie Stefan's notion of a [CV of 15 | Failures](https://www.nature.com/articles/nj7322-467a) as a useful contrast!) 16 | 17 | This page provides neither a random nor indicative sample of applicants, and the 18 | materials are biased towards top-tier outcomes across multiple categories of 19 | positions. These may be the right kinds of jobs for you to consider, but they 20 | also might not be, for your career and personal goals! As a concrete example, Stephanie Forrest 22 | received R1 tenure-track offers from both the University of Michigan and also 23 | the University of Arizona and accepted the offer at Arizona because it was a 24 | better fit for her context. 25 | 26 | In evaluating your own choices and possible outcomes, we encourage you to 27 | consider: 28 | - _Opportunity costs_ relative to the job you're actually seeking. 29 | There is simply not enough time to do everything during your 30 | graduate career. If you are looking for a 31 | teaching-focused position, at a certain point, serving as instructor of record 32 | in a course may be more useful than any number of additional peer-reviewed 33 | publications. Conversely, if you are looking for an industrial research 34 | position, spending a summer or two interning is likely much more useful than 35 | teaching a class. Etc. 36 | - Grounded information about the relationship between department selectivity and general 37 | applicant profile. Leaving aside the 38 | (important) conversation about whether rankings mean anything/are moral/useful, 39 | etc, higher-ranked/"bigger-named" institutions often, on average, expect "more" of 40 | successful faculty applicants. 41 | One way you can get a feeling for this in academia is to go to the 42 | websites of schools you are considering, find recently-hired 43 | faculty, download their CVs/check DBLP, and then _only consider the resume 44 | items and publications they had by the year they were hired_. For example, you 45 | might compare recently-hired faculty at the University of Michigan to 46 | those at the Univeristy of New Mexico to develop a broad sense 47 | of expectations. 48 | 49 | The latter suggestion serves to help you mitigate your imposter syndrome while 50 | giving you the information necessary to make good job search and career choices. 51 | [Wes](/grad-job-guide/about#authors) recommends that applicants seeking 52 | academic jobs sit down (perhaps with their advisors) and determine that "on 53 | average, my record is comparable to people who are hired at schools ranked 54 | XYZ". Then start, as a baseline, by applying to other schools in a 55 | distribution around XYZ, but also include some "safety schools" that may be less 56 | selective, and some "aspirational schools" that may be more selective, plus 57 | schools that are particularly interested in (e.g., are building a center in, 58 | have a history of strength in, etc.) an area that aligns with their expertise. 59 | 60 | {% capture quote %} 61 | This guide originally started as a more internal project with a smaller scope 62 | (e.g., writing down advice we would share with friends 63 | seeking certain types of jobs). It has grown to reach a wider 64 | audience, but some aspects of it (e.g., some of the older materials, some of the 65 | framing and writing) still have that old bias. I recommend that you 66 | not view these materials as 67 | a lower bound when considering your own situation; instead, you should view them 68 | as upper bounds. 69 | {% endcapture %} 70 | {% include quote.html content=quote user="weimer" %} 71 | 72 | # How to Contribute Materials 73 | 74 | We are always looking for more application material profiles, especially for job-types or job-locations that are currently under-represented in our guide. 75 | 76 | If you are interesting in contributing your materials, please fill out our contribution form available [here](https://docs.google.com/forms/d/e/1FAIpQLSdLHwzuCsOcKHNBZBO9LGiWhVZPbcIE5-VpQ5hL8wQcFRAAMQ/viewform?usp=sf_link). This form includes places to upload PDFs of your materials, as well as add any information you'd like to better contextualize your application for readers. In this form, you can also indicate if you'd like to be kept anonymous. All materials are optional -- we greatly appreciate anything you'd be willing to share! 77 | 78 | If you have any questions about contributing, please email Madeline Endres at . 79 | -------------------------------------------------------------------------------- /_exampleMaterials/overview.md: -------------------------------------------------------------------------------- 1 | # Overview of Materials 2 | 3 | Writing application materials for post-doctoral positions can be challenging. 4 | To help you get started, this page offers a variety of examples and 5 | resources tailored for different types of jobs, including: 6 | 7 | * R1 Tenure-Track Positions 8 | * Liberal Arts Tenure-Track Positions 9 | * Industrial Research Positions 10 | 11 | We provide examples of the main application components, as well as 12 | complete application portfolios. The portfolios are organized by date, 13 | with the newest listed first. Additionally, all materials can be 14 | filtered by key attributes, such as primary research area(s), 15 | dual career situations, and job type. Please consider our 16 | [advice 17 | on nuance when comparing to these materials](#comparisons-nuance-and-a-technique). 18 | 19 | 20 | We thank everyone who contributed their materials to this project. If you 21 | are interested in contributing your materials, please see our 22 | [contribution guide](#how-to-contribute-materials). 23 | -------------------------------------------------------------------------------- /_includes/dropdown.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{ include.summary | markdownify | remove: "

" | remove: "

" }}
4 |
5 | {{ include.details | markdownify }} 6 |
7 |
8 |
-------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | {%- assign default_paths = site.pages | map: "path" -%} 2 | {%- assign footer_page_paths = site.footer_pages | default: default_paths -%} 3 |
4 | 5 |
6 | 20 |

21 | 22 | © {{ site.time | date: '%Y' }}. 23 | Maintained by {{ site.author }} and {{ site.author2 }}. 24 | CC BY-SA 4.0. 25 | Application materials remain the property of their respective authors and are shared here by permission. 26 | 27 |

28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /_includes/footerOld.html: -------------------------------------------------------------------------------- 1 | {%- assign default_paths = site.pages | map: "path" -%} 2 | {%- assign footer_page_paths = site.footer_pages | default: default_paths -%} 3 |
4 | 5 |
6 | 20 |

21 | 22 | © {{ site.time | date: '%Y' }}. 23 | Maintained by {{ site.author }}. 24 | CC BY-SA 4.0. 25 | Application materials remain the property of their respective authors and are shared here by permission. 26 | 27 |

28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 69 | -------------------------------------------------------------------------------- /_includes/google-analytics.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {%- seo -%} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 18 | 19 | 20 | 21 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 | {%- assign default_paths = site.pages | map: "path" -%} 3 | {%- assign page_paths = site.header_pages | default: default_paths -%} 4 | 33 |
34 | -------------------------------------------------------------------------------- /_includes/quote.html: -------------------------------------------------------------------------------- 1 | {%- assign author = site.data.people | where:"id", include.user | first -%} 2 | 3 |
4 |
5 |
    6 |
  • 7 |
    8 |
    9 |
    10 | 11 | {{ author.display }}, {{ author.cycle }} cycle for {{ author.target }} 12 | 13 |
    14 | {%- if author.avatar -%} 15 | {%- capture src -%}/assets/materials/{{author.id | uri_escape }}/{{author.avatar | uri_escape }}{%- endcapture -%} 16 | {%- assign url = src | relative_url -%} 17 | {{ author.display }} 18 | {%- endif -%} 19 |
    20 |
    21 |
    22 | {{ include.content | escape | markdownify }} 23 |
    24 |
  • 25 |
26 |
27 |
28 | -------------------------------------------------------------------------------- /_includes/timeline.html: -------------------------------------------------------------------------------- 1 | {%- for person in site.data.people -%} 2 | {%- if person.timeline -%} 3 | {%- capture src -%}/assets/materials/{{ person.id | uri_escape }}/timeline.json{%- endcapture -%} 4 | {%- assign url = src | relative_url -%} 5 |
6 |
7 |
{{person.display}}, {{person.cycle}}: {{person.target}}
8 | (click to expand) 9 |
10 | 13 |
14 | {%- endif -%} 15 | {%- endfor -%} 16 | -------------------------------------------------------------------------------- /_interviewing/phoneScreen.md: -------------------------------------------------------------------------------- 1 | # Phone Screening 2 | 3 | In our experience, about half of institutions will reach out for a phone 4 | screening before inviting you to an in-person interview. 5 | 6 | Most institutions will give you a list of 7 | everyone who will be on the call a few days before the interview. This will 8 | typically include a couple members of the hiring committee. 9 | **If the institution doesn't let you know who is on the call, it is totally 10 | legitimate to email and ask.** Knowing who will be on the call is 11 | important because it allows you to look up their publications and 12 | committee appointments. This can help you formulate thoughtful questions and 13 | demonstrate your interest in the school. For example, if you see 14 | that one of your interviewers is a member of a center you're interested in, 15 | you can ask: 16 | 17 | > "I was looking through your website, and I noticed that you are a member 18 | of **Center X. I am interested in this center because Y**. What has your 19 | experience been with...." 20 | 21 | **We recommend that you have several questions prepared before the interview.** 22 | [Madeline](/grad-job-guide/about#authors) found it helpful to write her questions on a notepad on her computer, 23 | so that she could refer to them if needed. 24 | 25 | In our experience, screenings typically last 20-40 minutes, and are conducted 26 | via video conferencing. You will often start by introducing 27 | yourself and your research (some institutions may ask you to 28 | prepare slides). Then, for the next 10-15 minutes, your interviewers 29 | will ask you questions about your career goals and research. Finally, the last 30 | 5-10 minutes are typically reserved for any questions that you have for the interviewers. 31 | 32 | Perhaps counterintuitively, the goal of a phone screening isn't always just to see 33 | if your research is above bar. *If you've made it to the screening stage, the committee 34 | already likes your application!* Instead, the goal is to determine how well 35 | you can articulate your research in a social setting and assess 36 | whether you would be a good fit for the department. 37 | When a university or a research lab hires a colleague, they 38 | are hiring someone that they might work with for decades; they want to ensure 39 | the person is a good fit for their team and culture. 40 | 41 | Phone screenings are also used by institutions to gauge your genuine 42 | interest in the position and whether you would likely accept an offer if given. 43 | This is especially the case for smaller 44 | institutions that can only afford a limited 45 | number of in-person interviews or that are in less desirable locations that may struggle 46 | to attract new hires. **Before your screening, do your research!** Make sure you know 47 | basic information about the location, and have answers prepared regarding what 48 | excites you about the area and why you applied. You might be surprised 49 | how many candidates fail the interview at this stage. For example, [Madeline](/grad-job-guide/about#authors) was told 50 | that a candidate at UMass Amherst had not passed to the next round 51 | because they indicated that they were excited about living in Boston 52 | (Amherst is two hours west of Boston and is a small town with 30,000 people). 53 | 54 | {% capture quote %} 55 | Out of the six schools that I heard back from in some form, four of them 56 | invited me to a phone screening. For the other two, I was invited directly 57 | to an in-person interview. 58 | 59 | All of my screening interviews were conducted over Zoom, and they were 60 | mostly with two or three members of the hiring committee. The one exception 61 | was my phone screening with Purdue, which included the full hiring committee 62 | on the call. I generally preferred the smaller phone screenings, as I had 63 | fun talking to each interviewer more directly. However, it's good 64 | to be prepared for either format. 65 | {% endcapture %} 66 | {% include quote.html content=quote user="endremad" %} -------------------------------------------------------------------------------- /_interviewing/questions.md: -------------------------------------------------------------------------------- 1 | # Individual Meeting Questions 2 | 3 | As mentioned [above](#the-different-types-of-interview-meetings), 4 | the majority of your interview will consist of one-on-one sessions 5 | with senior researchers or faculty members you've likely never met before. 6 | Expect the worst-case scenario: you 7 | will have to fill the entire 30-60 minutes yourself by asking questions. 8 | To help, here are some questions (and follow-ups) that at least one of 9 | us has asked during interviews, along with typical responses you might encounter: 10 | 11 | **Questions you can ask:** 12 | 13 | Generally, try to have a set of questions lined up. For two days, 14 | people will repeatedly ask you if you have questions for them. [Claire](/grad-job-guide/about#authors) just 15 | repeated hers when necessary. 16 | 17 | * *What's the funding situation like here?* Have you had good luck with 18 | grants recently? When you were a new faculty member, 19 | did you get much help with grant-writing? Do you know of senior faculty collaborating with junior faculty, for example? 20 | 21 | * *What's your least favorite part about working here?* 22 | Everyone has only great things to say about this place. 23 | 24 | * *What can you tell me about the quality of the graduate students here?* 25 | How did you go about picking your first few grad students? I've heard 26 | rumors that a bad grad student can be a significant drain on a new professor---how 27 | do you avoid that? 28 | * *Answer at schools outside the top 15:* 29 | > The average graduate student here isn't as 30 | good as the average graduate student at Berkeley, so you can't always just take 31 | one from the pool and be assured of getting a winner. However, the best grad 32 | students here are just as good as the best ones anywhere else---it's just that 33 | the tail of the distribution is longer. 34 | * *Answer at schools from 5-15:* 35 | > The students here are great, but we lose our best candidates to Berkeley/MIT/CMU. 36 | * *Answer at schools in the top 5:* 37 | > The students here are stellar. 38 | 39 | * *How important is technology transfer or working with the product 40 | divisions?* What's the funding model here? What happens if I pick something 41 | to work on and no one in development seems to like it? How do I make 42 | contacts with developers? How much academic freedom is there? 43 | 44 | * *What's the tenure process like here?* Can I suggest my own 45 | letter-writers? Are there mid-point reviews? Is there a "magic formula"? 46 | How many people have failed to get tenure in the last 10 to 15 years? 47 | * *Common Research Academia Answer:* 48 | > There's no magic formula. Teaching, research and 49 | service are all important. Officially, you must excel at 50 | two of the three and be adequate in the third. However, you can't 51 | really pick research (or 52 | teaching) as the one to be bad at. Teaching can hurt you---if 53 | your teaching evaluations are below a certain threshold, 54 | you may fail to get tenure. Otherwise, we largely ignore teaching. 55 | The amount of grant money you bring in might be a factor, but we 56 | care more about paper and venue quality than quantity. One or two 57 | journal papers help. Before going up for tenure, you should teach at 58 | least one undergraduate class. 59 | 60 | * Friends of mine who are professors at other universities have *had to 61 | hide their teaching awards when they went up for tenure*. The subtext was 62 | that if you had that much time to be spending on teaching you should have 63 | spent it on research. *What are things like here?* 64 | 65 | * *What's the teaching load?* Does it change after you get tenure? Can you 66 | "buy out" of a class? What does that cost? Who decides what you teach? 67 | 68 | * *What's it like being a new single/married faculty member here?* How did 69 | you make friends when you first came to the area? Was it easy to find 70 | things to do? 71 | 72 | * *Are the faculty young or old?* Is the university structured and 73 | hierarchical? Do decisions come down from on high? How much power do young 74 | faculty members have? How much do young faculty shoulder the service/teaching load? 75 | 76 | * *What's it like to live here?* How long is your commute? 77 | 78 | * *What's the worst example of office politics you've run into here?* What 79 | do people fight over? 80 | * *Common Answer:* 81 | > We're very collegial. We don't really have office politics. 82 | No one gets mad at anyone else. We sometimes squabble over space. 83 | 84 | * *What's the general view on (your research area) here?* 85 | Is it a second-class citizen? Is theory emphasized? Practice? Building big systems? Is the department planning to grow the area beyond this hire? 86 | 87 | **Questions they may ask you:** 88 | 89 | You should also be prepared to answer questions that interviewers might 90 | ask you during these individual meetings. Here are some examples: 91 | 92 | * Tell me how your interests are aligned with some of the faculty here. 93 | Who could you work with? 94 | * This was by far the most common question. We encourage you to write 95 | down in an obvious place (e.g., at the top of your notebook) the name 96 | of anyone you think you could collaborate with so that you can answer 97 | this question intelligently. 98 | 99 | * *Are you married? Do you have a two-body problem?* 100 | * See below on the [two-body problem](#dual-career-couples). 101 | 102 | * *What will your CAREER proposal be about?* 103 | 104 | * *What will your first student's Ph.D. topic be?* How many students do you plan to have? 105 | 106 | * *What courses would you be willing to teach?* Are you interested in 107 | creating new courses? 108 | 109 | * *How will you divide your time between research, teaching and service?* 110 | 111 | * *Where will you get most of your funding?* The NSF? Other government agencies? 112 | Corporate funding? 113 | 114 | * What sort of research will you be doing in the future? 115 | * This is also a very common question. Nominally your job talk will have 116 | addressed this, but they may ask again in a more general sense---do you think 117 | you'll be in (your research area) forever, or do you see yourself 118 | shifting to (another area)? Take this opportunity to distance yourself from 119 | your advisor---you want to argue that you can pursue your own work 120 | for tenure. In [Claire](/grad-job-guide/about#authors)'s experience, the more prestigious the institution, the 121 | more emphasis they give to this sort of question, sometimes phrased explicitly 122 | as *"What do you envision your tenure case looking like?"* 123 | 124 | 125 | **Several of these questions are secretly trying to determine if you know how a 126 | faculty job works**, especially regarding the aspects to which 127 | graduate students are not always exposed. For example, *"have you considered 128 | funding sources for your work?"* is mostly an attempt to determine if you have 129 | have any idea how the grant system works. 130 | 131 | [Wes](/grad-job-guide/about#authors) typically used up almost all of the time asking questions of the other 132 | person. Remember, you are there to interview them as well. Moreover, 133 | there are candidates who can't keep a conversation going after the first 134 | five minutes, which is the kiss of (awkward) death ([Claire](/grad-job-guide/about#authors) heard this from 135 | people interviewing her in several departments). You want to convince your 136 | potential colleagues that you are someone they wouldn't mind working 137 | with or sharing a hallway with. Being able to hold a reasonable 138 | conversation for 30 minutes is a good start. 139 | 140 | 141 | {% capture quote %} 142 | From my perspective on the other side, I will echo the above and say, having 143 | some questions/being able to hold a conversation is a genuinely good thing. 144 | _However_, please make sure to let your interviewers get a word in edgewise. A 145 | candidate who _never_ lets an interviewer ask a question can frustrate a search committee. 146 | {% endcapture %} 147 | {% include quote.html content=quote user="legoues" %} 148 | 149 | {% capture quote %} 150 | I would first note that for any type of interview, having looked up the people 151 | on your schedule and noted at least some work they've done recently goes a long 152 | way in the one-on-one interviews. Many people seemed genuinely surprised when I 153 | brought up a recent paper and had questions and comments about it. 154 | Additionally, I cannot speak to the types of questions asked in academic job 155 | interviews, but I was somewhat surprised at the number and range of technical 156 | questions asked of me during interviews. Studying up on common interview topics 157 | (theory and algorithms, mostly) will only benefit you in the regard. 158 | {% endcapture %} 159 | {% include quote.html content=quote user="fry" %} 160 | 161 | 162 | {% capture quote %} 163 | I have two thoughts here: 164 | 165 | First, as I applied during COVID-19, it was 166 | easy enough to keep a spreadsheet of topics to talk about with each 167 | interviewer off to the side in another window during my Zoom calls. 168 | I found this totally necessary because I noticed that most of my 169 | interview questions were some variant of "do you have questions for me?" 170 | 171 | Secondly, and this may not translate post-COVID, but I encourage saving time in each 172 | interview to ask about life in the city in which the institution is 173 | located. You can pick up on tips (or red flags) about the city and what 174 | to avoid (e.g., if you are trying to minimize commute time). 175 | {% endcapture %} 176 | {% include quote.html content=quote user="kleach" %} 177 | -------------------------------------------------------------------------------- /_interviewing/talk.md: -------------------------------------------------------------------------------- 1 | # Preparing Your Job Talk 2 | 3 | If you are applying for Research Academia or Industrial Research positions, 4 | you will likely be asked to give a presentation on your research for 5 | around 50 minutes. 6 | 7 | **Structuring Your Job Talk:** The general structure and content of a job 8 | talk can be easily found through a quick Google search 9 | (e.g., "academic job talk, computer science, structure"). 10 | 11 | If you are lucky enough to be at a department that hires 12 | regularly, attend all the talks in the year before you go on the market, 13 | *especially* the ones outside your field. 14 | Take notes on how much introductory material, related work, detailed material, 15 | and future work are presented. Then, forget about it for nine months until you 16 | have to craft your own. In general, your job talk will discuss two to three 17 | papers that you worked on in grad school, connected into an overall narrative. 18 | You'll also want to include a future work section. 19 | 20 | Although the average time is "fifty minutes for the talk and ten minutes for 21 | questions", different places will have different time requirements. At one stop, 22 | [Wes](/grad-job-guide/about#authors) was asked to fit the entire thing into 50 minutes. At another, he had 75 23 | minutes. [Claire](/grad-job-guide/about#authors) found a similar spread. Prepare your talk in a modular manner 24 | so that you can add or remove sections. Bonus points if you can do 25 | this on the fly---frequent interruptions are common and can consume a lot 26 | of time. Try to avoid giving lengthy answers to questions posed in the middle 27 | of your talk (answer the question, but be succinct). At one venue, [Wes](/grad-job-guide/about#authors) actually 28 | had audio-visual difficulties that delayed (and 29 | thus shortened) his talk by ten minutes (!). [Claire](/grad-job-guide/about#authors) recommends traveling with your 30 | own laptop and VGA/HDMI/USB-C adapter to defend against such hassles. The exception is the 31 | FFRDCs (like Lincoln Labs), where defense department rules will require you to 32 | email your slides as PDFs ahead of time. 33 | 34 | [Claire](/grad-job-guide/about#authors) changed her talk modestly between interviews. Moving things around a bit 35 | between presentations helped keep the talk fresh. After you've done it a few 36 | times, the jokes become very unfunny to you. Do what you can to avoid boring 37 | yourself. 38 | 39 | {% capture quote %} 40 | **Being able to adjust your timing on the fly during your job talk is really helpful**. 41 | 42 | My talk was divided into three main sections, and I paused briefly for 43 | questions after each one. The number of questions varied between schools, 44 | so having a "short version" and a "long version" of a couple of slides 45 | helped me always finish my talk on time. 46 | 47 | Additionally, most schools will give you about 30 minutes before the 48 | talk to check the audio-visual setup. **I recommend that you try and 49 | arrive at the room early during this time. It's better to be ready ahead 50 | of schedule than to risk running late.** I brought my own laptop and 51 | adapter to all my interviews. However, the setup varied from school 52 | to school due to different recording systems. For example, some 53 | schools asked me to share my screen via Zoom, while others used an 54 | integrated room system. At one school, it took almost 25 minutes to 55 | get everything working. 56 | {% endcapture %} 57 | {% include quote.html content=quote user="endremad" %} 58 | 59 | 60 | **Practice, Practice, Practice!** Make sure that you schedule a practice 61 | job talk of some sort, even if only with your 62 | local research group. Everyone there will be able to give you advice on it. Make 63 | sure that people who are not in your field or office come to your practice 64 | talk. During your actual job talks, at most one or two other people 65 | will be from your field. The rest of the room will be made up of people from 66 | other domains within computer science. Besides, the people in your subfield are 67 | probably the reason you're being interviewed; people outside your subfield need 68 | to be convinced. The exception to this is industry. In large industrial 69 | research labs, you will basically only present to people in your 70 | general area. 71 | 72 | If possible, also try to do a dry run at a school to which you're not applying. For example, [Claire](/grad-job-guide/about#authors) gave a colloquium talk at Virginia Tech about three months before 73 | submitting her applications. It wasn't nearly so intense as a real interview, and it was nice to practice the talk with an unfamiliar audience before doing it for real. 74 | 75 | **The "One-Third Rule":** A common piece of advice suggests that one-third of your talk should 76 | be understood by everyone in the room, one-third should be understood by 77 | people in your general area (e.g., graphics, programming languages, 78 | systems) and one-third should be understood "only by you". However, this advice is 79 | a bit controversial. 80 | 81 | The trick here is that your job talk must serve many purposes. It must 82 | convince them that you are a good lecturer (i.e., the talk must be engaging 83 | and speak to your teaching abilities). It will also be their first exposure 84 | to your work (as above, many people will be reading you resume at the 85 | beginning of your interview -- unless you're at a small department, don't 86 | expect anyone beyond your host to know anything about you or your work 87 | unless you say it to them) and must help to convince them that your 88 | research has substance. This point is actually somewhat tricky, because if 89 | they asked you for an interview they probably already believe your work is 90 | good enough (based on you resume, letters, and the local evaluation of the 91 | department members closest to your subfield). 92 | 93 | It is our *personal opinion* 94 | that basically the entire talk should be understandable to everyone in the room. 95 | Motivation is key. Remind people of why your research area is worth considering. 96 | As a random example, a tenured AI professor 97 | may well think that "compilers are a solved problem". It won't hurt 98 | to remind such a person that your work is exciting. [Claire](/grad-job-guide/about#authors) 99 | often used the phrase: 100 | > "This is really exciting because..." 101 | 102 | to help her audience roadmap key contributions. Keeping everyone interested will help to convince 103 | them of you teaching potential. In addition, if people cannot understand your 104 | talk they have no way to spot potential collaborations. 105 | 106 | Most of us designed our job talks to be easily understood by everyone (heavy on motivation, context, 107 | analogies and pictures). [Claire](/grad-job-guide/about#authors), [Wes](/grad-job-guide/about#authors), and [Madeline](/grad-job-guide/about#authors) all received comments about 108 | how understandable they were, and we also got quite a few offers for 109 | collaboration based on them (e.g., graphics and database people were able to see 110 | possible fits, not just PL/SE people). The exception here is for industrial research 111 | (e.g., Microsoft, IBM): if your audience is be more closely aligned to your research 112 | area, you can 113 | sometimes skimp on motivation. However, including it anyways 114 | probably won't count against you (because they explicitly mention that they 115 | realize that no one prepares two job talks, and that they know that the intro is appropriate in 116 | academia) but you can possibly earn bonus points by tailoring your talk to those 117 | audiences. 118 | 119 | [Wes](/grad-job-guide/about#authors) specifically asked people after his 120 | talk if the lack of "Greek letters" or "complicated-looking material" hurt his 121 | case. Typical responses included *"it wasn't a problem because were able to see 122 | how intelligently you handled yourself when answering the questions"* or *"it was 123 | fine because we already know how good your work is"* or *"no, not at all."* 124 | However, [Claire](/grad-job-guide/about#authors) was advised of the 1/3-1/3-1/3 rule many times throughout her 125 | job search. Thus we cannot give you a blanket guarantee that following our 126 | approach won't hurt your employability. **We were willing to take that risk to 127 | stand up for something we believed in. We encourage you to consider it 128 | carefully.** 129 | 130 | # Preparing Your Teaching Talk 131 | 132 | If you are interviewing for a teaching-focused position, you will likely 133 | be asked to give an example undergraduate lecture instead of (or sometimes in addition to) a research-focused job talk. 134 | 135 | Unlike with a Research Job Talk, the topic and time limit of a teaching talk 136 | can vary widely between schools. Some might ask for a lecture on a specific 137 | topic, while others leave it up to you. You may not be able to use the 138 | same lecture topic at all of your interviews. 139 | 140 | While most common for teaching-focused positions, even for a research faculty position, 141 | some schools will ask you to 142 | prepare either a short commentary on your teaching style (in 2013, Iowa State 143 | requested 10 minutes of the job talk be dedicated to teaching), or an actual 144 | teaching demo (Waterloo requested a 20-30 minute example lecture, given 145 | separately from the job talk). [Claire](/grad-job-guide/about#authors) advises you to not skimp on 146 | teaching demo preparation. It can make a big difference in helping you stand 147 | out from the crowd, the rest of which probably did skimp. 148 | 149 | {% capture quote %} 150 | I found the research talks to be fairly standard, but the teaching-track 151 | talks were all unique and required significantly more prep. Some 152 | institutions required a talk about a pre-selected topic. Others let you 153 | pick your own. One required submitting a recording. All of them had 154 | different timing requirements (from 25 minutes to 90 minutes). Some had students present. 155 | Some schools wanted active learning, others wanted standard slides. 156 | As a result, it was more difficult to incorporate everyone's feedback. 157 | Part of this may have been reaction to the pandemic, but 158 | I tend to believe teaching-track faculty talks are more 159 | difficult to prepare for than tenure-track research talks. 160 | {% endcapture %} 161 | {% include quote.html content=quote user="kleach" %} 162 | -------------------------------------------------------------------------------- /_interviewing/twobody.md: -------------------------------------------------------------------------------- 1 | # Dual-Career Couples 2 | 3 | *In this section, we talk about strategies for dual-career couples, and if 4 | you should disclose your partnered status.* 5 | The advice in this section applies to both regular dual-career couples and those 6 | facing the actual *academic two-body problem*. 7 | 8 | For context, [Wes](/grad-job-guide/about#authors) and 9 | [Kevin Angstadt](/grad-job-guide/about#authors) 10 | were single when they were on the market; [Claire](/grad-job-guide/about#authors) 11 | and [Hammad](/grad-job-guide/about#authors) 12 | had partners who were 13 | planning to move with them and find a job in the software industry; [Kevin Leach](/grad-job-guide/about#authors) 14 | and Yu were partners seeking academic positions together in 15 | the same department (the traditional two-body problem); 16 | [Madeline](/grad-job-guide/about#authors) had a partner who wanted to be in a location where 17 | they could pursue their career in the arts. [Wes](/grad-job-guide/about#authors), [Kevin Leach](/grad-job-guide/about#authors), and [Yu](/grad-job-guide/about#authors) 18 | mentioned their relationship statuses in their cover letters; 19 | [Claire](/grad-job-guide/about#authors), [Madeline](/grad-job-guide/about#authors) 20 | and 21 | [Hammad](/grad-job-guide/about#authors) 22 | did not. 23 | 24 | You may be asked about your marital or relationship status during your 25 | interviews, though [Claire](/grad-job-guide/about#authors) never was, and believes that interviewers have become more attuned to this issue in general (especially with candidates who present as female). Regardless, 26 | the question is illegal. 27 | 28 | {% capture quote %} 29 | Everyone will want to know. I put it at the top of my CV and I am 30 | fairly sure my marital status was mentioned in at least one of my 31 | letters. We did not want any confusion over what we wanted together. 32 | 33 | The risk I see with revealing this status is that you will have 34 | institutions reject you outright because they simply cannot hire two 35 | people at once. In that regard, it may give one body less negotiating 36 | power later with institutions that do make offers together. *However*, 37 | I believe the flip side is that institutions interested in helping you 38 | resolve your dual-career issue will be receptive if you mention it 39 | outright (e.g., they will move more quickly if one body has a deadline). 40 | It also made other discussions easier later (scheduling 41 | interviews, and negotiating salary and startup). 42 | {% endcapture %} 43 | {% include quote.html content=quote user="kleach" %} 44 | 45 | {% capture quote %} 46 | *Everyone may ask anyway* (even if you have put the answer 47 | explicitly on the front of your resume). Just deal with it. I have at least two 48 | data points of people being put in very awkward positions here (one was loosely 49 | "we have a lot of great women on campus and if you can't find someone within a 50 | few years there's something wrong with you" and the other was loosely "what's 51 | you religion and sexual orientation?"). Have a nice way to back out of such 52 | conversational cul-de-sacs. If you are asked anything more intrusive than "are 53 | you married?" feel free to mention it to your host. It's better to point this 54 | out to someone who likes you than to have the evil questioner's possibly 55 | negative opinion of you hurt your chances. 56 | {% endcapture %} 57 | {% include quote.html content=quote user="weimer" %} 58 | 59 | {% capture quote %} 60 | *Everyone really wants to know and you should 61 | almost certainly tell them.* During my interviews, I would 62 | find a way to drop my partner's existence and job ambitions into an early 63 | conversation. *In every case*, I was met with a relieved "Oh I'm so glad 64 | you told me that because we really want to know and we can't ask." I strongly 65 | encourage you to be open and honest about any two-body or dual-career situation 66 | you may have. The sooner a department knows about your partner's job needs, the 67 | more likely it is that they can find something for your partner in time to 68 | convince you that accepting the position is beneficial for you and your family. 69 | There is a school of thought that one should wait until one knows a department 70 | is interested before divulging a two-body situation. However, I have seen this 71 | backfire for other couples more than once, at multiple places, in that by the time an offer is on 72 | the table, it is too late to arrange for an interview with another department. 73 | This is obviously a bigger problem if your partner is also in academia. 74 | 75 | I freely admit that I am lucky in that my spouse has made very portable career 76 | choices. That said, I was extremely upfront about my partner and his job 77 | aspirations, and departments that made me offers simultaneously made connections 78 | for him at local companies. He even did some onsite interviews during second 79 | visits. 80 | 81 | The interview process is a giant two-party courtship exercise in which the 82 | interviewee is trying to convince the department to make a job offer, and the 83 | interviewer is trying to convince the interviewee that the department/location 84 | is the ideal place to live/work. As such, a legitimate department at which you 85 | want to work should fall over backwards to convince you that they can get your 86 | spouse/partner a job. Anecdotal example: The dean at UIUC opened his meeting 87 | with me by saying "I am not interested in your family circumstances, and it 88 | would be inappropriate and illegal for me to ask you about them. However, I 89 | would like to share with you unprompted all of UIUC's policies regarding 90 | dual-career couples..." 91 | 92 | Look at it this way: The only reason not to be up front about this issue is that 93 | you are worried that doing so will hurt your job prospects. However, if a 94 | department (illegally) decides not to hire you because your spouse needs a job, 95 | you probably would not have gone there anyway, because 96 | *your spouse would not have had a job in time for the decision to be 97 | reasonable.* Moreover, and I freely admit that this statement arises from my 98 | privileged position of working in an academic field that is, by and large, 99 | hiring: I personally do not want to work with people who will not hire me 100 | because I am in a romantic partnership or because I have or may one day have 101 | family obligations. If anyone decided not to interview me or offer me a 102 | position for these reasons, they would have saved me the trouble of having to 103 | uncover their misogyny some other way. 104 | {% endcapture %} 105 | {% include quote.html content=quote user="legoues" %} 106 | 107 | {% capture quote %} 108 | I pre-filtered the schools that I applied to based on location constraints for 109 | both me and my partner (a classical music composer). However, some locations 110 | were still better on paper than others. 111 | 112 | As a result, I also tried to drop my partner into conversations at schools. 113 | When I mentioned that he was a composer, 114 | interviewers at every school offered to put me in contact with 115 | local musical contacts. From these connections, my partner and I were able to better 116 | understanding of the musical environment around each school. 117 | 118 | *If you are planning to relocate with a partner, I highly recommend that you ask 119 | about opportunities and support during your interview.* 120 | {% endcapture %} 121 | {% include quote.html content=quote user="endremad" %} 122 | 123 | {% capture quote %} 124 | On the topic of being honest about things and covering somewhat personal topics, 125 | I feel as though I should mention that coming across like a real person is 126 | helpful in a heavily technical field like ours. While I may be biased, as I 127 | felt like I came from a somewhat less-strong technical foundation, I found that 128 | people genuinely appreciated me trying to make idle conversation and be 129 | personable. There are plenty of tips in, for instance, the business world about 130 | being personable, but I think people in all industries look for potential 131 | employees that they think they could work with every day on a personal level. 132 | {% endcapture %} 133 | {% include quote.html content=quote user="fry" %} 134 | 135 | One final note on partners and jobs: emigrating to Canada with a partner appears 136 | to be pretty trivial, based on [Claire](/grad-job-guide/about#authors)'s (serious) conversations with Waterloo on 137 | the subject. The Canadian immigration system remains straightforward, at least compared to 138 | the US, and their HR departments are practiced in 139 | providing support for the process. 140 | 141 | Now that you've finished your interviews, it's time to [make a decision](/grad-job-guide/deciding) 142 | and accept an offer. 143 | -------------------------------------------------------------------------------- /_jobs/subfields.md: -------------------------------------------------------------------------------- 1 | # Academic Positions: Research Area and Where to Apply 2 | 3 | Academic job postings may or may not be research-area specific. 4 | Most academic job ads use similar boilerplate language: 5 | 6 | > "We encourage all qualified applicants from all 7 | > areas of computer science to apply, we are an equal-opportunity employer...". 8 | 9 | 10 | **However, the specific focus of a department's search can greatly influence your 11 | chances.** Below, we break down the two primary types of job ads and 12 | how to interpret them. 13 | 14 | 1. **Specific Focus Areas**: Some job postings explicitly state the areas of interest, 15 | such as compilers or data mining. If your research aligns with these areas, 16 | you have a stronger chance of being considered. If not, it may be difficult to secure 17 | an interview. Here are a couple of examples: 18 | 19 | - From Purdue's 2005 search: 20 | > "The Department of Computer Sciences at Purdue University invites 21 | applications for tenure-track positions beginning August 2005. Positions 22 | are available at the Assistant Professor level; senior positions will be 23 | considered for highly qualified applicants. Applications from outstanding 24 | candidates in all areas of computer science will be considered. **Of 25 | particular interest are candidates in the areas of programming languages 26 | and compilers, software engineering, operating systems, data mining, and 27 | bioinformatics.**" 28 | 29 | - From Yale's 2024 search: 30 | > "The Yale Computer Science Department 31 | continues to invite applications for multiple tenure-track faculty positions to start in 32 | the 2024-2025 academic year. **For this year’s search, we are interested in candidates working 33 | in the areas of (1) AI and Trustworthy Computing or (2) Programming Languages.** With recent 34 | explosive growth of large-language-model based technologies such as ChatGPT, we are 35 | particularly interested in candidates who can take on the leadership role and help shape the 36 | research and education impact of AI for the rest of the University. 37 | Qualified applicants in computer science are invited to apply. 38 | 39 | 2. **General Calls**: Other ads may list a broad range of departmental strengths, leaving you with 40 | little specific information about what areas they are truly hiring for. 41 | 46 | 47 | - From UVA's 2005 search: 48 | > The University of Virginia... offers baccalaureate, master, 49 | and doctoral degrees in Computer Science 50 | and Computer Engineering. The department is undergoing significant growth 51 | and programmatic evolution and aims to be one of the top departments in 52 | experimental systems research and the leading institution in 53 | undergraduate computer science education. **Its existing strengths include 54 | algorithms, architecture, compilers, distributed systems, graphics, grid 55 | computing, mobile computing, networks, operating systems, programming 56 | environments, real-time and embedded systems, security, sensor networks, 57 | and software engineering.** 58 | 59 | Despite the general phrasing, *most schools with this type of posting have an 60 | internal area-related priority for hiring*. However, 61 | unless you have a contact at the school, it can be difficult to know if they are hiring in 62 | your specific subfield. 63 | 64 | 65 | **Overall, we recommend prioritizing schools with job postings that match your 66 | research area.** Regarding general calls, we recommend applying only if the 67 | school aligns well with your career goals and personal preferences. 68 | 69 | **One notable exception to this rule is "top 10" schools.** Such programs 70 | (especially the very large ones) often have multiple hiring lines, and may 71 | hire candidates they find exceptional, regardless of research area. 72 | *Thus, even if their calls are open, it's probably worth applying, because 73 | you never know.* For example, CMU's School of Computer Science is large, 74 | with multiple departments. Their job ads are typically very general, and 75 | applications are routed based on the area to relevant departments. [Claire](/grad-job-guide/about#authors) 76 | actually asked [Wes](/grad-job-guide/about#authors) if it was even worth sending in an application as "it wasn't 77 | going to happen." He insisted she apply, which is funny in retrospect. She believes 78 | that her sincere belief that she wouldn't receive an offer from CMU helped during 79 | the interview, because she wasn't especially nervous or stressed about messing up. 80 | 81 | {% capture quote %} 82 | With one exception, all of my interviews were at schools that were either explicitly hiring in Software Engineering, 83 | or had historical strength in the area. 84 | 85 | The exception was a top public research institution in the U.S.. While the call was general, at my interview, 86 | the department chair told me that software engineering wasn't a designated priority my year. 87 | *However, he also told me that they reserve about half of their interview spots for exceptional 88 | candidates, regardless of their specific research subfield.* 89 | 90 | In my opinion, if a school that you'd really like to go to doesn't explicitly 91 | list your area as a priority, 92 | it can still be worth applying if you believe you're a strong candidate. However, I would still 93 | prioritize calls that explicitly mention your research area. 94 | {% endcapture %} 95 | {% include quote.html content=quote user="endremad" %} 96 | 97 | 98 | {% capture quote %} 99 | It is my *personal opinion* that as a software engineering 100 | researcher, where you apply can matter a great deal. It is "accepted wisdom" in 101 | the community that SE researchers do not receive invitations to interview for 102 | open job calls that do not mention SE (or possibly PL). By and large, I 103 | observed this to be true. All but maybe two of my interviews were at places 104 | that listed SE or PL in their job ads explicitly. One of the exceptions was 105 | Waterloo, which has a long and storied software engineering tradition (as do 106 | most Canadian institutions). 107 | 108 | To generalize, I would encourage you to apply to places that you have 109 | reason to believe are interested in your research area, either based on 110 | word-of-mouth or the job ad copy itself. Examples: in 2012, NC State had an 111 | established SE faculty leave for another position, while UIUC had an established 112 | SE faculty retire. Both specifically mentioned SE in their 2013 ads. I 113 | did apply to a few places with "open calls" based on location (and I would 114 | encourage you to do the same), but it mostly didn't pan out. 115 | 116 | One more somewhat editorial note: there's typically a subfield that's "hot" in a 117 | given hiring year, such as big data or health care informatics in 2013. Please 118 | don't pretend to do these things if you don't. It's tacky and 119 | obvious. 120 | {% endcapture %} 121 | {% include quote.html content=quote user="legoues" %} 122 | 123 | 124 | The job search process can be challenging, but by taking it step by step, you can find the right 125 | fit for your career goals. Now that you know what jobs exist and when and where to apply, the 126 | next step is to [write and compile 127 | your application portfolio](/grad-job-guide/applying). -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | {% include header.html %} 8 | 9 | {%- if page.title -%} 10 |
11 |
12 |

{{ page.title }}

13 | {%- if page.description -%} 14 |

15 | {{ page.description }} 16 |

17 | {%- endif -%} 18 |
19 |
20 | {%- endif -%} 21 | 22 |
23 | 24 |
25 | 35 |
36 | {{ content }} 37 |
38 |
39 | 40 | 41 | 42 |
43 | {% include footer.html %} 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /_misc/misc.md: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | 3 | We list here tidbits, advice, high-level observations, or trivia that, for whatever reason, we couldn't find a place for elsewhere. 4 | 5 | Statistics: 6 | - We recommend that you read the CRA Taulbee survey. It's also tremendously useful as you progress through faculty life. About halfway through, it lists salary averages across a variety of department types. 7 | - The University of Michigan's Computer Science and Engineering division publishes faculty search statistics in its annual DEI Reports. You can find them on the web. For example: 8 | > [In Academic Year 2023-2024] CSE received 591 applications for faculty positions, of which 562 were for tenure-track positions and 29 were for teaching faculty positions. ... We invited 38 of those 591 applicants (6%) to interview. ... CSE extended job offers to 15 candidates. 9 | - And: 10 | > [In Academic Year 2022-2023] CSE received 442 applications for faculty positions ... We invited 44 of those 442 applicants (10%) to interview. ... CSE extended job offers to 27 candidates. 11 | - The Michigan CSE DEI reports also contain demographic information (not reproduced here) and go back a few more years. 12 | - For a more historical perspective, in 2005 Purdue received 380 applicants for 3 job spots in CS and held 14 13 | interviews. In programming languages alone they received 20 applicants and held 14 | 6-7 interviews for one spot. In 2005 Virginia received 457 applicants for 4 15 | faculty positions. 16 | 17 | Other Advice: 18 | - This is easily one of the top three pieces of job search advice Claire was 19 | given: Collude with other people in your field on the market, if you can. 20 | The departments are colluding; you should too. You can even share details about 21 | the offers, which keeps things in perspective. Also, it's a really long/tiring 22 | process, so it's nice to have someone to commiserate with. At first you may 23 | resist, mistakenly believing that you are in competition with these people and 24 | that it is weird. In our opinion, this is not the correct conclusion. 25 | Making friends at this stage can be quite good. 26 | - Many people will tell you that if all else fails, use rankings to break 27 | ties. Better ranked schools will have better grad students and will find it 28 | easier to get grant money. One problem with this is that different people 29 | remember the rankings differently. Whenever you ask someone for advice, ask 30 | for a relative ranking of your schools. You'll be surprised at how many 31 | complete inversions you receive. 32 | - A personal recommendation or inside champion can be a great boost and can 33 | help in case of a tie. If you are trying to end up at school X and you know 34 | someone at Y who is friend with someone at X, having Y reach out 35 | and briefly mention you positively to X won't hurt you. 36 | 37 | -------------------------------------------------------------------------------- /_sass/_cards.scss: -------------------------------------------------------------------------------- 1 | .card { 2 | display: flex; 3 | flex-direction: column; 4 | justify-content: space-between; 5 | height: 100%; 6 | box-sizing: border-box; /* Ensures padding is included in the width */ 7 | } 8 | 9 | .card-section { 10 | flex-grow: 1; 11 | } 12 | 13 | .more-button-container { 14 | display: flex; 15 | justify-content: flex-end; 16 | flex-wrap: wrap; 17 | margin-top: 0px; 18 | margin-right: 10px; 19 | margin-bottom: 0px; 20 | font-size: 0.7em; 21 | 22 | } 23 | 24 | .cell { 25 | padding-bottom: 15px; 26 | } 27 | 28 | .thumbnail { 29 | width: 50%; 30 | margin-right: auto; 31 | margin-left: auto; 32 | margin-top: 10px; 33 | margin-bottom: 0; 34 | 35 | align-items: center; 36 | border: none; 37 | } 38 | 39 | .smallheadshot { 40 | width: 30%; 41 | margin-right: auto; 42 | margin-left: auto; 43 | margin-top: 10px; 44 | margin-bottom: 10px; 45 | align-items: center; 46 | border: none; 47 | 48 | } 49 | 50 | 51 | /* Ensure the modal and overlay do not affect the background */ 52 | .reveal-overlay { 53 | z-index: 9999; /* Ensure the overlay is above other content */ 54 | overflow: hidden; 55 | } 56 | 57 | .reveal { 58 | z-index: 10000; /* Ensure the modal is above the overlay */ 59 | /*top: 0 !important; Prevent manual top adjustments */ 60 | } 61 | 62 | /* Ensure the body and html do not shift when the modal is open */ 63 | html.is-reveal-open { 64 | //overflow: hidden; 65 | //position: fixed; 66 | } 67 | 68 | html.is-reveal-open, body.is-reveal-open { 69 | overflow: hidden; 70 | /*position: fixed; Def not workable*/ 71 | width: 100%; 72 | } -------------------------------------------------------------------------------- /_sass/_linkCell.scss: -------------------------------------------------------------------------------- 1 | .link-cell { 2 | font-size: 0.875rem; /* Smaller font size */ 3 | margin: 0; /* Remove margin */ 4 | padding: 5px 0; /* Reduce padding to decrease white space */ 5 | line-height: 1.2; /* Adjust line height for less vertical space */ 6 | } 7 | 8 | .link-cell a { 9 | color: #007BFF; /* change link color */ 10 | text-decoration: none; /* remove underline from links */ 11 | } 12 | 13 | .link-cell a:hover { 14 | text-decoration: underline; /* add underline on hover */ 15 | } -------------------------------------------------------------------------------- /_sass/_navBar.scss: -------------------------------------------------------------------------------- 1 | .navbar-brand { 2 | font-size: 1.8vw; 3 | max-width: 100%; /* Ensure it doesn't overflow */ 4 | white-space: normal; 5 | display: flex; 6 | align-items: center; 7 | margin-right: 0px; 8 | } 9 | 10 | .navbar-brand span { 11 | font-size: calc(0.8em + 0.8vw); /* Dynamic size with a base of 1em plus viewport width */ 12 | max-width: 100%; 13 | display: inline-block; 14 | } 15 | 16 | .navbar-brand img { 17 | max-height: 60px; 18 | height: auto; /* Ensure the logo scales with the font */ 19 | margin-right: 5px; /* Adjust the spacing between logo and text */ 20 | max-width: 100%; /* Ensure it doesn't overflow */ 21 | display: flex; 22 | } 23 | 24 | @media (max-width: 680px) { 25 | .navbar-brand { 26 | font-size: 1.2em; /* Adjust for very small screens */ 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /_sass/_quotes.scss: -------------------------------------------------------------------------------- 1 | .thumb { 2 | object-fit:scale-down; 3 | object-position: center; 4 | max-width: 60px; 5 | max-height: 60px; 6 | margin-bottom: 1rem; 7 | } 8 | 9 | // .chat .chat-history { 10 | // padding: 30px 30px 20px; 11 | // border-bottom: 2px solid white; 12 | // } 13 | .chat .chat-history .message-data { 14 | margin-bottom: 15px; 15 | } 16 | .chat .chat-history .message-data-time { 17 | color: #a8aab1; 18 | padding-left: 6px; 19 | } 20 | .chat .chat-history .message { 21 | color: white; 22 | padding: 18px 20px; 23 | line-height: 26px; 24 | font-size: 16px; 25 | border-radius: 5px; 26 | margin-bottom: 30px; 27 | width: 90%; 28 | position: relative; 29 | } 30 | .chat .chat-history .message:after { 31 | content: ""; 32 | position: absolute; 33 | top: -15px; 34 | left: 20px; 35 | border-width: 0 15px 15px; 36 | border-style: solid; 37 | border-color: #CCDBDC transparent; 38 | display: block; 39 | width: 0; 40 | } 41 | .chat .chat-history .you-message { 42 | background: #CCDBDC; 43 | color:#003366; 44 | } 45 | 46 | .chat .chat-message { 47 | padding: 30px; 48 | } 49 | .chat .chat-message .fa-file-o, .chat .chat-message .fa-file-image-o { 50 | font-size: 16px; 51 | color: gray; 52 | cursor: pointer; 53 | } 54 | 55 | .chat-ul li{ 56 | list-style-type: none; 57 | } 58 | 59 | .align-left { 60 | text-align: left; 61 | } 62 | 63 | .align-right { 64 | text-align: right; 65 | } 66 | 67 | .message a { 68 | color: white; 69 | text-decoration: underline; 70 | } 71 | 72 | .message a:hover { 73 | color: lightblue; 74 | text-decoration: underline; 75 | } 76 | 77 | .message-data-flex { 78 | display: flex; 79 | align-items: center; 80 | gap: 10px; 81 | justify-content: flex-end; /* Aligns the content to the right */ 82 | } 83 | 84 | .message-data-info { 85 | background-color: #3b3b3b; /* Or any other color you prefer */ 86 | padding: 5px 10px; 87 | border-radius: 4px; 88 | color: white; 89 | flex: 0 0 auto; /* Prevents the box from growing beyond the text width */ 90 | max-width: 80%; /* Ensures it doesn't exceed the container width */ 91 | margin-right: 10px; /* Adds space between the text box and the avatar */ 92 | } 93 | 94 | .thumb { 95 | max-height: 70px; 96 | border-radius: 50%; 97 | flex-shrink: 0; 98 | } 99 | -------------------------------------------------------------------------------- /_sass/_searchToggle.scss: -------------------------------------------------------------------------------- 1 | .toggle-container { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | margin-left: 10px; 6 | } 7 | 8 | .toggle-label { 9 | margin-bottom: 5px; 10 | font-weight: bold; 11 | } 12 | 13 | .switch { 14 | position: relative; 15 | display: block; 16 | width: 80px; 17 | height: 24px; /* Adjust height for the slider bar */ 18 | margin-bottom: 20px; /* Add some space between the slider and labels */ 19 | margin-top: -20px; /* Add some space between the slider and labels */ 20 | 21 | } 22 | 23 | .switch input { 24 | opacity: 0; 25 | width: 0; 26 | height: 0; 27 | } 28 | 29 | .slider { 30 | position: absolute; 31 | cursor: pointer; 32 | top: 0; 33 | left: 0; 34 | right: 0; 35 | bottom: 0; 36 | height: 100%; 37 | background-color: blueviolet; /* Color of the slider bar */ 38 | transition: .4s; 39 | border-radius: 17px; /* Rounded corners to match the slider height */ 40 | } 41 | 42 | .slider:before { 43 | position: absolute; 44 | content: ""; 45 | height: 20px; /* Height of the slider knob */ 46 | width: 20px; /* Width of the slider knob */ 47 | left: 2px; 48 | bottom: 2px; /* Centering the slider knob vertically */ 49 | background-color: white; 50 | transition: .4s; 51 | border-radius: 50%; /* Make the slider knob rounded */ 52 | } 53 | 54 | input:checked + .slider { 55 | background-color: rgb(173, 66, 107); /* Updated color */ 56 | } 57 | 58 | input:checked + .slider:before { 59 | transform: translateX(55px); 60 | } 61 | 62 | .label-container { 63 | display: flex; 64 | justify-content: space-between; 65 | width: 70%; 66 | } 67 | 68 | .and-label, .or-label { 69 | font-size: 16px; 70 | color: #333; 71 | font-weight: bolder; 72 | } 73 | 74 | .and-label { 75 | color: blueviolet; 76 | } 77 | 78 | .or-label { 79 | color: rgb(173, 66, 107); 80 | } 81 | 82 | .tag-container { 83 | display: flex; 84 | flex-wrap: wrap; 85 | } 86 | -------------------------------------------------------------------------------- /_sass/_tags.scss: -------------------------------------------------------------------------------- 1 | .tag { 2 | display: inline-block; 3 | background-color: #e0e0e0; /* This will be overridden by inline styles */ 4 | border-radius: 12px; /* Rounded corners for tags */ 5 | padding: 5px 10px; 6 | margin-right: 5px; 7 | margin-top: 1px; 8 | margin-bottom: 1px; 9 | 10 | font-size: 0.7em; 11 | color: #fff; /* Ensure the text color is white for better contrast */ 12 | } 13 | 14 | .tag-filter { 15 | margin: 5px; 16 | cursor: pointer; 17 | color: #fff; /* Ensure the text color is white for better contrast */ 18 | background-color: #a2a2a2; /* Grey background when not selected */ 19 | border: 2px solid; /* Explicitly set no border */ 20 | border-radius: 12px; /* Rounded corners for tag filters */ 21 | border-color: black; 22 | } 23 | 24 | .tag-filter:hover { 25 | border: 2px solid; /* Ensure no border on hover */ 26 | border-color: black; 27 | } 28 | 29 | .tag-filter:focus { 30 | border: 2px solid; /* Ensure no border on focus */ 31 | outline: none; /* Remove focus outline */ 32 | } 33 | 34 | .tag-filter:active { 35 | border: 2px solid; /* Ensure no border on active state */ 36 | border-color: black; 37 | } 38 | 39 | .tag-filter.selected { 40 | border: 2px solid; /* Remove border when selected */ 41 | border-color: black; 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /_sass/_timeline.scss: -------------------------------------------------------------------------------- 1 | .guide-timeline { 2 | .timeline-header { 3 | cursor: pointer; // Change cursor to pointer to indicate it's clickable 4 | } 5 | 6 | .invitation { 7 | color: purple; 8 | } 9 | 10 | .interview { 11 | color: blue; 12 | } 13 | 14 | .offer { 15 | color: green; 16 | } 17 | 18 | .reject { 19 | color: red; 20 | } 21 | } 22 | 23 | .toggle-timeline { 24 | color: #007BFF; 25 | text-decoration: underline; 26 | cursor: pointer; 27 | } -------------------------------------------------------------------------------- /_sass/_toc.scss: -------------------------------------------------------------------------------- 1 | /* css for the sidebar */ 2 | /* https://afeld.github.io/bootstrap-toc/ */ 3 | 4 | // nav[data-toggle='toc'] { 5 | // padding-top: 28px; 6 | // } 7 | 8 | nav[data-toggle='toc'] .nav > li > a:hover, 9 | nav[data-toggle='toc'] .nav-link.active, 10 | nav[data-toggle='toc'] .nav-link.active:focus, 11 | nav[data-toggle='toc'] .nav-link.active:hover, 12 | nav[data-toggle='toc'] .nav > li > a:focus { 13 | color: #007bff; 14 | border-left: 1px solid #007bff; 15 | } 16 | nav[data-toggle='toc'] .nav > .active > a, 17 | nav[data-toggle='toc'] .nav > .active:hover > a, 18 | nav[data-toggle='toc'] .nav > .active:focus > a { 19 | color: #007bff; 20 | border-left: 2px solid #007bff; 21 | } -------------------------------------------------------------------------------- /about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: About Us 4 | nav: About Us 5 | permalink: /about/ 6 | description: Learn all about the CS Grad Job and Interview Guide. 7 | --- 8 | 9 | {% include_relative _about/about.md %} -------------------------------------------------------------------------------- /applying.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Preparing Your Application 4 | nav: Application Materials 5 | description: >- 6 | This portion of the guide describes the materials needed for applications as 7 | well as some tips for their preparation. 8 | permalink: /applying/ 9 | --- 10 | 11 | # What Materials Do You Need? 12 | 13 | Now that you know what jobs exist, as well as when 14 | and where to apply, it's time to prepare your application materials! 15 | 16 | Your applications will almost certainly require the following materials: 17 | 18 | 1. References or [Letters of Recommendation](#letters-of-recommendation) (three to five) 19 | 2. A [Cover Letter](#cover-letter) 20 | 3. A [CV or Resume](#preparing-your-resume) 21 | 4. A [Research Statement](#research-statement) 22 | 23 | Many positions will also ask for: 24 | 25 | 5. A [Teaching Statement](#teaching-statement) (required for academic applications) 26 | 6. A [Diversity Statement](#diversity-statement) 27 | 7. Three [Indicative Publications](#selecting-indicative-publications) 28 | 29 | Some international universities have extremely structured templates, 30 | such as this 31 | "CV template for the employment and promotion of teachers" 32 | from KTH Royal Institute of Technology in Sweden. 33 | 34 | *On the rest of this tab, we’ll provide an overview and tips to help you get started on each part of your application.* 35 | 36 | We also include select examples of successful materials from each category. *More examples are available 37 | on the [Example Materials](exampleMaterials.md) tab.* 38 | 39 | {% include_relative _applying/recommendations.md %} 40 | {% include_relative _applying/cover-letter.md %} 41 | {% include_relative _applying/resume.md %} 42 | {% include_relative _applying/statements.md %} 43 | {% include_relative _applying/publications.md %} 44 | {% include_relative _applying/submitting.md %} 45 | -------------------------------------------------------------------------------- /assets/css/bootstrap-toc.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/) 3 | * Copyright 2015 Aidan Feldman 4 | * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */nav[data-toggle=toc] .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}nav[data-toggle=toc] .nav>li>a:focus,nav[data-toggle=toc] .nav>li>a:hover{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}nav[data-toggle=toc] .nav-link.active,nav[data-toggle=toc] .nav-link.active:focus,nav[data-toggle=toc] .nav-link.active:hover{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}nav[data-toggle=toc] .nav-link+ul{display:none;padding-bottom:10px}nav[data-toggle=toc] .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}nav[data-toggle=toc] .nav .nav>li>a:focus,nav[data-toggle=toc] .nav .nav>li>a:hover{padding-left:29px}nav[data-toggle=toc] .nav .nav>li>.active,nav[data-toggle=toc] .nav .nav>li>.active:focus,nav[data-toggle=toc] .nav .nav>li>.active:hover{padding-left:28px;font-weight:500}nav[data-toggle=toc] .nav-link.active+ul{display:block} -------------------------------------------------------------------------------- /assets/css/styles.scss: -------------------------------------------------------------------------------- 1 | --- 2 | # this should make it be processed 3 | --- 4 | 5 | summary { 6 | font-style: italic; 7 | display: list-item; 8 | list-style-type: disclosure-closed; 9 | cursor: pointer; 10 | } 11 | 12 | details { 13 | background-color: rgb(238, 216, 248); 14 | border-radius: 0.5em 0.5em; 15 | padding: 5px; 16 | margin-bottom: 15px; 17 | 18 | } 19 | 20 | blockquote p { 21 | color: #44077d; 22 | font-style: italic; 23 | font-size: smaller; 24 | 25 | } 26 | 27 | .site-footer { 28 | background-color: #f5f5f5; 29 | } 30 | 31 | .csg-nav { 32 | font-size: .9rem; 33 | } 34 | 35 | 36 | .highlight { 37 | background-color:rgb(241, 209, 255); 38 | margin: 0 -0.4em; 39 | padding: 0.1em 0.4em; 40 | border-radius: 0.8em 0.3em; 41 | background: transparent; 42 | background-image: linear-gradient( 43 | to right, 44 | rgba(221, 141, 255, 0.2), 45 | rgba(221, 141, 255, 0.7) 4%, 46 | rgba(221, 141, 255, 0.4) 47 | ); 48 | -webkit-box-decoration-break: clone; 49 | box-decoration-break: clone; 50 | } 51 | 52 | .highlight-link { 53 | background-color:rgb(241, 209, 255); 54 | margin: 0 -0.4em; 55 | padding: 0.1em 0.4em; 56 | border-radius: 0.8em 0.3em; 57 | background: transparent; 58 | background-image: linear-gradient( 59 | to right, 60 | rgba(221, 141, 255, 0.2), 61 | rgba(221, 141, 255, 0.7) 4%, 62 | rgba(221, 141, 255, 0.4) 63 | ); 64 | -webkit-box-decoration-break: clone; 65 | box-decoration-break: clone; 66 | color: #1779ba; 67 | } 68 | 69 | .student-q { 70 | color: DarkMagenta; 71 | font-style: italic; 72 | padding: 0.2em; 73 | border-radius: 0.2em; 74 | } 75 | 76 | @import "quotes"; 77 | 78 | {%- for member in site.data.people -%} 79 | {%- if member.color -%} 80 | 81 | .chat .chat-history .{{ member.id }}-message { 82 | background: {{ member.color }}; 83 | } 84 | .chat .chat-history .{{ member.id }}-message:after { 85 | border-color: {{ member.color }} transparent; 86 | right: 20px; 87 | top: -15px; 88 | left: auto; 89 | bottom:auto; 90 | } 91 | 92 | .{{ member.id }} { 93 | color: {{ member.color }}; 94 | } 95 | {%- endif -%} 96 | {%- endfor -%} 97 | 98 | @import "timeline"; 99 | 100 | @import "toc"; 101 | 102 | @import "cards"; 103 | 104 | @import "tags"; 105 | 106 | @import "linkCell"; 107 | 108 | @import "searchToggle"; 109 | 110 | @import "navBar"; -------------------------------------------------------------------------------- /assets/javascript/anchor.min.js: -------------------------------------------------------------------------------- 1 | // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat 2 | // 3 | // AnchorJS - v4.2.2 - 2019-11-14 4 | // https://www.bryanbraun.com/anchorjs/ 5 | // Copyright (c) 2019 Bryan Braun; Licensed MIT 6 | // 7 | // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat 8 | !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); 9 | // @license-end -------------------------------------------------------------------------------- /assets/javascript/bootstrap-toc.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/) 3 | * Copyright 2015 Aidan Feldman 4 | * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ 5 | !function(a){"use strict";window.Toc={helpers:{findOrFilter:function(e,t){var n=e.find(t);return e.filter(t).add(n).filter(":not([data-toc-skip])")},generateUniqueIdBase:function(e){return a(e).text().trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase()||e.tagName.toLowerCase()},generateUniqueId:function(e){for(var t=this.generateUniqueIdBase(e),n=0;;n++){var r=t;if(0')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1= colors.length) { 25 | let hash = 0; 26 | for (let i = 0; i < lowerCaseTag.length; i++) { 27 | hash = lowerCaseTag.charCodeAt(i) + ((hash << 5) - hash); 28 | } 29 | const index = Math.abs(hash % colors.length); 30 | colorAssignment[lowerCaseTag] = colors[index]; 31 | } else { 32 | for (let color of colors) { 33 | if (!Object.values(colorAssignment).includes(color)) { 34 | colorAssignment[lowerCaseTag] = color; 35 | break; 36 | } 37 | } 38 | } 39 | 40 | return colorAssignment[lowerCaseTag]; 41 | } 42 | 43 | function extractStartYear(cycle) { 44 | const match = cycle.match(/(\d{4})/); 45 | return match ? parseInt(match[1], 10) : 0; 46 | } 47 | 48 | function createTimeline(events) { 49 | var items = events.map(function(event, index) { 50 | return { 51 | id: index + 1, 52 | content: event.description, 53 | start: `2020-${event.date}`, 54 | className: event.type 55 | }; 56 | }); 57 | 58 | var options = { 59 | width: '100%', 60 | height: '300px', 61 | margin: { 62 | item: 10 63 | } 64 | }; 65 | 66 | //var timeline = new vis.Timeline(document.getElementById('timeline'), new vis.DataSet(items), options); 67 | } 68 | 69 | function generateContentSections(types, data) { 70 | // Sort the data by year 71 | data.sort(function(a, b) { 72 | const aYear = extractStartYear(a.cycle || ''); 73 | const bYear = extractStartYear(b.cycle || ''); 74 | return bYear - aYear; 75 | }); 76 | 77 | var allTags = new Set(); 78 | 79 | // Loop through the data and generate the necessary HTML 80 | data.forEach(function(item) { 81 | if (item.tags) { 82 | item.tags.forEach(tag => allTags.add(tag.toLowerCase())); 83 | } 84 | 85 | var tagHtml = item.tags ? item.tags.map(tag => `${tag}`).join(' ') : ''; 86 | 87 | var cardHtml = ` 88 |
    89 |
    90 | ${item.profileImageLoc ? `Profile Image` : ''} 91 |
    92 |

    ${item.name}

    93 |

    ${item.cycle} cycle

    94 | ${tagHtml} 95 |
    96 |
    97 | 98 |
    99 |
    100 |
    101 | `; 102 | 103 | $("#peopleContent").append(cardHtml); 104 | 105 | // Populate sections dynamically based on contributionTypes.json 106 | Object.keys(types).forEach(key => { 107 | if (item[key]) { 108 | var sectionHtml = ``; 109 | $(`#${key}Content`).append(sectionHtml); 110 | } 111 | }); 112 | }); 113 | 114 | allTags.forEach(tag => { 115 | const tagColor = getColorForTag(tag); 116 | $("#tagContainer").append(``); 117 | }); 118 | } 119 | 120 | $.getJSON("../assets/materials/contributors.json", function(data) { 121 | $.getJSON("../assets/materials/contributionTypes.json", function(types) { 122 | // Create the HTML structure for each type 123 | 124 | const siteUrl = $('.grid-container').data('site-url'); 125 | const baseUrl = $('.grid-container').data('base-url'); 126 | 127 | Object.keys(types).forEach(key => { 128 | const [order, label, detailsLinkLoc] = types[key]; 129 | const sectionHtml = ` 130 |

    Example ${label}s 131 | 132 |

    133 | ${detailsLinkLoc ? `

    (Click here for more information about preparing your ${label})

    ` : ''} 134 |
    135 | 136 |
    137 | `; 138 | 139 | $("#linkCellContent").append(sectionHtml); 140 | }); 141 | 142 | generateContentSections(types, data); 143 | }); 144 | 145 | // Handle tag filter logic 146 | function updateFiltering() { 147 | const selectedTags = $(".tag-filter.selected").map(function() { 148 | return $(this).data("tag"); 149 | }).get(); 150 | 151 | const filterMode = $("#filterModeToggle").is(":checked") ? "OR" : "AND"; 152 | $("#toggleLabel").text(filterMode); 153 | 154 | $(".person-card, .link-cell").each(function() { 155 | const tags = $(this).data("tags") ? $(this).data("tags").split(',') : []; 156 | const matches = selectedTags.filter(tag => tags.includes(tag)); 157 | 158 | if (filterMode === "AND") { 159 | if (matches.length === selectedTags.length) { 160 | $(this).show(); 161 | } else { 162 | $(this).hide(); 163 | } 164 | } else { 165 | if (matches.length > 0) { 166 | $(this).show(); 167 | } else { 168 | $(this).hide(); 169 | } 170 | } 171 | }); 172 | } 173 | 174 | $(document).on("click", ".button[data-open='exampleModal1']", function(event) { 175 | var id = $(this).data("id"); 176 | var timelinePath = "/grad-job-guide/assets/materials/" + $(this).data("timeline"); 177 | var item = data.find(i => i.id == id); 178 | 179 | $("#modalTitle").text(item.name); 180 | $("#modalCycle").text(`${item.cycle} cycle`); 181 | 182 | if (item.profileImageLoc) { 183 | $("#modalImage").attr("src", "/grad-job-guide/assets/materials/" + item.profileImageLoc).show(); 184 | } else { 185 | $("#modalImage").hide(); 186 | } 187 | 188 | var modalContent = ''; 189 | 190 | // Dynamically add the content based on the contributionTypes.json 191 | $.getJSON("../assets/materials/contributionTypes.json", function(types) { 192 | Object.keys(types).forEach(key => { 193 | if (item[key]) { 194 | modalContent += ``; 195 | } 196 | }); 197 | $("#modalContent").html(modalContent); 198 | }); 199 | 200 | // Open the modal 201 | $('#exampleModal1').foundation('open'); 202 | }); 203 | 204 | $(document).on('open.zf.reveal', '[data-reveal]', function(event) { 205 | console.log('Reveal modal opened'); 206 | var modal = $(this); 207 | console.log('Modal top position:', modal.css('top')); 208 | }); 209 | 210 | $("#search").on("input", function() { 211 | var query = $(this).val().toLowerCase(); 212 | $(".person-card, .link-cell").each(function() { 213 | var name = $(this).data("name"); 214 | var tags = $(this).data("tags"); 215 | 216 | if (name.includes(query) || (tags && tags.includes(query))) { 217 | $(this).show(); 218 | } else { 219 | $(this).hide(); 220 | } 221 | }); 222 | }); 223 | 224 | $(document).on("click", ".tag-filter", function(event) { 225 | const originalColor = $(this).data("original-color"); 226 | if ($(this).hasClass("selected")) { 227 | $(this).removeClass("selected").css({ 228 | "background-color": "#a2a2a2", 229 | "border": "2px solid", 230 | "border-color": "#a2a2a2" 231 | }); 232 | } else { 233 | $(this).addClass("selected").css({ 234 | "background-color": originalColor, 235 | "border": "2px solid", 236 | "border-color": "black" 237 | }); 238 | } 239 | 240 | updateFiltering(); 241 | $(document).foundation(); 242 | }); 243 | 244 | $("#filterModeToggle").on('change', updateFiltering); 245 | }).fail(function(jqxhr, textStatus, error) { 246 | console.error("Error loading contributors.json:", textStatus, error); 247 | }); 248 | 249 | $(document).foundation(); 250 | -------------------------------------------------------------------------------- /assets/javascript/timeline.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | console.log("Document is ready!"); 3 | 4 | var tls = $(".guide-timeline"); 5 | 6 | tls.each(function(_, tl) { 7 | console.log("Processing timeline for " + $(tl).data("person")); 8 | 9 | var header = $(tl).find('.timeline-header'); 10 | console.log("Header found: ", header.length); // This should be greater than 0 11 | 12 | // Attach click event 13 | header.css('cursor', 'pointer'); // Ensure the header shows as clickable 14 | header.on('click', function() { 15 | console.log("Clicked on " + $(tl).data("person")); 16 | 17 | var content = $(tl).find('.timeline-content'); 18 | var toggleText = $(tl).find('.toggle-timeline'); 19 | 20 | // Check the current visibility state before toggling 21 | if (content.is(":visible")) { 22 | toggleText.text('(click to expand)'); 23 | } else { 24 | toggleText.text('(click to collapse)'); 25 | } 26 | 27 | content.slideToggle(300); // Slide animation for better UX 28 | 29 | // Check if the content is already loaded using a custom flag 30 | if (!$(tl).data('loaded')) { 31 | console.log("Loading JSON for " + $(tl).data("person")); 32 | $.getJSON($(tl).data("src")) 33 | .done(function(data) { 34 | console.log("Data loaded successfully for " + $(tl).data("person"), data); 35 | $.each(data, function(_, search) { 36 | var items = []; 37 | search.events.forEach(function(evt) { 38 | items.push(`
  • ${evt.date}: ${evt.description}
  • `); 39 | }); 40 | 41 | $("
      ", { 42 | html: items.join("") 43 | }).appendTo(content); 44 | }); 45 | 46 | // Set the loaded flag to true after content is added 47 | $(tl).data('loaded', true); 48 | 49 | }) 50 | .fail(function(jqxhr, textStatus, error) { 51 | var err = textStatus + ", " + error; 52 | console.error("Request Failed: " + err); 53 | }); 54 | } else { 55 | console.log("Content is already loaded."); 56 | } 57 | }); 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /assets/materials/akamil/akamil4_akamil.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/akamil4_akamil.jpg -------------------------------------------------------------------------------- /assets/materials/akamil/appcv_2015_akamil.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/appcv_2015_akamil.pdf -------------------------------------------------------------------------------- /assets/materials/akamil/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/readme.md -------------------------------------------------------------------------------- /assets/materials/akamil/research_2015_akamil.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/research_2015_akamil.pdf -------------------------------------------------------------------------------- /assets/materials/akamil/teaching_2015_akamil.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/teaching_2015_akamil.pdf -------------------------------------------------------------------------------- /assets/materials/akamil/umich-cover_2015_akamil.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/akamil/umich-cover_2015_akamil.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-bowdoin-cover-letter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-bowdoin-cover-letter.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-cv-f2019.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-cv-f2019.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-diversity-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-diversity-statement.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-research-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-research-statement.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-teaching-diversity-philosophy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-teaching-diversity-philosophy.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-teaching-philosophy-grad.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-teaching-philosophy-grad.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt-teaching-philosophy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt-teaching-philosophy.pdf -------------------------------------------------------------------------------- /assets/materials/angstadt/angstadt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/angstadt/angstadt.jpg -------------------------------------------------------------------------------- /assets/materials/angstadt/timeline.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "cycle": "2019-2020", 4 | "events": [ 5 | { 6 | "date": "Oct 17", 7 | "description": "Macalester College phone interview invite", 8 | "type": "phone-invitation" 9 | }, 10 | { 11 | "date": "Oct 23", 12 | "description": "Macalester College phone interview", 13 | "type": "phone-interview" 14 | }, 15 | { 16 | "date": "Oct 28", 17 | "description": "Bowdoin College phone interview invite", 18 | "type": "phone-invitation" 19 | }, 20 | { 21 | "date": "Oct 29", 22 | "description": "Grinnell College phone interview invite", 23 | "type": "phone-invitation" 24 | }, 25 | { 26 | "date": "Oct 30", 27 | "description": "Bowdoin College phone interview", 28 | "type": "phone-interview" 29 | }, 30 | { 31 | "date": "Oct 31", 32 | "description": "Macalester College invitation to interview", 33 | "type": "invitation" 34 | }, 35 | { 36 | "date": "Nov 1", 37 | "description": "Muhlenberg College phone interview invite", 38 | "type": "phone-invitation" 39 | }, 40 | { 41 | "date": "Nov 5", 42 | "description": "St. Lawrence University phone interview invite", 43 | "type": "phone-invitation" 44 | }, 45 | { 46 | "date": "Nov 6", 47 | "description": "Grinnell College phone interview", 48 | "type": "phone-interview" 49 | }, 50 | { 51 | "date": "Nov 6", 52 | "description": "Muhlenberg College phone interview", 53 | "type": "phone-interview" 54 | }, 55 | { 56 | "date": "Nov 6", 57 | "description": "St. Lawrence University phone interview", 58 | "type": "phone-interview" 59 | }, 60 | { 61 | "date": "Nov 6", 62 | "description": "Franklin & Marshall College phone interview invite", 63 | "type": "phone-invitation" 64 | }, 65 | { 66 | "date": "Nov 7", 67 | "description": "St. Lawrence University invitation to interview", 68 | "type": "invitation" 69 | }, 70 | { 71 | "date": "Nov 10", 72 | "description": "Amherst College invitation to interview", 73 | "type": "invitation" 74 | }, 75 | { 76 | "date": "Nov 12-16", 77 | "description": "Macalester College interview", 78 | "type": "interview" 79 | }, 80 | { 81 | "date": "Nov 13", 82 | "description": "Grinnell College invitation to interview", 83 | "type": "invitation" 84 | }, 85 | { 86 | "date": "Nov 14", 87 | "description": "Franklin & Marshall College phone interview", 88 | "type": "phone-interview" 89 | }, 90 | { 91 | "date": "Nov 14", 92 | "description": "Wellesley College phone interview invite", 93 | "type": "phone-invitation" 94 | }, 95 | { 96 | "date": "Nov 15", 97 | "description": "Bowdoin College invitation to interview", 98 | "type": "invitation" 99 | }, 100 | { 101 | "date": "Nov 17", 102 | "description": "Wellesley College phone interview", 103 | "type": "phone-interview" 104 | }, 105 | { 106 | "date": "Nov 19-20", 107 | "description": "St. Lawrence University interview", 108 | "type": "interview" 109 | }, 110 | { 111 | "date": "Nov 20", 112 | "description": "Franklin & Marshall College invitation to interview", 113 | "type": "invitation" 114 | }, 115 | { 116 | "date": "Nov 22", 117 | "description": "Wellesley College invitation to interview", 118 | "type": "invitation" 119 | }, 120 | { 121 | "date": "Nov 23", 122 | "description": "I decline my F&M interview", 123 | "type": "decline-interview" 124 | }, 125 | { 126 | "date": "Nov 25-26", 127 | "description": "Grinnell College interview", 128 | "type": "interview" 129 | }, 130 | { 131 | "date": "Nov 27", 132 | "description": "St. Lawrence informs me that they well be making an official offer", 133 | "type": "other" 134 | }, 135 | { 136 | "date": "Dec 1", 137 | "description": "Bucknell University phone interview invite", 138 | "type": "phone-invitation" 139 | }, 140 | { 141 | "date": "Dec 2", 142 | "description": "Carleton College phone interview invite", 143 | "type": "phone-invitation" 144 | }, 145 | { 146 | "date": "Dec 3", 147 | "description": "Bridgewater State University phone interview invite", 148 | "type": "phone-invitation" 149 | }, 150 | { 151 | "date": "Dec 4", 152 | "description": "Muhlenberg College interview", 153 | "type": "interview" 154 | }, 155 | { 156 | "date": "Dec 4", 157 | "description": "Middlebury College phone interview invite", 158 | "type": "phone-invitation" 159 | }, 160 | { 161 | "date": "Dec 4", 162 | "description": "St. Lawrence makes official offer, eventually requiring a decision by 1/13", 163 | "type": "offer" 164 | }, 165 | { 166 | "date": "Dec 6", 167 | "description": "Muhlenberg makes official offer, requires decision by 12/9 and will not extend", 168 | "type": "offer" 169 | }, 170 | { 171 | "date": "Dec 6-7", 172 | "description": "Bowdoin College interview", 173 | "type": "interview" 174 | }, 175 | { 176 | "date": "Dec 7", 177 | "description": "Colgate University phone interview invite", 178 | "type": "phone-invitation" 179 | }, 180 | { 181 | "date": "Dec 8", 182 | "description": "I decline the offer from Muhlenberg", 183 | "type": "decline-offer" 184 | }, 185 | { 186 | "date": "Dec 9", 187 | "description": "Middlebury College phone interview", 188 | "type": "phone-interview" 189 | }, 190 | { 191 | "date": "Dec 10", 192 | "description": "Amherst College interview", 193 | "type": "interview" 194 | }, 195 | { 196 | "date": "Dec 10", 197 | "description": "ASU phone interview invite", 198 | "type": "phone-invitation" 199 | }, 200 | { 201 | "date": "Dec 11", 202 | "description": "Middlebury College invitation to interview", 203 | "type": "invitation" 204 | }, 205 | { 206 | "date": "Dec 11", 207 | "description": "I decline my Middlebury interview", 208 | "type": "decline-interview" 209 | }, 210 | { 211 | "date": "Dec 12", 212 | "description": "Wellesley College interview", 213 | "type": "interview" 214 | }, 215 | { 216 | "date": "Dec 12", 217 | "description": "Carleton College phone interview", 218 | "type": "phone-interview" 219 | }, 220 | { 221 | "date": "Dec 13", 222 | "description": "Bucknell University phone interview", 223 | "type": "phone-interview" 224 | }, 225 | { 226 | "date": "Dec 13", 227 | "description": "Carleton College invitation to interview", 228 | "type": "invitation" 229 | }, 230 | { 231 | "date": "Dec 13", 232 | "description": "I decline my Carelton interview", 233 | "type": "decline-interview" 234 | }, 235 | { 236 | "date": "Dec 13", 237 | "description": "I decline my BSU phone interview", 238 | "type": "decline-interview" 239 | }, 240 | { 241 | "date": "Dec 13", 242 | "description": "Swarthmore asks if I'm still interested in interviewing", 243 | "type": "other" 244 | }, 245 | { 246 | "date": "Dec 13", 247 | "description": "ASU phone interview", 248 | "type": "phone-interview" 249 | }, 250 | { 251 | "date": "Dec 13", 252 | "description": "Bowdoin makes official offer, eventually requires decision by 12/23", 253 | "type": "offer" 254 | }, 255 | { 256 | "date": "Dec 13", 257 | "description": "Macalester makes official offer, eventually requiring a decision by 12/23", 258 | "type": "offer" 259 | }, 260 | { 261 | "date": "Dec 13", 262 | "description": "Wellesley makes official offer, eventually requiring a decision by 12/23", 263 | "type": "offer" 264 | }, 265 | { 266 | "date": "Dec 15", 267 | "description": "I withdraw from the search at Swarthmore", 268 | "type": "decline-interview" 269 | }, 270 | { 271 | "date": "Dec 16", 272 | "description": "I withdraw from the search at Bucknell", 273 | "type": "decline-interview" 274 | }, 275 | { 276 | "date": "Dec 20", 277 | "description": "Grinnell makes official offer, eventually requiring a decision by 12/27", 278 | "type": "offer" 279 | }, 280 | { 281 | "date": "Dec 23", 282 | "description": "I accept St. Lawrence and turn down all remaining offers", 283 | "type": "accept" 284 | } 285 | ] 286 | } 287 | ] -------------------------------------------------------------------------------- /assets/materials/begel/begel-cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/begel/begel-cv.pdf -------------------------------------------------------------------------------- /assets/materials/begel/begel-research.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/begel/begel-research.pdf -------------------------------------------------------------------------------- /assets/materials/begel/begel-teaching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/begel/begel-teaching.pdf -------------------------------------------------------------------------------- /assets/materials/contributionTypes.json: -------------------------------------------------------------------------------- 1 | { 2 | "coverLetter": [1, "Cover Letter", "applying/#cover-letters"], 3 | "cv": [2, "CVs/Resume", "applying/#preparing-your-resume"], 4 | "researchStatement": [3, "Research Statement", "applying/#preparing-your-statements"], 5 | "teachingStatement": [4, "Teaching Statement", "applying/#teaching-statement"], 6 | "diversityStatement": [5, "Diversity Statement", "applying/#diversity-statement"], 7 | "jobTalk": [6, "Job Talk", "interviewing/#preparing-your-job-talk"], 8 | "teachingTalk": [7, "Teaching Talk", "interviewing/#preparing-your-teaching-talk"] 9 | } -------------------------------------------------------------------------------- /assets/materials/contributors.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "name": "Kevin Leach", 5 | "cycle": "2020-2021", 6 | "coverLetter": "kleach/kleach-cover-letter.pdf", 7 | "cv": "kleach/kleach-cv-2020.pdf", 8 | "diversityStatement": "kleach/kleach-diversity-statement.pdf", 9 | "researchStatement": "kleach/kleach-research-statement.pdf", 10 | "teachingStatement": "kleach/kleach-teachingStatement.pdf", 11 | "timeline": "kleach/timeline.json", 12 | "profileImageLoc": "kleach/kleach.jpg", 13 | "tags": ["Dual Career Search", "Security", "Software Engineering", "Post-doc", "R1 Tenure Track"] 14 | }, 15 | { 16 | "id": 2, 17 | "name": "Westley Weimer", 18 | "cycle": "2004-2005", 19 | "coverLetter": "weimer/weimer-cover-letter.pdf", 20 | "coverLetterSpecific": "weimer/weimer-cover-letter-umass.pdf", 21 | "cv": "weimer/weimer-resume.pdf", 22 | "researchStatement": "weimer/weimer-research.pdf", 23 | "teachingStatement": "weimer/weimer-teaching.pdf", 24 | "timeline": "weimer/timeline.json", 25 | "profileImageLoc": "weimer/weimerw.jpg", 26 | "tags": ["Programming Languages", "Software Engineering", "No Post-doc", "R1 Tenure Track"] 27 | }, 28 | { 29 | "id": 3, 30 | "name": "Ranjit Jhala", 31 | "cycle": "2003-2004", 32 | "coverLetter": "jhala/rj-cover-generic3.pdf", 33 | "researchStatement": "jhala/Jhala-Research.pdf", 34 | "teachingStatement": "jhala/Jhala-Teaching.pdf", 35 | "tags": ["Programming Languages", "No Post-doc", "R1 Tenure Track"] 36 | }, 37 | { 38 | "id": 4, 39 | "name": "Claire Le Goues", 40 | "cycle": "2012-2013", 41 | "cv": "legoues/legoues-cv.pdf", 42 | "researchStatement": "legoues/legoues-research-statement.pdf", 43 | "teachingStatement": "legoues/legoues-teaching-statement.pdf", 44 | "timeline": "legoues/timeline.json", 45 | "profileImageLoc": "legoues/claire.jpg", 46 | "tags": ["Software Engineering", "No Post-doc", "R1 Tenure Track"] 47 | }, 48 | { 49 | "id": 5, 50 | "name": "Kevin Angstadt", 51 | "cycle": "2019-2020", 52 | "coverLetter": "angstadt/angstadt-bowdoin-cover-letter.pdf", 53 | "coverLetterSpecific": "angstadt/angstadt-bowdoin-cover-letter.pdf", 54 | "cv": "angstadt/angstadt-cv-f2019.pdf", 55 | "researchStatement": "angstadt/angstadt-research-statement.pdf", 56 | "teachingStatement": "angstadt/angstadt-teaching-philosophy.pdf", 57 | "diversityStatement": "angstadt/angstadt-diversity-statement.pdf", 58 | "timeline": "angstadt/timeline.json", 59 | "profileImageLoc": "angstadt/angstadt.jpg", 60 | "tags": ["Programming Languages", "Software Engineering", "No Post-doc", "Liberal Arts Tenure Track"] 61 | }, 62 | { 63 | "id": 6, 64 | "name": "Zak Fry", 65 | "cycle": "2013-2014", 66 | "cv": "fry/fry-cv.pdf", 67 | "researchStatement": "fry/ZakFry_ResearchStatement.pdf", 68 | "profileImageLoc": "fry/zak.jpeg", 69 | "tags": ["Software Engineering", "Industrial Research", "No Post-doc"] 70 | }, 71 | { 72 | "id": 7, 73 | "name": "Sorin Lerner", 74 | "cycle": "2004-2005", 75 | "cv": "lerner/lerner-cv.pdf", 76 | "researchStatement": "lerner/lerner-research.pdf", 77 | "teachingStatement": "lerner/lerner-teaching.pdf", 78 | "tags": ["Programming Languages", "No Post-doc", "R1 Tenure Track"] 79 | }, 80 | { 81 | "id": 8, 82 | "name": "Andy Begel", 83 | "cycle": "2004-2005", 84 | "cv": "begel/begel-cv.pdf", 85 | "researchStatement": "begel/begel-research.pdf", 86 | "teachingStatement": "begel/begel-teaching.pdf", 87 | "tags": ["Programming Languages", "Software Engineering", "Human Computer Interaction", "No Post-doc", "Industrial Research", "R1 Tenure Track"] 88 | }, 89 | { 90 | "id": 9, 91 | "name": "John Whaley", 92 | "cycle": "2004-2005", 93 | "cv": "whaley/whaley-cv.pdf", 94 | "researchStatement": "whaley/whaley-research.pdf", 95 | "teachingStatement": "whaley/whaley-teaching.pdf", 96 | "tags": ["Programming Languages", "Software Engineering"] 97 | }, 98 | { 99 | "id": 10, 100 | "name": "Madeline Endres", 101 | "cycle": "2023-2024", 102 | "coverLetter": "endremad/Endres_coverLetter.pdf", 103 | "cv": "endremad/Endres_cv_feb.pdf", 104 | "researchStatement": "endremad/Endres_researchStatement.pdf", 105 | "teachingStatement": "endremad/Endres_teachingStatement.pdf", 106 | "diversityStatement": "endremad/Endres_diversityStatement.pdf", 107 | "timeline": "endremad/timeline.json", 108 | "profileImageLoc": "endremad/Endres_headshot.jpeg", 109 | "jobTalk": "endremad/Endres_jobTalk.pdf", 110 | "tags": ["Software Engineering", "Programming Languages", "No Post-doc", "R1 Tenure Track"] 111 | }, 112 | { 113 | "id": 11, 114 | "name": "Hammad Ahmad", 115 | "cycle": "2023-2024", 116 | "coverLetter": "hammada/Hammad_CMU_cover_letter.pdf", 117 | "researchStatement": "hammada/research_statementHammadAhmad.pdf", 118 | "teachingStatement": "hammada/teaching_statementHammadAhmad.pdf", 119 | "diversityStatement": "hammada/DEI_statementHammadAhmad.pdf", 120 | "profileImageLoc": "hammada/hammad_headshot.png", 121 | "teachingTalk": "hammada/teaching_talk_hash_tables.pdf", 122 | "timeline": "hammada/timeline.json", 123 | "tags": ["Software Engineering", "No Post-doc", "Teaching-Focused Position"] 124 | }, 125 | { 126 | "id": 12, 127 | "name": "Amir Kamil", 128 | "cycle": "2014-2015", 129 | "cv": "akamil/appcv_2015_akamil.pdf", 130 | "coverLetter": "akamil/umich-cover_2015_akamil.pdf", 131 | "researchStatement": "akamil/research_2015_akamil.pdf", 132 | "teachingStatement": "akamil/teaching_2015_akamil.pdf", 133 | "profileImageLoc": "akamil/akamil4_akamil.jpg", 134 | "tags": ["Programming Languages", "High Performance Computing", "Teaching-Focused Position", "No Post-doc"] 135 | } 136 | ] 137 | 138 | -------------------------------------------------------------------------------- /assets/materials/deirubrics/DEI-Statement-Rubric-Colorado-Denver.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/deirubrics/DEI-Statement-Rubric-Colorado-Denver.pdf -------------------------------------------------------------------------------- /assets/materials/deirubrics/DEI-Statement-Rubric-MSU.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/deirubrics/DEI-Statement-Rubric-MSU.pdf -------------------------------------------------------------------------------- /assets/materials/deirubrics/DEI-Statement-Rubric-UC-Irvine.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/deirubrics/DEI-Statement-Rubric-UC-Irvine.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_coverLetter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_coverLetter.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_cv_feb.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_cv_feb.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_diversityStatement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_diversityStatement.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_headshot.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_headshot.jpeg -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_jobTalk.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_jobTalk.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_researchStatement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_researchStatement.pdf -------------------------------------------------------------------------------- /assets/materials/endremad/Endres_teachingStatement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/endremad/Endres_teachingStatement.pdf -------------------------------------------------------------------------------- /assets/materials/fry/ZakFry_ResearchStatement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/fry/ZakFry_ResearchStatement.pdf -------------------------------------------------------------------------------- /assets/materials/fry/fry-cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/fry/fry-cv.pdf -------------------------------------------------------------------------------- /assets/materials/fry/zak.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/fry/zak.jpeg -------------------------------------------------------------------------------- /assets/materials/hammada/DEI_statementHammadAhmad.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/DEI_statementHammadAhmad.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/Hammad_CMU_cover_letter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/Hammad_CMU_cover_letter.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/Hammad_DEI_Statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/Hammad_DEI_Statement.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/Hammad_Research_Statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/Hammad_Research_Statement.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/Hammad_Teaching_Statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/Hammad_Teaching_Statement.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/hammad_headshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/hammad_headshot.png -------------------------------------------------------------------------------- /assets/materials/hammada/research_statementHammadAhmad.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/research_statementHammadAhmad.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/teaching_statementHammadAhmad.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/teaching_statementHammadAhmad.pdf -------------------------------------------------------------------------------- /assets/materials/hammada/teaching_talk_hash_tables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/hammada/teaching_talk_hash_tables.pdf -------------------------------------------------------------------------------- /assets/materials/jhala/Jhala-Research.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/jhala/Jhala-Research.pdf -------------------------------------------------------------------------------- /assets/materials/jhala/Jhala-Teaching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/jhala/Jhala-Teaching.pdf -------------------------------------------------------------------------------- /assets/materials/jhala/rj-cover-generic3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/jhala/rj-cover-generic3.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach-cover-letter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach-cover-letter.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach-cv-2020.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach-cv-2020.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach-diversity-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach-diversity-statement.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach-research-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach-research-statement.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach-teaching-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach-teaching-statement.pdf -------------------------------------------------------------------------------- /assets/materials/kleach/kleach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/kleach/kleach.jpg -------------------------------------------------------------------------------- /assets/materials/kleach/timeline.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "cycle": "2020-2021", 4 | "events": [ 5 | { 6 | "date": "Dec 3", 7 | "description": "University A phone interview invitation", 8 | "type": "phone-invitation" 9 | }, 10 | { 11 | "date": "Dec 4", 12 | "description": "University A phone interview", 13 | "type": "phone-interview" 14 | }, 15 | { 16 | "date": "Dec 8", 17 | "description": "University B Phone Interview invitation", 18 | "type": "phone-invitation" 19 | }, 20 | { 21 | "date": "Dec 16", 22 | "description": "University A Full interview invitation", 23 | "type": "interview-invitation" 24 | }, 25 | { 26 | "date": "Jan 7", 27 | "description": "University C full interview invitation (teaching)", 28 | "type": "interview-invitation" 29 | }, 30 | { 31 | "date": "Dec 23", 32 | "description": "Vanderbilt University phone interview invitation", 33 | "type": "phone-invitation" 34 | }, 35 | { 36 | "date": "Dec 29", 37 | "description": "Vanderbilt University phone interview", 38 | "type": "phone-interview" 39 | }, 40 | { 41 | "date": "Feb 4", 42 | "description": "University D phone interview", 43 | "type": "phone-interview" 44 | }, 45 | { 46 | "date": "Jan 16", 47 | "description": "Vanderbilt University full interview invitation", 48 | "type": "invitation" 49 | }, 50 | { 51 | "date": "Mar 4", 52 | "description": "University E full interview invitation", 53 | "type": "invitation" 54 | }, 55 | { 56 | "date": "Feb 10", 57 | "description": "University D full interview invitation", 58 | "type": "invitation" 59 | }, 60 | { 61 | "date": "Feb 18", 62 | "description": "University F full interview invitation", 63 | "type": "invitation" 64 | }, 65 | { 66 | "date": "Jan 8", 67 | "description": "University A full interview", 68 | "type": "interview" 69 | }, 70 | { 71 | "date": "Jan 28", 72 | "description": "University C full interview (teaching)", 73 | "type": "interview" 74 | }, 75 | { 76 | "date": "Jan 29", 77 | "description": "University B full interview", 78 | "type": "interview" 79 | }, 80 | { 81 | "date": "Feb 11", 82 | "description": "Vanderbilt University full interview", 83 | "type": "interview" 84 | }, 85 | { 86 | "date": "Feb 15", 87 | "description": "University G full interview (teaching)", 88 | "type": "interview" 89 | }, 90 | { 91 | "date": "Feb 18", 92 | "description": "University H full interview", 93 | "type": "interview" 94 | }, 95 | { 96 | "date": "Feb 22", 97 | "description": "University I phone interview", 98 | "type": "phone-interview" 99 | }, 100 | { 101 | "date": "Feb 24", 102 | "description": "University J phone interview", 103 | "type": "phone-interview" 104 | }, 105 | { 106 | "date": "Feb 24", 107 | "description": "University K phone interview", 108 | "type": "phone-interview" 109 | }, 110 | { 111 | "date": "Feb 25", 112 | "description": "University L full interview (teaching)", 113 | "type": "interview" 114 | }, 115 | { 116 | "date": "Feb 26", 117 | "description": "University F full interview", 118 | "type": "interview" 119 | }, 120 | { 121 | "date": "Mar 11", 122 | "description": "University M full interview", 123 | "type": "interview" 124 | }, 125 | { 126 | "date": "Mar 19", 127 | "description": "University E full interview (teaching)", 128 | "type": "interview" 129 | }, 130 | { 131 | "date": "Jan 27", 132 | "description": "Teaching-track offer from University A (no formal deadline)", 133 | "type": "offer" 134 | }, 135 | { 136 | "date": "Feb 9", 137 | "description": "Tenure-track offer from University B (no formal deadline)", 138 | "type": "offer" 139 | }, 140 | { 141 | "date": "Mar 3", 142 | "description": "Tenure-track offer from Vanderbilt University (original deadline March 15, extended to April 6)", 143 | "type": "offer" 144 | }, 145 | { 146 | "date": "Mar 8", 147 | "description": "Tenure-track offer from University H (deadline March 15)", 148 | "type": "offer" 149 | }, 150 | { 151 | "date": "Mar 24", 152 | "description": "Tenure-track offer from University M (no formal deadline)", 153 | "type": "offer" 154 | }, 155 | { 156 | "date": "Apr 1", 157 | "description": "Teaching-track offer from University G (no formal deadline)", 158 | "type": "offer" 159 | }, 160 | { 161 | "date": "Apr 1", 162 | "description": "Teaching-track offer from University C (no formal deadline)", 163 | "type": "offer" 164 | }, 165 | { 166 | "date": "Apr 6", 167 | "description": "Teaching-track offer from University E", 168 | "type": "offer" 169 | } 170 | ] 171 | } 172 | ] 173 | -------------------------------------------------------------------------------- /assets/materials/legoues/claire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/legoues/claire.jpg -------------------------------------------------------------------------------- /assets/materials/legoues/legoues-cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/legoues/legoues-cv.pdf -------------------------------------------------------------------------------- /assets/materials/legoues/legoues-research-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/legoues/legoues-research-statement.pdf -------------------------------------------------------------------------------- /assets/materials/legoues/legoues-teaching-statement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/legoues/legoues-teaching-statement.pdf -------------------------------------------------------------------------------- /assets/materials/legoues/timeline.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "cycle": "2012-2013", 4 | "events": [ 5 | { 6 | "date": "Early Nov", 7 | "description": "Lincoln Labs invitation to interview. ", 8 | "type": "invitation" 9 | }, 10 | { 11 | "date": "Nov 27-28", 12 | "description": "Lincoln Labs interview", 13 | "type": "invitation" 14 | }, 15 | { 16 | "date": "Jan 10", 17 | "description": "Georgia Tech invitation to interview.", 18 | "type": "invitation" 19 | }, 20 | { 21 | "date": "Jan 18", 22 | "description": "UNM phone interview.", 23 | "type": "phone-interview" 24 | }, 25 | { 26 | "date": "Jan 22", 27 | "description": "UNM invitation to interview.", 28 | "type": "invitation" 29 | }, 30 | { 31 | "date": "Jan 28", 32 | "description": "NCSU invitation to interview.", 33 | "type": "invitation" 34 | }, 35 | { 36 | "date": "Jan 30", 37 | "description": "GMU phone interview invite.", 38 | "type": "phone-invitation" 39 | }, 40 | { 41 | "date": "Feb 8", 42 | "description": "UIUC invitation to interview.", 43 | "type": "invitation" 44 | }, 45 | { 46 | "date": "Feb 11-13", 47 | "description": "UNM interview.", 48 | "type": "interview" 49 | }, 50 | { 51 | "date": "Feb 12", 52 | "description": "Iowa State invitation to interview.", 53 | "type": "invitation" 54 | }, 55 | { 56 | "date": "Feb 13", 57 | "description": "WUSTL invitation to interview.", 58 | "type": "invitation" 59 | }, 60 | { 61 | "date": "Feb 14", 62 | "description": "Waterloo invitation to interview.", 63 | "type": "invitation" 64 | }, 65 | { 66 | "date": "Feb 18-20", 67 | "description": "Georgia Tech interview.", 68 | "type": "interview" 69 | }, 70 | { 71 | "date": "Feb 14", 72 | "description": "Lincoln Labs makes an official offer. (Lincoln expressly deferred making an offer to try to line up with the academic interview timeline.)", 73 | "type": "offer" 74 | }, 75 | { 76 | "date": "Feb 14", 77 | "description": "GMU invitation to interview.", 78 | "type": "invitation" 79 | }, 80 | { 81 | "date": "Feb 22", 82 | "description": "Initial UNM offer, eventually requires a decision by Mar 25.", 83 | "type": "offer" 84 | }, 85 | { 86 | "date": "Feb 21-23", 87 | "description": "NCSU interview.", 88 | "type": "interview" 89 | }, 90 | { 91 | "date": "Feb 27-Mar 1", 92 | "description": "UIUC interview", 93 | "type": "interview" 94 | }, 95 | { 96 | "date": "Mar 5-8", 97 | "description": "Waterloo interview", 98 | "type": "interview" 99 | }, 100 | { 101 | "date": "Mar 8", 102 | "description": "NCSU makes an initial offer (eventual deadline: 4/5, not extensible) ", 103 | "type": "offer" 104 | }, 105 | { 106 | "date": "Mar 19", 107 | "description": "I decline my Iowa State interview. ", 108 | "type": "decline-interview" 109 | }, 110 | { 111 | "date": "Mar 24-25", 112 | "description": "GMU interview", 113 | "type": "interview" 114 | }, 115 | { 116 | "date": "Mar 31-Apr 2", 117 | "description": "WUSTL interview", 118 | "type": "interview" 119 | }, 120 | { 121 | "date": "Apr 5", 122 | "description": "I decline Lincoln Labs.", 123 | "type": "decline-offer" 124 | }, 125 | { 126 | "date": "Apr 5", 127 | "description": "CMU invitation to interview", 128 | "type": "invitation" 129 | }, 130 | { 131 | "date": "Apr 10", 132 | "description": "GMU makes an initial offer, eventual deadline of 5/15", 133 | "type": "offer" 134 | }, 135 | { 136 | "date": "Apr 25", 137 | "description": "UIUC makes an official offer, eventually requires a decision by 5/20", 138 | "type": "offer" 139 | }, 140 | { 141 | "date": "Apr 26", 142 | "description": "Waterloo makes an official offer, eventually requires a decision by 5/14, extended to 5/21 and arbitrarily extensible after that. ", 143 | "type": "offer" 144 | }, 145 | { 146 | "date": "Apr 24-27", 147 | "description": "CMU interview", 148 | "type": "interview" 149 | }, 150 | { 151 | "date": "Apr 30", 152 | "description": "WUSTL rejects me. ", 153 | "type": "reject" 154 | }, 155 | { 156 | "date": "May 2-5", 157 | "description": "Waterloo second visit. ", 158 | "type": "other" 159 | }, 160 | { 161 | "date": "May 7", 162 | "description": "I decline GMU.", 163 | "type": "decline-offer" 164 | }, 165 | { 166 | "date": "May 12-14", 167 | "description": "UIUC second visit", 168 | "type": "other" 169 | }, 170 | { 171 | "date": "May 15", 172 | "description": "CMU makes an official offer, though I heard news before then (weekly since my interview) that they were moving forward with my case. Deadline is May 31. ", 173 | "type": "offer" 174 | }, 175 | { 176 | "date": "May 13", 177 | "description": "Georgia Tech makes an official offer, requires a decision by May 31. ", 178 | "type": "offer" 179 | }, 180 | { 181 | "date": "May 20", 182 | "description": "I accept CMU and turn down remaining offers.", 183 | "type": "accept" 184 | } 185 | ] 186 | } 187 | ] 188 | -------------------------------------------------------------------------------- /assets/materials/lerner/lerner-cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/lerner/lerner-cv.pdf -------------------------------------------------------------------------------- /assets/materials/lerner/lerner-research.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/lerner/lerner-research.pdf -------------------------------------------------------------------------------- /assets/materials/lerner/lerner-teaching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/lerner/lerner-teaching.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/timeline.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "cycle": "2004-2005", 4 | "events": [ 5 | { 6 | "date": "Jan 11", 7 | "description": "IBM Research invitation to interview.", 8 | "type": "invitation" 9 | }, 10 | { 11 | "date": "Jan 15", 12 | "description": "Purdue invitation to interview.", 13 | "type": "invitation" 14 | }, 15 | { 16 | "date": "Jan 27", 17 | "description": "McGill invitation to interview. ", 18 | "type": "invitation" 19 | }, 20 | { 21 | "date": "Jan 31", 22 | "description": "Virginia invitation to interview.", 23 | "type": "invitation" 24 | }, 25 | { 26 | "date": "Feb 17", 27 | "description": "UMass-Amherst ECE invitation to phone interview. ", 28 | "type": "phone-invitation" 29 | }, 30 | { 31 | "date": "Feb 21", 32 | "description": "UMass-Amherst ECE phone interview. ", 33 | "type": "phone-interview" 34 | }, 35 | { 36 | "date": "Feb 22", 37 | "description": "UMass-Amherst ECE invitation to interview.", 38 | "type": "invitation" 39 | }, 40 | { 41 | "date": "Feb 23-25", 42 | "description": "Purdue interview.", 43 | "type": "interview" 44 | }, 45 | { 46 | "date": "Feb 25", 47 | "description": "Microsoft Research invitation to interview.", 48 | "type": "invitation" 49 | }, 50 | { 51 | "date": "Mar 01-04", 52 | "description": "Virginia interview.", 53 | "type": "interview" 54 | }, 55 | { 56 | "date": "Mar 7", 57 | "description": "Purdue makes an official offer, requires an answer by Mar 22.", 58 | "type": "offer" 59 | }, 60 | { 61 | "date": "Mar 14", 62 | "description": "NYU invitation to interview.", 63 | "type": "invitation" 64 | }, 65 | { 66 | "date": "Mar 16-19", 67 | "description": "IBM interview.", 68 | "type": "interview" 69 | }, 70 | { 71 | "date": "Mar 21-23", 72 | "description": "McGill interview.", 73 | "type": "interview" 74 | }, 75 | { 76 | "date": "Mar 23", 77 | "description": "Dartmouth rejects me without an interview.", 78 | "type": "reject" 79 | }, 80 | { 81 | "date": "Mar 23-26", 82 | "description": "Microsoft interview.", 83 | "type": "interview" 84 | }, 85 | { 86 | "date": "Mar 27-29", 87 | "description": "UMass-Amherst ECE interview.", 88 | "type": "interview" 89 | }, 90 | { 91 | "date": "Apr 04", 92 | "description": "Wesleyan invitation to interview.", 93 | "type": "invitation" 94 | }, 95 | { 96 | "date": "Apr 05-10", 97 | "description": "Present paper at conference.", 98 | "type": "other" 99 | }, 100 | { 101 | "date": "Apr 06", 102 | "description": "EPFL and Wisconsin reject me without an interview.", 103 | "type": "reject" 104 | }, 105 | { 106 | "date": "Apr 12-14", 107 | "description": "NYU interview.", 108 | "type": "interview" 109 | }, 110 | { 111 | "date": "Apr 14-16", 112 | "description": "Wesleyan interview.", 113 | "type": "interview" 114 | }, 115 | { 116 | "date": "Apr 25", 117 | "description": "UMass-Amherst ECE makes an official offer, requires an answer by Apr 30.", 118 | "type": "offer" 119 | }, 120 | { 121 | "date": "Apr 27", 122 | "description": "IBM makes an official offer.", 123 | "type": "offer" 124 | }, 125 | { 126 | "date": "May 09", 127 | "description": "Virginia makes an official offer.", 128 | "type": "offer" 129 | }, 130 | { 131 | "date": "May 14", 132 | "description": "NYU makes an official offer. ", 133 | "type": "offer" 134 | }, 135 | { 136 | "date": "May 31", 137 | "description": "MSR rejects me. ", 138 | "type": "reject" 139 | }, 140 | { 141 | "date": "Jun 02", 142 | "description": "Virginia offer accepted.", 143 | "type": "accept" 144 | } 145 | ] 146 | } 147 | ] -------------------------------------------------------------------------------- /assets/materials/weimer/weimer-cover-letter-umass.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimer-cover-letter-umass.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/weimer-cover-letter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimer-cover-letter.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/weimer-research.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimer-research.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/weimer-resume.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimer-resume.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/weimer-teaching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimer-teaching.pdf -------------------------------------------------------------------------------- /assets/materials/weimer/weimerw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/weimer/weimerw.jpg -------------------------------------------------------------------------------- /assets/materials/whaley/whaley-cv.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/whaley/whaley-cv.pdf -------------------------------------------------------------------------------- /assets/materials/whaley/whaley-research.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/whaley/whaley-research.pdf -------------------------------------------------------------------------------- /assets/materials/whaley/whaley-teaching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/assets/materials/whaley/whaley-teaching.pdf -------------------------------------------------------------------------------- /deciding.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Deciding Between Offers 4 | nav: Deciding 5 | description: >- 6 | Congratulations on your offer! Here are some things to consider after 7 | receiving a job offer. 8 | permalink: /deciding/ 9 | --- 10 | 11 | {% include_relative _deciding/timelines.md %} 12 | {% include_relative _deciding/deadlines.md %} 13 | {% include_relative _deciding/negotiations.md %} 14 | {% include_relative _deciding/rejection.md %} 15 | {% include_relative _deciding/deciding.md %} -------------------------------------------------------------------------------- /exampleMaterials.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Example Application Materials 4 | nav: Example Materials 5 | description: >- 6 | Compare and search through an assortment of example application portfolios for graduate CS Jobs. 7 | permalink: /exampleMaterials/ 8 | --- 9 | 10 | {% include_relative _exampleMaterials/overview.md %} 11 | {% include_relative _exampleMaterials/cardFiltering.md %} 12 | {% include_relative _exampleMaterials/contributionGuide.md %} -------------------------------------------------------------------------------- /icons/iconLineArt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/icons/iconLineArt.jpg -------------------------------------------------------------------------------- /icons/iconTrans.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSGuides/grad-job-guide/9665d441ffa316848efb8698a9d3cd98b31f3d7e/icons/iconTrans.jpg -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | # Feel free to add content and custom Front Matter to this file. 3 | # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults 4 | 5 | layout: default 6 | title: Computer Science Graduate Job and Interview Guide 7 | nav: Overview 8 | --- 9 | 10 | # Introduction 11 | 12 | *Are you currently in graduate school, and are you considering applying (or currently looking) for a post-graduate position in computer science?* 13 | 14 | **If so, this site is for you!** 15 | 16 | This website offers a *summary of experiences, insights, and advice*---including many personal opinions and accounts---*on navigating the job search process for computer science academia and industrial research labs*. It contains both general advice as well as detailed accounts of several job searches, including: 17 | 18 | * Multiple searches resulting in job offers at top-tier academic research institutions (e.g., 19 | CMU, UMass Amherst, etc.). 20 | * Multiple searches resulting in job offers in industrial research (e.g., 21 | GrammaTech, Lincoln Labs, etc.). 22 | * Multiple searches resulting in job offers at liberal arts colleges (e.g., 23 | Harvey Mudd, St. Lawrence, etc.). 24 | 25 | **This website is structured as a how-to guide for graduate students.** 26 | We provide collective advice, quote and commentary from a few individuals, and application materials from many individuals. 27 | We sometimes refer to [specific authors by name](about.md). 28 | 29 | # Is This Guide For Me? 30 | 31 | If you are in graduate school and either on the job market or planning to apply for CS-related jobs, this guide is for you. 32 | 33 | However, **this guide isn't just for students currently on the job market!** Even if 34 | you are are just starting graduate school, the sections on [finding job opportunities](jobs.md) 35 | and [application preparation](applying.md) can still be helpful. Your career 36 | goals will often inform the choices you make during your doctoral studies, making it important to 37 | be aware of the kinds of jobs available to you and what those jobs may value. 38 | 39 | It's also helpful to know what goes into an application package so you can plan ahead. 40 | For example, if you're aiming for an academic career that emphasizes 41 | teaching, you might plan for being a primary instructor ("instructor of 42 | record" at some institutions) while still a doctoral student. Conversely, if 43 | you are most interested in a research-focused career, you might instead choose 44 | to bolster your resume with industrial internships. *It's much better to know 45 | what to expect and plan ahead than to regret not doing something.* 46 | 47 | # Navigating This Guide 48 | 49 | This guide is organized around four major stages of a job search: 50 | 51 | 1. [Finding jobs](jobs.md) 52 | 2. [Preparing your application](applying.md) 53 | 3. [Interviewing](interviewing.md) 54 | 4. [Deciding between offers](deciding.md) 55 | 56 | This guide also contains 57 | [example application materials and interview resources](exampleMaterials.md) 58 | that were actually used in real job searches. 59 | These materials are tailored for different job types, including Research Tenure-Track positions 60 | (sometimes abbreviated "R1 TT"), 61 | Research Teaching-Focused positions, Liberal Arts Tenure-Track positions, and Industrial Research positions. 62 | 63 | We next briefly summarize each phase. 64 | 65 | ## Phase 1: [Finding Jobs](jobs.md) 66 | 67 | * "What types of jobs exist after CS graduate school?" 68 | 69 | * "What can I do in graduate school to prepare for the job I want?" 70 | 71 | * "How can I find jobs to apply to?" 72 | 73 | As you begin your search, a first step is to think about the types of jobs 74 | that appeal to you. We discuss various job opportunities in computer science 75 | for students earning doctoral degrees. Then we give pointers for discovering 76 | open searches and how to interpret job postings. 77 | 78 | ## Phase 2: [Preparing Your Application](applying.md) 79 | 80 | * "What do I need to apply to CS graduate jobs?" 81 | 82 | * "How should I write my application materials?" 83 | 84 | Applications are reasonably uniform across academic institutions, and many aspects 85 | of an academic application apply to industrial research as well. We provide 86 | high-level guidance to help you start crafting your application materials, along with 87 | concrete examples from successful job searches. 88 | 89 | ## Phase 3: [Interviewing](interviewing.md) 90 | 91 | * "When will I hear back from my applications?" 92 | 93 | * "What does an academic interview look like?" 94 | 95 | * "How should I structure my job talk?" 96 | 97 | We discuss common activities for interviews and give tips on preparing for 98 | questions---both those you’ll need to answer and those you might want to ask. 99 | 100 | ## Phase 4: [Making a Decision](deciding.md) 101 | 102 | * "Which job should I choose?!" 103 | 104 | * "How can I negotiate my offer?" 105 | 106 | When you reach the stage of considering job offers, it's time to make a decision. 107 | This process can be daunting, and it can be difficult to weigh different factors. 108 | We provide guidance on managing overlapping deadlines and negotiating your salary and 109 | startup. We also offer words of encouragement as you consider which offer to 110 | accept. 111 | 112 | # [Examples of Successful Materials](exampleMaterials.md) 113 | 114 | Successful applicants from past cycles have generously agreed to provide their 115 | job search materials. These include 116 | CVs, Cover Letters, Research Statements, Teaching Statements, Diversity Statements, Job 117 | Talk Slides, and Application Timelines (including Rejections and Acceptances). 118 | The portfolios are searchable by tags (e.g., 119 | job type, research area, dual career search, etc.). *These examples offer practical guidance 120 | as you develop your own application.* 121 | 122 | The job search can definitely be challenging! It can be helpful to 123 | remember that every successful applicant was once in your position. We hope this Guide 124 | helps you better navigate each stage of the cycle. 125 | 126 | 127 | 128 | # [About Us](about.md) 129 | 130 | For more information about the authors of this Guide, along with contribution instructions, see our [About Us](about.md) tab. In general, if you have any questions about this Guide, please email [Madeline Endres](/grad-job-guide/about#authors) at . 131 | -------------------------------------------------------------------------------- /interviewing.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Interviewing 4 | description: >- 5 | After you submit your applications, it's time to think about preparing for 6 | interviews. 7 | permalink: /interviewing/ 8 | --- 9 | 10 | # The Interview Process: What to Expect 11 | 12 | Now that you've submitted your application, the waiting begins... 13 | 14 | Many jobs will start by reaching out for a *phone screening* to assess whether you're a good 15 | fit for the job. If you pass the screening, you may be invited for an in-person 16 | interview. While there is some variation by job type, 17 | graduate-level job interviews 18 | typically last 1-2 days and consist of a job talk (or teaching talk), 19 | individual interviews, and a group dinner. 20 | 21 | In the rest of this tab, we'll cover what to expect during the interview process, 22 | including [phone screenings](#phone-screening), the [typical interview schedule](#interview-visit-overview), 23 | and tips on how to structure your [job talk](#preparing-your-job-talk) or [teaching talk](#preparing-your-teaching-talk). We'll also provide specific 24 | advice for [individual interviews](#individual-meeting-questions), and tips on 25 | navigating [dual career situations](#dual-career-couples). 26 | 27 | Before any phone screening or interview, 28 | we recommend visiting the faculty web page and finding people 29 | with interests similar to your own, as well as looking up people who 30 | are on your schedule. 31 | 32 | {% include_relative _interviewing/phoneScreen.md %} 33 | {% include_relative _interviewing/visits.md %} 34 | {% include_relative _interviewing/questions.md %} 35 | {% include_relative _interviewing/talk.md %} 36 | {% include_relative _interviewing/twobody.md %} 37 | -------------------------------------------------------------------------------- /jobs.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Finding Jobs 4 | description: >- 5 | Learn about job opportunities, where to find open searches, and 6 | how to read postings. 7 | permalink: /jobs/ 8 | --- 9 | 10 | {% include_relative _jobs/general.md %} 11 | {% include_relative _jobs/specific.md %} 12 | {% include_relative _jobs/subfields.md %} -------------------------------------------------------------------------------- /misc.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Miscellaneous 4 | nav: Misc 5 | permalink: /misc/ 6 | description: That which does not fit elsehwere 7 | --- 8 | 9 | {% include_relative _misc/misc.md %} -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "requires": true, 3 | "lockfileVersion": 1, 4 | "dependencies": { 5 | "foundation-sites": { 6 | "version": "6.8.1", 7 | "resolved": "https://registry.npmjs.org/foundation-sites/-/foundation-sites-6.8.1.tgz", 8 | "integrity": "sha512-9JAuLqVgzf7EIRUqVKeYN68dU/SGe0aNJPgnejdfJKSWnBFdQLF3Zvy9WEQ1gE/gnyvwG3Ia3LkkEd9774n0bQ==" 9 | } 10 | } 11 | } 12 | --------------------------------------------------------------------------------