0:00Casey Muratori: Introducing Marco Koegler
0:00Casey Muratori: Introducing Marco Koegler
0:00Casey Muratori: Introducing Marco Koegler
1:10CM: Give us some background
1:10CM: Give us some background
1:10CM: Give us some background
1:26Marco Koegler: Studying computer science, participating in flipcode1 and joining the fledgling Crytek to work on Far Cry
1:26Marco Koegler: Studying computer science, participating in flipcode1 and joining the fledgling Crytek to work on Far Cry
1:26Marco Koegler: Studying computer science, participating in flipcode1 and joining the fledgling Crytek to work on Far Cry
4:41CM: At Crytek, what's the difference between Technical Director and Lead Programmer?
4:41CM: At Crytek, what's the difference between Technical Director and Lead Programmer?
4:41CM: At Crytek, what's the difference between Technical Director and Lead Programmer?
5:02MK: Technical Director and Lead Programmer combined role at Crytek
5:02MK: Technical Director and Lead Programmer combined role at Crytek
5:02MK: Technical Director and Lead Programmer combined role at Crytek
5:54MK: Applying to Blizzard as an Engine Programmer
5:54MK: Applying to Blizzard as an Engine Programmer
5:54MK: Applying to Blizzard as an Engine Programmer
7:56CM: How long have you been Technical Director at Blizzard?
7:56CM: How long have you been Technical Director at Blizzard?
7:56CM: How long have you been Technical Director at Blizzard?
8:00MK: Technical Director for almost four years
8:00MK: Technical Director for almost four years
8:00MK: Technical Director for almost four years
8:12CM: What is the team structure and hiring process at Blizzard?
8:12CM: What is the team structure and hiring process at Blizzard?
8:12CM: What is the team structure and hiring process at Blizzard?
8:57MK: Blizzard's structure, with sub-studios
8:57MK: Blizzard's structure, with sub-studios
8:57MK: Blizzard's structure, with sub-studios
11:15MK: World of Warcraft team structure
11:15MK: World of Warcraft team structure
11:15MK: World of Warcraft team structure
12:02MK: Engineering groups: 1) Gameplay
12:02MK: Engineering groups: 1) Gameplay
12:02MK: Engineering groups: 1) Gameplay
12:14CM: Does World of Warcraft require more than average gameplay programming?
12:14CM: Does World of Warcraft require more than average gameplay programming?
12:14CM: Does World of Warcraft require more than average gameplay programming?
12:26MK: World of Warcraft's original team size and "happy medium" development approach
12:26MK: World of Warcraft's original team size and "happy medium" development approach
12:26MK: World of Warcraft's original team size and "happy medium" development approach
14:18MK: Engineering groups: 2) Server, maintaining the live service
14:18MK: Engineering groups: 2) Server, maintaining the live service
14:18MK: Engineering groups: 2) Server, maintaining the live service
15:51MK: Engineering groups: 3) Database
15:51MK: Engineering groups: 3) Database
15:51MK: Engineering groups: 3) Database
16:36MK: Engineering groups: 4) Tools
16:36MK: Engineering groups: 4) Tools
16:36MK: Engineering groups: 4) Tools
19:37MK: Engineering groups: 6) UI
19:37MK: Engineering groups: 6) UI
19:37MK: Engineering groups: 6) UI
20:01CM: This is a staggering number of teams
20:01CM: This is a staggering number of teams
20:01CM: This is a staggering number of teams
20:12MK: Engineering groups: 7) Systems, e.g. build systems, content delivery
20:12MK: Engineering groups: 7) Systems, e.g. build systems, content delivery
20:12MK: Engineering groups: 7) Systems, e.g. build systems, content delivery
21:01MK: Engineering groups: 8) Shared technology
21:01MK: Engineering groups: 8) Shared technology
21:01MK: Engineering groups: 8) Shared technology
24:33CM: How big are these teams?
24:33CM: How big are these teams?
24:33CM: How big are these teams?
24:53MK: Total 65 engineers on World of Warcraft, and partner Engineering Manager Jonathan Moon Shaw
24:53MK: Total 65 engineers on World of Warcraft, and partner Engineering Manager Jonathan Moon Shaw
24:53MK: Total 65 engineers on World of Warcraft, and partner Engineering Manager Jonathan Moon Shaw
26:30CM: How do people come to Blizzard?
26:30CM: How do people come to Blizzard?
26:30CM: How do people come to Blizzard?
27:32MK: Blizzard's job application process2
27:32MK: Blizzard's job application process2
27:32MK: Blizzard's job application process2
32:44CM: Is the phone screen standardised?
32:44CM: Is the phone screen standardised?
32:44CM: Is the phone screen standardised?
33:18MK: The phone screen in Blizzard's application process
33:18MK: The phone screen in Blizzard's application process
33:18MK: The phone screen in Blizzard's application process
34:59CM: So the phone screen is intended to regularise applications?
34:59CM: So the phone screen is intended to regularise applications?
34:59CM: So the phone screen is intended to regularise applications?
35:27CM: How complex is the code test?
35:27CM: How complex is the code test?
35:27CM: How complex is the code test?
35:56MK: The code test is data structure analysis- / transformation-based
35:56MK: The code test is data structure analysis- / transformation-based
35:56MK: The code test is data structure analysis- / transformation-based
37:56MK: Blizzard's internship and University relations programs
37:56MK: Blizzard's internship and University relations programs
37:56MK: Blizzard's internship and University relations programs
39:38CM: What does the University relations program entail?
39:38CM: What does the University relations program entail?
39:38CM: What does the University relations program entail?
39:54MK: Blizzard's University relations program
39:54MK: Blizzard's University relations program
39:54MK: Blizzard's University relations program
40:38CM: Do you receive a similar number of internship and full position applications?
40:38CM: Do you receive a similar number of internship and full position applications?
40:38CM: Do you receive a similar number of internship and full position applications?
40:54MK: Three or four résumés come to the managers
40:54MK: Three or four résumés come to the managers
40:54MK: Three or four résumés come to the managers
41:34MK: Graduate applications, with distinctive and accessible hobby projects
41:34MK: Graduate applications, with distinctive and accessible hobby projects
41:34MK: Graduate applications, with distinctive and accessible hobby projects
44:37CM: Is there anything more on the hiring process?
44:37CM: Is there anything more on the hiring process?
44:37CM: Is there anything more on the hiring process?
46:27CM: What does a new hire do on day one?
46:27CM: What does a new hire do on day one?
46:27CM: What does a new hire do on day one?
47:24MK: Day one at Blizzard: Onboarding, scavenger hunt, meeting the team
47:24MK: Day one at Blizzard: Onboarding, scavenger hunt, meeting the team
47:24MK: Day one at Blizzard: Onboarding, scavenger hunt, meeting the team
49:17MK: Day two at Blizzard: Arrive to desktop set up with code downloaded and compiled, starting on a small bug with the lead programmer
49:17MK: Day two at Blizzard: Arrive to desktop set up with code downloaded and compiled, starting on a small bug with the lead programmer
49:17MK: Day two at Blizzard: Arrive to desktop set up with code downloaded and compiled, starting on a small bug with the lead programmer
52:49MK: First check-in and code review
52:49MK: First check-in and code review
52:49MK: First check-in and code review
53:35CM: How does the code review work?
53:35CM: How does the code review work?
53:35CM: How does the code review work?
53:53MK: Code review at Blizzard
53:53MK: Code review at Blizzard
53:53MK: Code review at Blizzard
55:37CM: After this first code review, are they now in the general assignment pool?
55:37CM: After this first code review, are they now in the general assignment pool?
55:37CM: After this first code review, are they now in the general assignment pool?
55:48MK: Gradual widening of expertise and exposure to complex systems
55:48MK: Gradual widening of expertise and exposure to complex systems
55:48MK: Gradual widening of expertise and exposure to complex systems
56:48CM: What makes a good team member, and what do you tend to wish new programmers come in already knowing?
56:48CM: What makes a good team member, and what do you tend to wish new programmers come in already knowing?
56:48CM: What makes a good team member, and what do you tend to wish new programmers come in already knowing?
58:31MK: Good habits: 1) Asking a question
58:31MK: Good habits: 1) Asking a question
58:31MK: Good habits: 1) Asking a question
59:31MK: Good habits: 2) Internalising that we're all in this together
59:31MK: Good habits: 2) Internalising that we're all in this together
59:31MK: Good habits: 2) Internalising that we're all in this together
1:00:41MK: Good habits: 3) Being proactive
1:00:41MK: Good habits: 3) Being proactive
1:00:41MK: Good habits: 3) Being proactive
1:00:56MK: Good habits: 4) Bridging the gap to art and design (communication)
1:00:56MK: Good habits: 4) Bridging the gap to art and design (communication)
1:00:56MK: Good habits: 4) Bridging the gap to art and design (communication)
1:02:33MK: Good habits: 5) Having played the game and knowing the lingo
1:02:33MK: Good habits: 5) Having played the game and knowing the lingo
1:02:33MK: Good habits: 5) Having played the game and knowing the lingo
1:05:10MK: Good habits: 6) Being great engineers, able to break complex tasks down and make progress
1:05:10MK: Good habits: 6) Being great engineers, able to break complex tasks down and make progress
1:05:10MK: Good habits: 6) Being great engineers, able to break complex tasks down and make progress
1:06:53CM: What do you tend to wish new programmers were better prepared to do?
1:06:53CM: What do you tend to wish new programmers were better prepared to do?
1:06:53CM: What do you tend to wish new programmers were better prepared to do?
1:07:26MK: Preparedness: 1) Project experience and understanding organised team work
1:07:26MK: Preparedness: 1) Project experience and understanding organised team work
1:07:26MK: Preparedness: 1) Project experience and understanding organised team work
1:11:15MK: Preparedness: 2) Lifetime, memory and resource management
1:11:15MK: Preparedness: 2) Lifetime, memory and resource management
1:11:15MK: Preparedness: 2) Lifetime, memory and resource management
1:11:55CM: That seemed to fall into two categories: lower-level programming knowledge, and higher-level decision making
1:11:55CM: That seemed to fall into two categories: lower-level programming knowledge, and higher-level decision making
1:11:55CM: That seemed to fall into two categories: lower-level programming knowledge, and higher-level decision making
1:12:56MK: Write code, and only solve as much of the problem as you need
1:12:56MK: Write code, and only solve as much of the problem as you need
1:12:56MK: Write code, and only solve as much of the problem as you need
1:13:18CM: Did I miss anything?
1:13:18CM: Did I miss anything?
1:13:18CM: Did I miss anything?
1:13:40MK: Not every engineering position is the same
1:13:40MK: Not every engineering position is the same
1:13:40MK: Not every engineering position is the same
1:14:52CM: Talk a little about 16-year lifecycles
1:14:52CM: Talk a little about 16-year lifecycles
1:14:52CM: Talk a little about 16-year lifecycles
1:15:17MK: Dealing with old assumptions and 32-bit vs 64-bit architectures
1:15:17MK: Dealing with old assumptions and 32-bit vs 64-bit architectures
1:15:17MK: Dealing with old assumptions and 32-bit vs 64-bit architectures
1:20:44MK: Technical debt in the content creation pipeline
1:20:44MK: Technical debt in the content creation pipeline
1:20:44MK: Technical debt in the content creation pipeline
1:24:05CM: Talk a little about hot-fixing
1:24:05CM: Talk a little about hot-fixing
1:24:05CM: Talk a little about hot-fixing
1:24:14MK: Hot-fixing, with centralised development database
1:24:14MK: Hot-fixing, with centralised development database
1:24:14MK: Hot-fixing, with centralised development database
1:30:26CM: Thank you, Marco
1:30:26CM: Thank you, Marco
1:30:26CM: Thank you, Marco