-
Notifications
You must be signed in to change notification settings - Fork 324
/
constants.js
1212 lines (1181 loc) · 51.9 KB
/
constants.js
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
// @flow
import * as d3 from 'd3'
export type TrackId = 'MOBILE' | 'WEB_CLIENT' | 'FOUNDATIONS' | 'SERVERS' |
'PROJECT_MANAGEMENT' | 'COMMUNICATION' | 'CRAFT' | 'INITIATIVE' |
'CAREER_DEVELOPMENT' | 'ORG_DESIGN' | 'WELLBEING' | 'ACCOMPLISHMENT' |
'MENTORSHIP' | 'EVANGELISM' | 'RECRUITING' | 'COMMUNITY'
export type Milestone = 0 | 1 | 2 | 3 | 4 | 5
export type MilestoneMap = {
'MOBILE': Milestone,
'WEB_CLIENT': Milestone,
'FOUNDATIONS': Milestone,
'SERVERS': Milestone,
'PROJECT_MANAGEMENT': Milestone,
'COMMUNICATION': Milestone,
'CRAFT': Milestone,
'INITIATIVE': Milestone,
'CAREER_DEVELOPMENT': Milestone,
'ORG_DESIGN': Milestone,
'WELLBEING': Milestone,
'ACCOMPLISHMENT': Milestone,
'MENTORSHIP': Milestone,
'EVANGELISM': Milestone,
'RECRUITING': Milestone,
'COMMUNITY': 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 = {
'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 type Track = {
displayName: string,
category: string, // TK categoryId type?
description: string,
milestones: {
summary: string,
signals: string[],
examples: string[]
}[]
}
type Tracks = {|
'MOBILE': Track,
'WEB_CLIENT': Track,
'FOUNDATIONS': Track,
'SERVERS': 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 const tracks: Tracks = {
"MOBILE": {
"displayName": "Mobile",
"category": "A",
"description": "Develops expertise in native mobile platform engineering, such as iOS or Android",
"milestones": [{
"summary": "Works effectively within established iOS or Android architectures, following current best practices",
"signals": [
"Delivers features requiring simple local modifications",
"Adds simple actions that call server endpoints",
"Reuses existing components appropriately",
],
"examples": [
"Added existing button to a different iOS surface",
"Add follow button for publications on Android",
"Fetched and displayed a new stream, using existing stream item styles",
],
}, {
"summary": "Develops new instances of existing architecture, or minor improvements to existing architecture",
"signals": [
"Defines new useful and appropriate proto-generated objects",
"Creates simple new activities on Android",
"Migrates code from old patterns to new patterns",
],
"examples": [
"Upgraded SDWebImage to a new major version",
"Added support for rendering a new type of stream item",
"Prototyped a simple new feature quickly",
],
}, {
"summary": "Designs major new features and demonstrates a nuanced understanding of mobile platform constraints",
"signals": [
"Implements complex features with a large product surface area",
"Works effectively with Android reactive programming framework",
"Adds support for new iOS features after a major iOS version upgrade",
],
"examples": [
"Designed iOS caching strategy for offline reading",
"Built series reader on Android",
"Informed the team about recent best practice changes and deprecations",
],
}, {
"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",
"Fixes subtle memory management issues",
"Implements interactive dismissals that bring delight",
],
"examples": [
"Upgraded CocoaPods to a new major version",
"Designed architecture for fetching and rendering stream items",
"Migrated Android persistance layer to reactive programming",
],
}, {
"summary": "Is an industry-leading expert in mobile engineering or sets strategic mobile direction for an eng team",
"signals": [
"Defines long-term goals and ensures active projects are in service of them",
"Designs and builds innovative, industry-leading UI interactions",
"Invents new techniques to responsibly stretch limits of the Android platform",
],
"examples": [
"Defined and drove complete migration plan to Swift or Kotlin",
"Implemented Android recycler views before platform support existed",
"Pioneered application-level abstractions for multi-app environment",
],
}],
},
"WEB_CLIENT": {
"displayName": "Web client",
"category": "A",
"description": "Develops expertise in web client technologies, such as HTML, CSS, and JavaScript",
"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",
],
"examples": [
"Implemented sticky footer on the post page",
"Hooked up the action to dismiss a post from a stream",
"Built PaymentHistory screen using ResponseScreen",
],
}, {
"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",
],
"examples": [
"Built credit card input component",
"Created shared buttons template",
"Built modal system",
],
}, {
"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",
],
"examples": [
"Designed font loading strategy for Medium",
"Researched utility of service workers for Medium",
"Designed and implemented ResponseScreen",
],
}, {
"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 Medium's post morpher and delta system",
"Implemented Medium's scrolling text over image blur",
"Designed and pioneered proto-based model storage",
],
}, {
"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": {
"displayName": "Foundations",
"category": "A",
"description": "Develops expertise in foundational systems, such as deployments, pipelines, databases and machine learning",
"milestones": [{
"summary": "Works effectively within established structures, following current best practices",
"signals": [
"Writes thorough postmortems for service outages",
"Makes simple configuration changes to services",
"Performs backfills safely and effectively, without causing pages",
],
"examples": [
"Made safe and effective Ansible changes",
"Implemented new ETL pipelines based on existing ones",
"Resolved out of disk errors independently",
],
}, {
"summary": "Develops new instances of existing architecture, or minor improvements to existing architecture",
"signals": [
"Made minor version upgrades to technologies",
"Builds machine learning jobs within the ML framework",
"Triages service issues correctly and independently",
],
"examples": [
"Upgraded NodeJS from 8.0 to 8.1.1",
"Built custom packages for RPMs",
"Improved ETL efficiency by improving Dynamo to S3 loading",
],
}, {
"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",
],
"examples": [
"Designed Ansible configuration management",
"Built Medium's realtime stats pipeline",
"Designed flexible framework for writing machine learning jobs",
],
}, {
"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 databases and technologies to meet underserved needs",
],
"examples": [
"Designed and built BBFD",
"Designed AWS configuration management",
"Introduced Kinesis and pioneered streaming events pipeline",
],
}, {
"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 Medium's continuous delivery strategy",
"Developed and implemented HA strategy",
],
}],
},
"SERVERS": {
"displayName": "Servers",
"category": "A",
"description": "Develops expertise in server side engineering, using technologies such as Go, NodeJS, or Scala",
"milestones": [{
"summary": "Works effectively within established server side frameworks, following current best practices",
"signals": [
"Adds NodeJS endpoints using layers architecture",
"Adds golang endpoints using Gotham architecture",
"Makes minor server changes to support client needs",
],
"examples": [
"Added IFTTT trigger for new bookmark to medium2",
"Added delete audio route to Buggle",
"Queried a Dynamo LSI appropriately",
],
}, {
"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",
],
"examples": [
"Identified need for new index on Dynamo",
"Acted as caretaker for routes protos",
"Updated Facebook API version and codebase dependencies",
],
}, {
"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",
],
"examples": [
"Implemented Google Auth login to Medium",
"Implemented payments integration with Stripe",
"Built Textshots server",
],
}, {
"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 Medium's ranked feed architecture",
"Designed custom domains architecture",
"Created Gotham framework for creating Go services",
],
}, {
"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 Medium's statically typed language",
"Defined microservices architecture and medium2 migration plan",
"Defined and implemented proprietary IP core to the company's success",
],
}],
},
"PROJECT_MANAGEMENT": {
"displayName": "Project management",
"category": "B",
"description": "Delivers well-scoped programs of work that meet their goals, on time, to budget, harmoniously",
"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 featured post images",
"Delivered stream item support for email digests",
"Delivered payment history dashboard",
],
}, {
"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 promo editor",
"Delivered audio uploading for web client",
"Executed the recommends to claps backfill",
],
}, {
"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 technical delivery of Hightower",
"Managed infrastructure migration to VPC",
"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 technical migration to SOA",
"Lead technical delivery of 10/7",
"Delivered multi-month engineering project on time",
],
}],
},
"COMMUNICATION": {
"displayName": "Communication",
"category": "B",
"description": "Shares the right amount of information with the right people, at the right time, and listens effectively",
"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 The Watch before running a backfill",
"Updated project status changes in Asana promptly",
"Gave thoughtful 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",
"Gave a substantial Eng All Hands presentation on React",
"Gave notice of upcoming related work in Eng Briefing",
],
}, {
"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",
"Wrote Medium's growth framework and rationale",
"Aligned the entire organization around claps",
],
}, {
"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",
"description": "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 on Hatch before it went live",
"Landed non-trivial PR with no caretaker comments",
"Wrote hermetic tests for the happy and sad cases",
],
}, {
"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",
"Reduced the number of zelda fitzgerald exceptions",
"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",
],
"examples": [
"Improved PRB to run the same volume of tests faster",
"Simplified hermetic test data modification",
"Created fixture system for visual quality",
],
}, {
"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 Watch priorities and projects",
],
"examples": [
"Added code coverage reporting to iOS CI pipeline",
"Iterated repeatedly to develop Medium's underlines solution",
"Defined and oversaw plan for closing Heartbleed vulnerability",
],
}, {
"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 Fix-It week with exec team",
"Instituted and ensured success of a 20% time policy",
"Started The Watch",
],
}],
},
"INITIATIVE": {
"displayName": "Initiative",
"category": "B",
"description": "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 Hatch posts about improvement opportunities",
"Raises meaningful tensions in tactical meetings",
"Asks leadership team probing questions at FAM",
],
"examples": [
"Wrote about problems with TTR on Hatch",
"Wrote about content policy problems on Hatch",
"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 flow typing for promises",
"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",
"Implemented video for Android independently, 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 native login",
"Migrated medium2 to mono repo and bazel",
],
}, {
"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 the organization from Holacracy",
"Built Medium Android prototype and convinced execs to fund it",
"Convinced leadership and engineering org to move to Medium Lite architecture",
],
}],
},
"CAREER_DEVELOPMENT": {
"displayName": "Career development",
"category": "C",
"description": "Provides strategic support to engineers to help them build the career they want",
"milestones": [{
"summary": "Gives insight into opportunities and helps identify individuals' strengths and weaknesses",
"signals": [
"Advocates on behalf and in defense of a group member",
"Shares opportunities for improvements and recognises achievements",
"Explains appropriate available industry paths",
],
"examples": [
"Collected and delivered feedback",
"Discussed career options and areas of interest informally",
"Hosted a Floodgate Academy intern",
],
}, {
"summary": "Formally supports and advocates for one person and provides tools to help them solve career problems",
"signals": [
"Ensure a group member has an appropriate role on their team",
"Offers effective career advice to group 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 group 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 group member progression every 6 weeks",
"Suggested appropriate group member for Tech Lead 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 training on situational leadership",
"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 group leads",
"Devised Pathwise curriculum for group leads",
"Advocated to execs for engineer development resources and programs",
],
}],
},
"ORG_DESIGN": {
"displayName": "Org design",
"category": "C",
"description": "Defines processes and structures that enables the strong growth and execution of a diverse eng organization",
"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 tactical meeting with empathy",
"Explained tactical meeting format to a new hire",
"Provided feedback on sprint planning meeting",
],
}, {
"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 Frankenmeeting structure for small team",
"Improved Watch on-call rotation scheduling",
"Defined standard channels for inter-team communication",
],
}, {
"summary": "Develops processes 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 baseline team templates for consistency",
"Created bug-rotation program to address ongoing quality issues",
"Defined Guilds manifesto and charter",
],
}, {
"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 change discrepancies",
"Analyzed the hiring rubric 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 number of mobile engineers",
"Directed resources to meaningfully improve diversity at all levels",
"Built the growth framework rubric",
],
}],
},
"WELLBEING": {
"displayName": "Wellbeing",
"category": "C",
"description": "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": "Manages narratives, channels negativity into inspiration and motivation, and protects the entire team",
"signals": [
"Recognizes and points out narratives when appropriate",
"Works to reshape narratives from victimization to ownership",
"Increases the psychological safety of the entire team",
],
"examples": [
"Converted group member from a problem haver to a problem solver",
"Challenged false narrative and redirected to compassion and empathy",
"Cultivated and championed a culture of empathy within the entire team",
],
}],
},
"ACCOMPLISHMENT": {
"displayName": "Accomplishment",
"category": "C",
"description": "Inspires day to day excellence, maximises potential and effectively resolves performance issues with compassion",
"milestones": [{
"summary": "Helps individuals identify blockers and helps them identify next steps for resolution",
"signals": [
"Notices when someone is stuck and reaches out",
"Helps others break down problems into feasible, tangible next steps",
"Talks through problems non-judgmentally",
],
"examples": [
"Completed training on diagnosing problems",
"Unblocked a group member",
"Reinforces and affirms positive feedback for good work",
],
}, {
"summary": "Helps individuals resolve difficult performance issues, with insight, compassion, and skill",
"signals": [
"Gathers context outside the immediate problem",
"Recognizes issues within local environment and suggests change",
"Works to encourage ownership of actions and responsibilities",
],
"examples": [
"Completed training on decision making",
"Convinced a group member to solve a problem directly, rather than doing it for them",
"Gave honest feedback about poor performance, with compassion",
],
}, {
"summary": "Intervenes in long-standing performance issues with targeted behavior change or performance plans",
"signals": [
"Aggregates signals of poor performance and creates process for improvement",
"Investigates motivation and externalities for consistent poor performance",
"Puts together comprehensive, achievable performance plans",
],
"examples": [
"Worked with group member to address persistent communication failures",
"Arranged a transfer to another team, resulting in improved performance",
"Managed group member closely to maximise chances of PIP success",
],
}, {
"summary": "Mediates escalated situations, empowers underperforming teams, and resolves conflict",
"signals": [
"Recognizes heightened situations and toxic or aggressive interactions",
"Inserts themself into conflict where appropriate to calm and mediate",
"Encourages open dialog and builds trust between parties in conflict",
],
"examples": [
"Empowered a team to drive forward amidst uncertainty",
"Protected team from externalities so they could focus on goals",
"Mediated sit-down between team members to address tension",
],
}, {
"summary": "Resolves complex organizational dysfunction, or persistent conflict at senior levels",
"signals": [
"Takes control of dysfunctional teams to organise chaos",
"Repairs broken team dynamics and builds harmony",
"Presides over a well-oiled team of teams",
],
"examples": [
"Turned around the performance of a problematic team",
"De-escalated serious tensions between teams",
"Rebuilt trust between senior team leads",
],
}],
},
"MENTORSHIP": {
"displayName": "Mentorship",
"category": "D",
"description": "Provides support to colleagues, spreads knowledge, and develops the team outside formal reporting structures",
"milestones": [{
"summary": "Informally mentors individuals in an ad-hoc way, supports new hires, and conveys institutional knowledge",
"signals": [
"Makes themself available for informal support and advice",
"Acts as sounding board for peers and more junior members",
"Provides sound advice when asked",
],
"examples": [
"Acted as an onboarding buddy",
"Paired with an engineer to help them with an unfamiliar area",
"Helped a colleague understand their feelings",
],
}, {
"summary": "Mentors people proactively, and guides people to realizations rather than providing the answer",
"signals": [
"Takes time to explain concepts and best practices",
"Asks questions to illuminate concepts, rather than stating them",
"Allows others to lead efforts when it will help their development",
],
"examples": [
"Shared interesting article with a team member to help with their growth",
"Offered unprompted feedback to help growth, with empathy",
"Lead from behind to support someone new to a leadership role",
],
}, {
"summary": "Teaches small groups of engineers and contributes to Medium's shared knowledge base",
"signals": [
"Avoids siloing information when it can be usefully shared with others",
"Works to increase the bus factor of systems",
"Finds tools that work best for a team member's personality",
],
"examples": [
"Gave a brown bag presentation on payments",
"Wrote Hatch post on avoiding RDS backfill issues",
"Wrote Medium-U content module",
],
}, {
"summary": "Encourages people to mentor each other, and creates ways for them to do so",
"signals": [
"Defines an entire curriculum for a discipline",
"Draws positive attention to well-modeled mentor and teaching behaviours",
"Creates brown bag series and lines up speakers",
],
"examples": [
"Created and lead Medium's Women in Eng group",
"Organized an Eng All Hands with an outside speaker",
"Designed and taught web client guild curriculum",
],
}, {
"summary": "Instills and promotes a culture of learning and development within the team",
"signals": [
"Sets incentive structures to recognise and reward mentorship",
"Empowers team members to develop themselves",
"Role models productive and healthy mentor relationships",
],
"examples": [
"Instituted the professional education budget for engineers",
"Mentored mentors",
"Started the eng advisor program and lined up external mentors",
],
}],
},
"EVANGELISM": {
"displayName": "Evangelism",
"category": "D",
"description": "Promotes Medium to the outside world and establishes it as an attractive and thoughtful place to work",
"milestones": [{
"summary": "Represents Medium well externally, and influences individuals positively",
"signals": [
"Shares personal and organizational successes with their network",
"Attends Medium-hosted events and talks with guests",
"Communicates genuine and honest excitement about their work externally",
],
"examples": [
"Shared a Medium product launch post on Facebook",
"Acted as a guide for a non-friend visitor to the office",
"Supported PR efforts by giving a quote or having a photo taken",
],
}, {
"summary": "Participates more centrally in small events, and takes simple actions that positively influence groups of people",
"signals": [
"Takes meaningful action to introduce people to Medium",
"Joined public Slack group and represented Medium appropriately, and well",
"Organizes positive small- or medium-sized events that bring people to Medium",
],
"examples": [
"Volunteered as a helper for CODE2040 writing workshop",
"Organized a short tour of the office by college students",
"Talked at a Women Who Code event hosted at Medium",
],
}, {
"summary": "Works hard to positively influence large groups of people on their views of Medium",
"signals": [
"Mentors or participates in a high visibility way in an external organization",
"Builds fruitful partnerships with external organizations",
"Writes blog posts about Medium that receive moderate traffic",
],
"examples": [
"Represented Medium on a panel at a conference of industry experts",