This repository has been archived by the owner on Dec 28, 2023. It is now read-only.
forked from Medium/snowflake
-
Notifications
You must be signed in to change notification settings - Fork 2
/
constants.ts
1468 lines (1436 loc) Β· 63.3 KB
/
constants.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import * as d3 from 'd3'
interface Tracks {
MOBILE: Track
WEB_CLIENT: Track
'FOUNDATIONS (PLATFORM)': Track
'SERVERS & API': Track
PROJECT_MANAGEMENT: Track
COMMUNICATION: Track
CRAFT: Track
INITIATIVE: Track
CAREER_DEVELOPMENT: Track
ORG_DESIGN: Track
WELLBEING: Track
ACCOMPLISHMENT: Track
MENTORSHIP: Track
EVANGELISM: Track
RECRUITING: Track
COMMUNITY: Track
}
export type TrackId = keyof Tracks
export type Milestone = 0 | 1 | 2 | 3 | 4 | 5
export type NoteMap = {
[track in TrackId]?: string
}
export type MilestoneMap = {
[track in TrackId]: Milestone
}
export const milestones = [0, 1, 2, 3, 4, 5]
export const milestoneToPoints = (milestone: Milestone): number => {
switch (milestone) {
case 0:
return 0
case 1:
return 1
case 2:
return 3
case 3:
return 6
case 4:
return 12
case 5:
return 20
default:
return 0
}
}
export const pointsToLevels: Record<string, string> = {
'0': '1.1',
'5': '1.2',
'11': '1.3',
'17': '2.1',
'23': '2.2',
'29': '2.3',
'36': '3.1',
'43': '3.2',
'50': '3.3',
'58': '4.1',
'66': '4.2',
'74': '4.3',
'90': '5.1',
'110': '5.2',
'135': '5.3',
}
export const maxLevel = 135
export interface Track {
displayName: string
category: 'A' | 'B' | 'C' | 'D'
summary: string
description?: string
milestones: Array<{
summary: string
signals: string[]
examples: string[]
}>
}
export const tracks: Tracks = {
MOBILE: {
displayName: 'Mobile',
category: 'A',
summary: 'Develops expertise in mobile platform engineering',
description:
'Native apps allow us to provide better, more tailored experiences to users. To build those, we need engineers with expertise in mobile technologies who can help us deliver feature parity across all the platforms we support. Ultimately building first-class products that blend in seamlessly with platform conventions.',
milestones: [
{
summary:
'Works effectively within established mobile architectures, following current best practices',
signals: [
'Delivers features requiring simple local modifications',
'Adds simple actions that call server endpoints',
'Reuses existing components appropriately',
'Considers and accounts for mobile interfaces when building new frontend components',
'Executes the existing test cases (automated or manual) for mobile applications',
'Creates simple test cases (automated or manual) for mobile applications',
],
examples: [
'Added an existing button to a different surface',
'Ran the automation test suite and/or a manual regression for VendRegister',
'Ensured that the revised login page scales and behaves nicely on handsets and tablets',
"Added a negative test based on the developer's tests for the Gift Card validation feature to extend the test coverage",
],
},
{
summary:
'Develops new instances of or makes minor improvements to existing architectures',
signals: [
'Adds simple components or functionality to an internal package',
'When building frontend interfaces considers and accounts for a seamless webview experience when displayed in an native wrapped context',
'Creates comprehensive test suites (not just a single test) and makes minor improvements to existing frameworks for mobile applications',
'Knows and can use the appropriate tools to debug a problem in a mobile application and provides useful information to developers',
],
examples: [
'Added support for a new type of promotion',
'Spiked a simple new feature quickly',
'Adapted sales history to look and behave well within the native app, adding specific functionality to fire events for native devices',
'Created a whole test suite (automated or manual) and did basic exploratory testing for a new feature of Scanner for iOS',
'Investigated and updated a failing automated test for VendRegister',
'Used Xcode and Charles to correctly identify the underlying problem of a VendRegister bug and helped the developer fix the bug more efficiently',
],
},
{
summary:
'Designs major new features and demonstrates a nuanced understanding of mobile platform constraints',
signals: [
'Implements complex features with a large product surface area',
'Breaks off functionality into a package for consumption within other apps',
'Diagnoses and fixes subtle memory management issues',
'Makes significant improvements to the existing automation test framework for a mobile application',
'Creates and implements an efficient test strategy for a complex new feature of a mobile application',
],
examples: [
'Designed a caching strategy for product search',
'Informed the team about recent best practice changes and deprecations and how they apply practically',
'Wrote helper classes to improve code readability and maintainability for VendRegister',
'Refactored the automation test framework for VendRegister to improve the test execution efficiency',
'Created and implemented the test strategy, test scenarios/cases and did thorough exploratory testing for the new Promotions feature in VendRegister',
],
},
{
summary:
'Builds complex, reusable architectures that pioneer best practices and enable engineers to work more effectively',
signals: [
'Pioneers architecture migration strategies that reduce programmer burden',
'Implements interactive dismissals that bring delight',
'Coordinates cross-technology approaches without compromising the user experience'
],
examples: [
'Changed Registerβs Sell Screen architecture to use MVVM',
'Designed and implemented architecture for storing and synchronising sales',
'Worked with other teams to come up with a platform independent architecture allowing web content and native content to be fused together',
],
},
{
summary:
'Is an industry-leading expert in mobile engineering or sets strategic mobile direction for the engineering team',
signals: [
'Defines long-term goals and ensures active projects are in service of them',
'Designs and builds innovative, industry-leading UI interactions',
],
examples: [
'Defined and drove complete migration plan to Swift',
'Defined and executed a mobile strategy targeting multiple platforms',
'Pioneered application-level abstractions for multi-app environment',
],
},
],
},
WEB_CLIENT: {
displayName: 'Web client',
category: 'A',
summary:
'Develops expertise in web client technologies, such as HTML, CSS, and JavaScript',
description:
'We need to provide our users with a modern, responsive web product that renders well across all major browsers. We need engineers with expertise in web client technologies to help us continue to build industry-leading technology.',
milestones: [
{
summary:
'Works effectively within established web client architectures, following current best practices',
signals: [
'Makes minor modifications to existing screens',
'Fixes simple design quality issues',
'Uses CSS appropriately, following style guide',
'Executes the existing test cases for web application (automated or manual)',
'Creates simple test cases (automated or manual) for web application',
],
examples: [
'Implemented new Houston confirmation banner in the Monoliph',
'Hooked up the action to dismiss a card from the dashboard',
'Reskinned customer list using the existing customer badge',
'Ran the automation test suite and/or manual regression for WebRegister',
"Added a negative test based on the developer's tests for the Gift Card validation feature to extend the test coverage",
],
},
{
summary:
'Develops new instances of existing architecture, or minor improvements to existing architecture',
signals: [
'Makes sensible abstractions based on template and code patterns',
'Specs and builds interactive components independently',
'Prototypes simple new features quickly',
'Creates comprehensive test suites (not just a single test) and makes minor improvements to existing frameworks for a web application',
'Knows and can use the appropriate tools to debug a problem in a web application and provides useful information to developers',
],
examples: [
'Built dropdown component in Houston',
'Rewrote Houston next-stepper to use multiple transclusion rather than binding',
'Rebuilt an existing page to use Houston',
'Created a whole test suite (automated or manual) and did basic exploratory testing for a new feature of WebRegister',
'Investigated and updated a failing automated test for WebRegister',
'Used Chrome developer tool and Charles to correctly identify the underlying problem of a WebRegister bug and helped the developer fixed it more efficiently',
],
},
{
summary:
'Designs major new features and demonstrates a nuanced understanding of browser constraints',
signals: [
'Provides useful design feedback and suggests feasible alternatives',
'Performs systemic tasks to significantly minimise bundle size',
'Acts a caretaker for all of web client code',
'Makes significant improvements to the existing automation test framework for a web application',
'Creates and implements the efficient test strategy for a complex new feature of a web application',
],
examples: [
'Researched utility of HTTP/2 for Vend',
'Designed and implemented Add/Edit Product screen',
'Created shared datepicker component in Houston',
'Refactored the automation test framework for WebRegister to improve the tests execution efficiency',
'Wrote helper classes to improve code readability and maintainability for WebRegister',
'Created and implemented the test strategy, test scenarios/cases and did thorough exploratory testing for the new Promotions feature in WebRegister',
],
},
{
summary:
'Builds complex, reusable architectures that pioneer best practices and enable engineers to work more effectively',
signals: [
'Pioneers architecture migrations that reduce programmer burden',
'Implements complex UI transitions that bring delight',
'Makes architectural decisions that eliminate entire classes of bugs',
],
examples: [
"Designed Vend's frontend entity storage and syncronisation system",
"Implemented Vend's multi-framework strategy",
'Defined and drove migration strategy from Angular 1.6 to 2',
],
},
{
summary:
'Is an industry-leading expert in web client or sets strategic web client direction for an eng team',
signals: [
'Invents new techniques to innovate and overcome browser constraints',
'Identifies and solved systemic problems with current architecture',
'Defines a long-term vision for web client and ensures projects are in service of it',
],
examples: [
'Invented CSS in JS',
'Defined and drove migration strategy to Lite',
'Implemented unidirectional data flow to completion',
],
},
],
},
'FOUNDATIONS (PLATFORM)': {
displayName: 'Platform',
category: 'A',
summary:
'Develops expertise in foundational systems, such as CI/CD, data pipelines, databases, and infrastructure as a code',
description:
'As Vend grows in scale and towards top of mind POS retailer software, we need to improve our engineering efficiency so we can reliably ship valuable features to our retailers as fast as possible, whilst providing a robust infrastructure on which the organization can rely on',
milestones: [
{
summary:
'Works effectively within established structures, following current best practices',
signals: [
'Makes simple configuration changes to services',
'Knows how to search logs in our logging infrastructure',
'Is on level 1 on-call and is able to independently do the initial alerts triage',
],
examples: [
'Understands the workflow to provision new services',
"Created dashboard in Vend's monitoring tool of choice",
'Configured CI/CD to new or existing services',
],
},
{
summary:
'Develops new instances of existing architecture, or minor improvements to existing architecture',
signals: [
'Made minor version upgrades to technologies',
'Creates re-usable components for developers',
'Writes thorough postmortems for service outages',
],
examples: [
'Identified source of slow requests in a single service from the edge in',
'Identified broken deployments and rolled them back',
],
},
{
summary:
'Designs standalone systems of moderate complexity, or major new features in existing systems',
signals: [
'Acts as primary maintainer for existing critical systems',
'Designs moderately complex systems',
'Makes major version upgrades to libraries',
'Triages service issues correctly and independently',
],
examples: [
'Designed ENVS3 configuration management',
'Built Vend log processing and storage pipeline',
'Upgraded elasicsearch cluster',
'Is on level 2 on-call',
],
},
{
summary:
'Builds complex, reusable architectures that pioneer best practices for other engineers, or multi-system services',
signals: [
'Designs complex projects that encompass multiple systems and technologies',
'Demonstrates deep knowledge of foundational systems',
'Introduces new technologies to meet underserved needs',
'Revamps existing infrastructure to reduce architectural gaps or improve performance',
],
examples: [
'Designed and built Duke',
'Designed AWS configuration management',
'Introduced stream processing with Maxwell and Hydrant',
'Designed autoscaling strategy to cope with elastic demand',
'Redesigned logging infrastructure',
'Automated DB migrations',
'Automated Terraform to plan & apply on merge to master',
],
},
{
summary:
'Is an industry-leading expert in foundational engineering or sets strategic foundational direction for an eng team',
signals: [
'Designs transformational projects in service of long-term goals',
'Defines the strategic vision for foundational work and supporting technologies',
'Invents industry-leading techniques to solve complex problems',
],
examples: [
'Invented a novel ML technique that advanced the state of the art',
"Defined and developed Vend's continuous delivery strategy",
'Developed and implemented DR strategy',
],
},
],
},
'SERVERS & API': {
displayName: 'Services & APIs',
category: 'A',
summary:
'Develops expertise in server side engineering, using technologies such as Go, Java, or PHP',
description:
'Excellent clients are no use if they donβt have a fast and responsive server to communicate with. We need engineers that can help build efficient application services that respond quickly to requests, and provide clean interfaces that can be accessed from multiple different clients.',
milestones: [
{
summary:
'Works effectively within established server side frameworks, following current best practices',
signals: [
'Adds PHP endpoints using Symfony',
'Adds Go endpoints to a service',
'Makes minor server changes to support client needs',
'Executes the existing test cases (automated or manual) for Services & APIs',
'Creates simple test cases (automated or manual) for Services & APIs',
],
examples: [
'Fixed a small bug in the monoliph Shopify API client',
'Created a backend tool to version entities',
'Wrote a MySQL query that made good use of indexes',
'Used Postman to execute existing tests for the Promotions APIs',
"Added a negative test based on the developer's tests for the Reports API to extend the test coverage",
],
},
{
summary:
'Develops new instances of existing architecture, or minor improvements to existing architecture',
signals: [
'Assesses correctness and utility of existing code and avoids blind copy-pasting',
'Generalizes code when appropriate',
'Determines data needs from product requirements',
'Creates comprehensive test suites (not just single test) and makes minor improvements to the existing framework for Services & APIs',
'Knows and can use the appropriate tools to debug a problem in the Services & APIs and provides useful info to developers',
],
examples: [
'Identified need for a new index in MySQL database',
'Re-worked ElasticSearch analyzers for better autocompletion results',
'Added a new report type to the reporting service',
'Implemented data cleanup functionality in a service',
'Refactored a service to make fewer external API calls',
'Added versioning to a previously non versioned entity',
'Created a whole test suite (automated or manual) and did basic exploratory testing for Hustle (Sales processing service)',
'Used Postman and Charles to correctly identify the underlying problem of a Promotions API bug and helped developer fixed it more efficiently',
],
},
{
summary:
'Designs standalone systems of moderate complexity, or major new features in existing systems',
signals: [
'Acts as primary maintainer for existing critical systems',
'Integrates third party services effectively',
'Writes playbooks for new service maintenance',
'Creates new automation test framework or makes significant improvements to the existing one for the Services & APIs',
'Supports and guides the development team from the QA prospective to ensure the efficient API testing from the beginning (from unit test to end-to-end test)',
'Creates and implements the efficient test strategy for a complex new feature of the Services & APIs',
],
examples: [
'Re-work reporting to use date-based indexes',
'Implemented promotions service',
'Built Xendo consumer',
'Setup a API automation test framework based on Cypress for Xendo',
'Helped the developer added sufficient unit tests for the new Sale Tax Component feature of Hustle in order to improve the test coverage and saved effort on end-to-end testing',
'Created and implemented the test strategy, test scenarios/cases and did thorough exploratory testing for the new Sale Tax Component feature for Hustle',
],
},
{
summary:
'Builds complex, reusable architectures that pioneer best practices for other engineers, or multi-system services',
signals: [
'Delivers complex systems that achieve their goals',
'Avoids subtle architectural mistakes when considering new systems',
'Makes appropriate buy vs build choices',
],
examples: [
"Designed and implemented Vend's mutation-based API",
'Designed historical inventory system',
'Implemented data cleanup orchestration',
'Created standards and tools for writing Go microservices',
],
},
{
summary:
'Is an industry-leading expert in server side engineering or sets strategic server side direction for an eng team',
signals: [
'Designs transformational projects of significant complexity and scope',
'Makes decisions that have positive, long term, wide ranging consequences',
'Identifies and solves systemic problems with current architecture',
],
examples: [
"Researched, vetted, and selected Go as Vend's statically typed language",
'Defined microservices architecture and how services communicate',
"Defined and implemented proprietary IP core to the company's success",
],
},
],
},
PROJECT_MANAGEMENT: {
displayName: 'Project management',
category: 'B',
summary:
'Delivers well-scoped programs of work that meet their goals, on time, to budget, harmoniously',
description:
'There is a limit to what people can achieve individually, and coordination of multiple people on a project is very important. We need people that can take large projects, break them down into achievable milestones, manage and delegate scope effectively, and ensure that deadlines are met.',
milestones: [
{
summary: 'Effectively delivers individual tasks',
signals: [
'Estimates small tasks accurately',
'Delivers tightly-scoped projects efficiently',
'Writes effective technical specs outlining approach',
],
examples: [
'Wrote the technical spec for Quick User Switching',
'Delivered low stock warning for iOS',
'Delivered new User badge',
],
},
{
summary: 'Effectively delivers small personal projects',
signals: [
'Performs research and considers alternative approaches',
'Balances pragmatism and polish appropriately',
'Defines and hits interim milestones',
],
examples: [
'Delivered basic promotions API endpoint',
'Delivered new View Customer design',
'Executed the multiple image uploader for products',
],
},
{
summary: 'Effectively delivers projects through a small team',
signals: [
'Delegates tasks to others appropriately',
'Integrates business needs into project planning',
'Chooses appropriate project management strategy based on context',
],
examples: [
'Ran project retro to assess improvement opportunities',
'Completed launch checklist unprompted for well controlled rollout',
'Facilitated project kickoff meeting to get buy-in',
],
},
{
summary:
'Effectively delivers projects through a large team, or with a significant amount of stakeholders or complexity',
signals: [
'Finds ways to deliver requested scope faster, and prioritizes backlog',
'Manages dependencies on other projects and teams',
'Leverages recognition of repeated project patterns',
],
examples: [
'Oversaw delivery of Promotions',
'Built the features service',
'Involved marketing, legal, and appropriate functions at project start',
],
},
{
summary: 'Manages major company pushes delivered by multiple teams',
signals: [
'Considers external constraints and business objectives when planning',
'Leads teams of teams, and coordinates effective cross-functional collaboration',
'Owns a key company metric',
],
examples: [
'Managed migration to AWS',
'Managed delivery of Christmas 2017 priorities',
'Delivered multi-month engineering project on time',
],
},
],
},
COMMUNICATION: {
displayName: 'Communication',
category: 'B',
summary:
'Shares the right amount of information with the right people, at the right time, and listens effectively',
description:
'Great communication is central to everything we do at Vend, and without it, most non-trivial efforts would fail. Whether discussing approaches, giving presentations, listening attentively, or managing stakeholders, excellent communication is a key skill. The ability to communicate an idea, and to understand communicated ideas is of critical importance to ensure a well-aligned, agile team.',
milestones: [
{
summary:
'Communicates effectively to close stakeholders when called upon, and incorporates constructive feedback',
signals: [
'Communicates project status clearly and effectively',
'Collaborates with others with empathy',
'Asks for help at the appropriate juncture',
],
examples: [
'Updated oncall-engineers before running a resource-intensive task.',
'Updated issue status changes in Jira promptly',
'Gave thoughtful meeting check-in and check-out comments',
],
},
{
summary:
'Communicates with the wider team appropriately, focusing on timeliness and good quality conversations',
signals: [
'Practises active listening and suspension of attention',
'Ensures stakeholders are aware of current blockers',
'Chooses the appropriate tools for accurate and timely communication',
],
examples: [
'Received and integrated critical feedback positively',
'Created cross-team Slack channel for payments work',
'Spoke to domain experts before writing spec',
],
},
{
summary:
'Proactively shares information, actively solicits feedback, and facilitates communication for multiple stakeholders',
signals: [
'Resolves communication difficulties between others',
'Anticipates and shares schedule deviations in plenty of time',
'Manages project stakeholder expectations effectively',
],
examples: [
'Directed team response effectively during outages',
'Gathered multiple stakeholders together to communicate a priority change',
'Gave notice of upcoming related work in Band Practise',
],
},
{
summary:
'Communicates complex ideas skillfully and with nuance, and establishes alignment within the wider organization',
signals: [
'Communicates project risk and tradeoffs skillfully and with nuance',
'Contextualizes and clarifies ambiguous direction and strategy for others',
'Negotiates resourcing compromises with other teams',
],
examples: [
'Lead off-site workshop on interviewing',
"Implemented Vend's engineering growth framework",
'Aligned the entire organization around the release of Promotions',
],
},
{
summary:
'Influences outcomes at the highest level, moves beyond mere broadcasting, and sets best practices for others',
signals: [
'Defines processes for clear communication for the entire team',
'Shares the right amount of information with the right people, at the right time',
'Develops and delivers plans to execs, the board, and outside investors',
],
examples: [
'Organized half year check-in company offsite',
'Created the communication plan for a large organizational change',
'Presented to the board about key company metrics and projects',
],
},
],
},
CRAFT: {
displayName: 'Craft',
category: 'B',
summary:
'Embodies and promotes practices to ensure excellent quality products and services',
milestones: [
{
summary: 'Delivers consistently good quality work',
signals: [
'Tests new code thoroughly, both locally, and in production once shipped',
'Writes tests for every new feature and bug fix',
'Writes clear comments and documentation',
],
examples: [
'Caught a bug while playing with a feature before it went live',
'Landed non-trivial PR with no caretaker comments',
'Wrote good hermetic tests for a microservice',
],
},
{
summary:
'Increases the robustness and reliability of codebases, and devotes time to polishing products and systems',
signals: [
'Refactors existing code to make it more testable',
'Adds tests for uncovered areas',
'Deletes unnecessary code and deprecates proactively when safe to do so',
],
examples: [
'Requested tests for a PR when acting as reviewer',
'Removed unused feature flags in the monoliph',
'Fixed a TODO for someone else in the codebase',
],
},
{
summary: "Improves others' ability to deliver great quality work",
signals: [
'Implements systems that enable better testing',
'Gives thoughtful code reviews as a domain expert',
'Adds tooling to improve code quality',
'Implements systems/processes that enable the team to test early and test often',
'Educates the team about testing and makes sure the team develops with testing in mind',
],
examples: [
'Improved build pipeline to run the same volume of tests faster',
'Improved dev container build speed and moved all containers from Quay to ECR',
'Created a shared library after seeing multiple projects doing the same thing ',
'Utilised QA mindset to flag risks at an early stage',
'Ran QA mindset training/knowlege sharing sessions for the team',
],
},
{
summary:
'Advocates for and models great quality with proactive actions, and tackles difficult and subtle system issues',
signals: [
'Builds systems so as to eliminate entire classes of programmer error',
'Focuses the team on quality with regular reminders',
'Coordinates support team ticket volume meetings and prioritises findings',
'Acts as the Quality coach and Continuous Improvement advocate across Vend',
],
examples: [
'Implemented a strategy to attack flakey build pipelines',
'Defined and oversaw plan for closing Heartbleed vulnerability',
'Expanded testing abilities and knowhow across the engineering teams, eventually reduced the need for QA testing effort',
],
},
{
summary:
'Enables and encourages the entire organization to make quality a central part of the development process',
signals: [
'Defines policies for the engineering org that encourage quality work',
'Identifies and eliminates single points of failure throughout the organization',
'Secures time and resources from execs to support great quality',
],
examples: [
'Negotiated resources for Standardisation Sprints',
'',
'Implemented compensation for on-call rotation',
],
},
],
},
INITIATIVE: {
displayName: 'Initiative',
category: 'B',
summary:
'Challenges the status quo and effects positive organizational change outside of mandated work',
milestones: [
{
summary:
'Identifies opportunities for organizational change or product improvements',
signals: [
'Writes Confluence page about improvement opportunities',
'Raises meaningful tensions in tactical meetings',
'Asks leadership team insightful questions at AMA ',
],
examples: [
'Wrote about problems with ECS on Confluence',
'',
'Reported a site issue in Github',
],
},
{
summary:
'Causes change to positively impact a few individuals or minor improvement to an existing product or service',
signals: [
'Picks bugs off the backlog proactively when blocked elsewhere',
'Makes design quality improvements unprompted',
'Takes on trust and safety tasks proactively when blocked elsewhere',
],
examples: [
'Advocated on own behalf for a change in role',
'Implemented feature service API in Go Common',
'Audited web client performance in Chrome and proposed fixes',
],
},
{
summary:
'Causes change to positively impact an entire team or instigates a minor feature or service',
signals: [
'Demonstrates concepts proactively with prototypes',
'Fixes complicated bugs outside of regular domain',
'Takes ownership of systems that nobody owns or wants',
],
examples: [
'Defined style guide to resolve style arguments',
'Proposed and implemented at-mentions prototype',
'Made significant improvments to Monoliph Jenkins pipeline, unprompted',
],
},
{
summary:
'Effects change that has a substantial positive impact on the engineering organization or a major product impact',
signals: [
'Champions and pioneers new technologies to solve new classes of problem',
'Exemplifies grit and determination in the face of persistent obstacles',
'Instigates major new features, services, or architectures',
],
examples: [
'Created the interviewing rubric and booklet',
'Implemented and secured support for 2FA login',
'Migrated go-common to individual repos for maintainability',
],
},
{
summary:
'Effects change that has a substantial positive impact on the whole company',
signals: [
'Creates a new function to solve systemic issues',
'Galvanizes the entire company and garners buy in for a new strategy',
'Changes complex organizational processes',
],
examples: [
'Migrated team structure from Solutions to Product+Engineering',
'Built Scanner prototype and convinced company to launch it',
'Convinced leadership and engineering org to move from Rackspace to AWS',
],
},
],
},
CAREER_DEVELOPMENT: {
displayName: 'Career development',
category: 'C',
summary:
'Provides strategic support to engineers to help them build the career they want',
milestones: [
{
summary: 'Engages in the Engineering career development process',
signals: [
'Has a career plan or some form of growth plan in place',
'Shares opportunities for improvements and recognises achievements',
'Understands growth opportunities available to them',
],
examples: [
'Engaged in career development conversation with their manager',
'Discussed career options and areas of interest informally',
"Provided informal ideas for a team member's career growth",
],
},
{
summary:
'Formally supports and advocates for one person and provides tools to help them solve career problems',
signals: [
'Ensure a team member has an appropriate role on their team',
'Offers effective career advice to team members, without being prescriptive',
'Creates space for people to talk through challenges',
],
examples: [
'Set up and attended regular, constructive 1:1s ',
'Provided coaching on how to have difficult conversations',
'Taught team members the GROW model',
],
},
{
summary:
'Inspires and retains a small group of people and actively pushes them to stretch themselves',
signals: [
'Discusses paths, and creates plans for personal and professional growth',
'Advocates to align people with appropriate roles within organization',
'Works with team leads to elevate emerging leaders',
],
examples: [
'Reviewed individual team progression regularly',
'Suggested appropriate team member for a new position',
'Arranged a requested switch of discipline for a group member',
],
},
{
summary:
'Manages interactions and processes between groups, promoting best practices and setting a positive example',
signals: [
'Manages team transitions smoothly, respecting team and individual needs',
'Develops best practices for conflict resolution',
"Ensures all group members' roles are meeting their career needs",
],
examples: [
'Completed leadership training',
'Built a resourcing plan based on company, team, and individual goals',
'Prevented regretted attrition with intentional, targeted intervention',
],
},
{
summary:
'Supports the development of a signficant part of the engineering org, and widely viewed as a trusted advisor',
signals: [
'Supports and develops senior leaders',
'Identified leadership training opportunities for senior leadership',
'Pushes everyone to be as good as they can be, with empathy',
],
examples: [
'Provided coaching to team leads',
'Devised growth plan for team leads',
'Advocated to execs for engineer development resources and programs',
],
},
],
},
ORG_DESIGN: {
displayName: 'Org design',
category: 'C',
summary:
'Defines processes and structures that enables the strong growth and execution of a diverse engineering organization',
description:
'As an organisation, we need to foster a culture of continuous improvement, focusing on how teams are executing. We need to look for ways to do things better and more efficiently, and to create appropriate systems to promote healthy, diverse and inclusive teams.',
milestones: [
{
summary:
'Respects and participates in processes, giving meaningful feedback to help the organization improve',
signals: [
'Reflects on meetings that leave them inspired or frustrated',
'Teaches others about existing processes',
'Actively participates and makes contributions within organizational processes',
],
examples: [
'Facilitated effective meetings with empathy',
'Explained sprint planning format to a new hire',
'Provided meaningful feedback during retrospectives',
],
},
{
summary:
'Identifies opportunities to improve existing processes and makes changes that positively affect the local team',
signals: [
'Defines meeting structure and cadence that meets team needs',
'Engages in organizational systems thinking',
'Advocates for improved diversity and inclusion, and proposes ideas to help',
],
examples: [
'Defined sprint planning structure for small team',
'Improved on-call rotation scheduling',
'Defined standard channels for inter-team communication',
],
},
{
summary:
'Develops processes and programs to solve ongoing organizational problems',
signals: [
'Creates programs that meaningfully improve organizational diversity',
'Solves long-standing organizational problems',
'Reallocates resources to meet organizational needs',
],
examples: [
'Developed 90-day plan template',
'Created and implemented the on-boarding program in Engineering',
'Defined the PQA role to address ongoing communication issues between Solutions and Support',
],
},
{
summary:
'Thinks deeply about organizational issues and identifies hidden dynamics that contribute to them',
signals: [
'Evaluates incentive structures and their effect on execution',
'Analyzes existing processes for bias and shortfall',
'Ties abstract concerns to concrete organizational actions or norms',
],
examples: [
'Connected mobile recruiting difficulties to focus on excellence',
'Raised leadership level discrepancies',
'Analyzed the hiring process for false negative potential',
],
},
{
summary:
'Leads initiatives to address issues stemming from hidden dynamics and company norms',
signals: [
'Builds programs to train leadership in desired skills',
'Creates new structures that provide unique growth opportunities',
'Leads planning and communication for reorgs',
],
examples: [
'Lead efforts to increase investment in Engineering',
'Created the structure for a globally distributed engineering team',
'Built a compensation framework used across Vend',
'Directed resources to meaningfully improve diversity at all levels',
],
},
],
},
WELLBEING: {
displayName: 'Wellbeing',
category: 'C',
summary:
'Supports the emotional well-being of group members in difficult times, and celebrates their successes',
milestones: [
{
summary:
'Uses tools and processes to help ensure colleagues are healthy and happy',
signals: [
'Keeps confidences unless legally or morally obliged to do otherwise',
'Applies the reasonable person principle to others',
'Avoids blame and focuses on positive change',
],
examples: [
'Ensured group members were taking enough vacation',
"Put themself in another's shoes to understand their perspective",
'Checked in with colleague showing signs of burnout',
],
},
{
summary:
'Creates a positive, supportive, engaging team environment for group members',
signals: [
'Sheds light on other experiences to build empathy and compassion',
'Validates ongoing work and sustains motivation',
'Proposes solutions when teams get bogged down or lose momentum',
],
examples: [
'Coordinated a small celebration for a project launch',
'Connected tedious A|B testing project with overall company goals',
'Noted a team without a recent win and suggested some easy quick wins',
],
},
{
summary:
'Manages expectations across peers, leads in the org, promotes calm, and prevents consensus building',
signals: [
'Trains group members to separate stimulus from response',
'Maintains a pulse on individual and team morale',
'Helps group members approach problems with curiosity',
],
examples: [
'Completed training on transference and counter transference',
'Completed training on compromise and negotiation techniques',
'Reframed a problem as a challenge, instead of a barrier, when appropriate',
],
},
{
summary:
'Advocates for the needs of teams and group members, and proactively works to calm the organization',
signals: [
'Ensures team environments are safe and inclusive, proactively',
'Grounds group member anxieties in reality',
'Tracks team retention actively and proposes solutions to strengthen it',
],
examples: [
'Relieved org tension around product direction by providing extra context',
'Encouraged group members to focus on what they can control',
'Guided people through complex organizational change',
],
},
{
summary: