forked from Medium/snowflake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconstants.js
862 lines (841 loc) · 32.1 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
// @flow
import * as d3 from 'd3';
export type TrackId =
| 'MOBILE'
| 'WEB_CLIENT'
| 'FOUNDATIONS'
| 'SERVERS'
| 'PROJECT_MANAGEMENT'
| 'COMMUNICATION'
| 'CRAFT';
export type Milestone = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
export type MilestoneMap = {
MOBILE: Milestone,
WEB_CLIENT: Milestone,
FOUNDATIONS: Milestone,
SERVERS: Milestone,
PROJECT_MANAGEMENT: Milestone,
COMMUNICATION: Milestone,
CRAFT: Milestone
};
export const milestones = [0, 1, 2, 3, 4, 5, 6, 7, 8];
export const milestoneToPoints = (
milestone: Milestone,
trackId: TrackId
): number => {
if (trackId === 'CRAFT') {
return milestone * 2;
} else {
return milestone;
}
};
export const pointsToLevels = {
'0': '1',
'20': '2',
'24': '3',
'29': '4',
'34': '5',
'38': '6',
'43': '7',
'47': '8',
'49': '9',
'51': '10'
};
export const maxLevel = 64;
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
|};
export const tracks: Tracks = {
MOBILE: {
displayName: 'Knowledge',
category: 'Responsibility',
description: 'Experience Required.',
milestones: [
{
summary:
'Basic skills or knowledge that require only a few hours to learn. No previous experience or knowledge needed.',
signals: [
'Completes tasks that are repeated over and over again',
'Supports functions that are easily understood and trained within a few hours'
],
examples: [
'Processing paperwork',
'Sorting documentation',
'Moving equipment'
]
},
{
summary:
'Standardized and clear instructions reinforced by job experience over a period of months. No previous experience or training needed, but a basic understanding of the concepts.',
signals: [
'Completes tasks that are simple in nature, but could be different from day-to-day'
],
examples: [
'Answering simple questions',
'Researching problems identified by others',
'Booking/scheduling events or travel'
]
},
{
summary:
'Entry-level knowledge and decision-making abilities. No formal training or University and/or less than one year of experience.',
signals: [
'Shares perspective openly',
'Asks insightful questions to understand'
],
examples: [
'Answers questions that may require research',
'Solves simple problems where solutions already exist',
'Uses a supervisor/mentor to solve problems where answers may not exist'
]
},
{
summary:
'Formal training and/or degree in the topic/area that is owned.',
signals: [
'Leverages knowledge of the topic to share their perspective',
"Actively seeks out information for topics they're not trained in"
],
examples: [
'Completes projects independently that are within scope of knowledge-base',
'Decision-making autonomy for simple tasks',
'Works collaboratively to solve problems that are not within scope of knowledge-base'
]
},
{
summary:
'Advanced training and/or prior professional experience required.',
signals: [
'Leverages training and experience to share perspective on topic at hand',
'Draws from previous experience to provide higher-level thinking/questions'
],
examples: [
'Solving complex problems within area of expertise',
'Identifying problems that need to be solved'
]
},
{
summary:
'Deep knowledge or experience, typically gained over multiple professional experiences, advanced certification, and/or significant time in the industry.',
signals: [
'Provides experienced insight for topics at hand',
'Shares experience openly',
'Draws from a broad range of experiences to provide perspective'
],
examples: [
'Solving problems that are complex, using collaboration for areas outside of expertise',
'Actively challenging norms to further Hudl',
'Creating recommendations based on benchmarking experience'
]
},
{
summary: 'Expert in the field or industry.',
signals: [
'Provides experienced direction for topics at hand',
'Shares expertise openly',
'Connects frequently with other experts in the industry to continue building professional networks'
],
examples: [
'Building strategy for area of expertise',
"Creating a comprehensive analysis of Hudl's position compared to competitors"
]
},
{
summary: 'Seasoned expert in the industry.',
signals: [
'Provides experienced direction for topics at hand',
'Shares expertise openly, inlfuencing those around them',
'Connects Hudl with peers in the industry to help us level-up'
],
examples: [
'Setting vision for team',
'Providing updates to the Board',
'Hosting external benchmarking sessions'
]
}
]
},
WEB_CLIENT: {
displayName: 'Communication',
category: 'Responsibility',
description: 'Person to person skills.',
milestones: [
{
summary:
'The most basic communication skills are required - mostly written, wiht very little interpersonal requirements',
signals: [
'Transfers information from one source to another',
'Provides updates on information that already exists'
],
examples: [
'Updates Sync Pages',
'Types up notes that someone else took'
]
},
{
summary:
'Entry-level communication requirements - written and verbal, but little to no reasoning required.',
signals: [
'Executes tasks that have been clearly defined',
'Coordinates activities where outcomes are clear'
],
examples: ['Scheduling meetings', 'Taking notes']
},
{
summary:
'Communication skills that require interpersonal interactions but are limited to less than 50% of the job duties.',
signals: [
'Draws connections between closely related topics',
'Interacts with others kindly and efficiently (but limited to less than 50% of their core role)'
],
examples: [
'Managing a single calendar (outside of own)',
'Scheduling and coordinating simple events'
]
},
{
summary:
'Communication that involves basic reasoning, requesting and providing information. Courtesy, fact and effectiveness are required.',
signals: [
'Draws connections between multiple points',
'Distills information down to the key messages',
'Interacts with others kindly and efficiently'
],
examples: [
'Managing multiple calendars',
'Planning events',
'Interacting with external clients/hires'
]
},
{
summary:
'Communication that requires understanding, influencing and supporting people. Focused on causing action or acceptance by others.',
signals: [
'Seeks to understand before they seek to influence',
'Asks insightful questions',
'Makes connections between what people are saying and what needs to happen to achieve an outcome'
],
examples: [
'Working cross-functionally on a project/goal',
'Identifying dependencies'
]
},
{
summary:
'Communication that is focused on influencing, developing and motivating people to demonstrate a shift or change in their behavior.',
signals: [
'Works collaboritvely to find creative solutions',
'Influences others through building trusting relationships'
],
examples: [
'Developing team/peers through trusting relationships and #realtalk',
'Communicating mistakes openly to help others learn',
'Leading a cross-functional effort to achieve a milestone or goal'
]
},
{
summary:
"Influencing that requires integration of multiple areas/topics AND impacts significant business strategies (i.e. an entire functional area, tribe). Must be a minimum of 50% of core role's responsibilities.",
signals: [
"Takes disperate information and synthesizes it into a cohesive recommendation that impacts Hudl's business strategies",
'Leverages collaboration to drive business results'
],
examples: [
'Providing strategic recommendations through collaborative partnerships with peers',
'Identifying cross-functional roadblocks and providing collaborative solutions'
]
},
{
summary:
"Influencing significant beahvior change within the Senior-Most Leadership Team that impacts Hudl's strategic priorities and decisions (SPG, WLB). Must be a minimum of 75% of core role's responsibilities.",
signals: [
'Works collaboratively with Sr. Leadership to set direction for strategy',
'Shares teams wins and opportunities openly during strategic meetings'
],
examples: [
'Actively participates in SPG and/or WLB meetings',
'Sharing wins/oppportunities to help Hudl learn from our mistakes'
]
}
]
},
FOUNDATIONS: {
displayName: 'GSD',
category: 'Responsibility',
description: 'GSD factor. How and what needs to get done.',
milestones: [
{
summary:
'Tasks are identified and laid out in advance, and are simple in nature.',
signals: ["Completes tasks as they've been assigned"],
examples: [
'Scheduling meetings',
'Moving equipment',
'Printing/Making copies of documents'
]
},
{
summary: 'Tasks are laid out and defined, but may change periodically.',
signals: [
'Completes tasks that have been outlined, but has ownership over when they get completed',
'Completes a variety of tasks over a given period of time'
],
examples: [
'Coordinating events',
'Responding to questions in slack',
'Updating Sync Pages as assigned'
]
},
{
summary:
'Manage multiple activities, but how those are completed is clear and defined. Work collaboratively with other Hudlies to get things done (execute on plans). ',
signals: [
'Works with other Hudlies to meet deadlines and ensure work is complete.',
'Owns and executes activities/tasks that are clearly defined, but require autonomy to complete.'
],
examples: [
'Completing assignments on time and with great quality',
'Managing time effectively to ensure work is completed as assigned'
]
},
{
summary:
'General guidance, but some autonomy in how the work gets done. Works collaboratively with other Hudlies to solve problems together.',
signals: [
'Demonstrates accountability for activities they are assigned.',
'Works with other Hudlies to solve problems.'
],
examples: [
'Working on a team to solve a problem together',
"Delivering value through daily work within the scope of what's been assigned",
'Challenging norms to ensure work is consistently improving'
]
},
{
summary:
"Work collaboratively to identify and solve problems that may not seem related. Identifies problems that impact Hudl's success regardless of areas of ownership.",
signals: [
"Works with other Hudlies to identify and solve problems and make connections between competing priorities and/or work that isn't clearly outlined.",
'Identifies problems that impact Hudl outside scope of ownership.'
],
examples: [
"Identifying problems that impact Hudl's success and raising those concerns to own leader",
'Delivering value through daily work through identifying issues and solving them collaboratively',
'Setting personal or team goals based on priorities defined by their leader'
]
},
{
summary:
'Strategic integration and leadership of important business goals.',
signals: [
'Leverages strategic thinking to identify and execute business goals for a broad audience (tribe, bet, team, etc)',
'Identifies and has ownership/authority to remove dependencies and roadblocks for strategic goals'
],
examples: [
'Leading strategy sessions for area of ownership',
'Identifying key metrics and measuring progress towards goals',
"Bringing roadblocks to leadership's attention"
]
},
{
summary:
'Direction of a strategic function within and across the organization.',
signals: [
'Directs vision, strategy and work for an enterprise function that impacts Hudl (i.e. Marketing, Sales, Operations, Engineering, etc).',
'Partners collaboritvely with other Enterprise Sr. Leaders to identify dependencies and remove roadblocks.'
],
examples: [
'Leading future strategy sessions for area of ownership that is large-scale in nature',
'Identifying key metrics and measuring progress towards goals',
'Holding team accountable to delivering results',
"Clearly connecting own roadmap to Hudl's Strategy and mountain goals"
]
},
{
summary: 'Direction of an Enterprise Function (i.e. C-Suite)',
signals: ['Directs vision, strategy and work for all of Hudl.'],
examples: [
'Leads Future Strategy Sessions',
'Works directly with the Board'
]
}
]
},
SERVERS: {
displayName: 'Innovation',
category: 'Scope',
description: 'Innovative thinking requirements',
milestones: [
{
summary:
'Thinking within clear objectives, with no room for iteration.',
signals: [
'Completes assignments exactly as assigned',
'Uses scripts to respond to questions'
],
examples: ['Taking direction and executing on it']
},
{
summary:
'Thinking within very detailed and precisely defined rules and instructions, with some room for iteration (less than 20%).',
signals: [
'Asks questions to ensure thorough understanding of tasks assigned',
'Makes minor improvements to process to ensure efficiency'
],
examples: [
'Asking questions to ensure understanding',
'Suggesting minor improvements to simple processes'
]
},
{
summary:
'Precedence and standards exist, but identifying the problem and applying those standards is required.',
signals: [
'Demonstrates curiosity to identify root cause of issues',
'Leverages information available to solve problems'
],
examples: [
'Using insight to understand problems thoroughly',
'Leveraging resources available to identify solutions'
]
},
{
summary:
'Thinking within a well-defined area with precedents covering less than half of the situations and/or readily available assistance.',
signals: [
'Leverages existing knowledge/experience to identify and solve problems',
'Asks questions to root cause',
'Finds creative solutions to novel problems'
],
examples: [
'Providing fresh perspective on identified problems',
'Asking insightful questions to identify root cause',
'Demonstrating creativity in delivering outcomes'
]
},
{
summary:
'Thinking within more than one substantially different area and precedents, where innovation is required.',
signals: [
'Draws connections between seemingly unconnected issues',
'Applies innovation and creativity to identify solutions to problems previously not encountered',
'Has ownership to implement solutions'
],
examples: [
'Identifying dependencies that impact project success',
'Shifting priorirites to deliver more innovative solutions',
'Challenging the status quo'
]
},
{
summary:
'Thinking within a broad area and/or objectives (i.e. functional area, tribe or bet), where innovation is required (more than 50% of the role).',
signals: [
'Applies innovative thinking to novel problems that impact a defined area or objectives that have already been laid out',
'Uses open-ended questions to understand the problems',
'Provides recommendations on future strategies'
],
examples: [
'Identifying future needs and providing recommendations on strategy',
'Setting vision and direction for a team',
'Demonstrating accountability to deliver novel solutions'
]
},
{
summary:
'Thinking within broad area and/or objectives (i.e. work impacts multiple areas) where innovation is required as core part of the role (minimum of 50%).',
signals: [
'Applies innovative thinking to novel problems that impact a broad function (enterprise)',
'Approaches problems with a beginners mind/open mind',
'Provides direction on future strategies'
],
examples: [
'Identifying strategic direction for Hudl or an enterprise function at Hudl',
'Setting vision and direction for an enterprise function that requires innovation',
'Demonstrating accountability to deliver innovative solutions'
]
},
{
summary: 'Charting the unknown.',
signals: [
'Defines new areas of focus',
'Applies innovation to all strategy and thought',
"Seeks to understand competition and how it impacts Hudl's approach"
],
examples: [
'Identifying new business ideas for Hudl',
'Setting the standard and/or disrupting the industry'
]
}
]
},
PROJECT_MANAGEMENT: {
displayName: 'Complexity',
category: 'Scope',
description: 'Complexity of problems.',
milestones: [
{
summary: 'No complexity, problems and solutions cleary laid out.',
signals: ['Executes on solutions that have already been defined'],
examples: [
'Answering questions using a script',
'Giving directions to meeting rooms'
]
},
{
summary:
'Minimal problems, all requiring solution by simple choice of things learned.',
signals: [
'Uses Sync to answer simple questions',
'Uses job aids/guides to complete tasks'
],
examples: [
'Giving office tours',
'Researching questions and finding answers from a list of solutions',
'Updating sync pages with a template'
]
},
{
summary:
'Similar situations/problems requiring solutions by deciding between known alternatives.',
signals: [
'Uses sync resources to solve common problems',
'Demonstrates judgment in understanding problems to identify solutions'
],
examples: [
'Asking insightful questions to root cause problems',
'Researching solutions and providing clarity on path forward to common problems',
'Making suggestions for process improvements'
]
},
{
summary:
'Different situations/problems requring identification of issues, judgment, and the selection of solutions within an area of expertise.',
signals: [
'Uses experience and judgement to identify solutions to new problems',
'Root causes problems that require a level of expertise in the area'
],
examples: [
'Working collaboratively to deliver a product or an improvement to an existing product',
'Using foresight to share potential risks with Leadership'
]
},
{
summary:
'Situation/problems constantly require adaptation or development of new solutions.',
signals: [
'Exibits creativity through development of novel solutions',
"Solves problems that are complex and don't have a clear path forward"
],
examples: [
'Acting as a peer leader to work collaboratively to deliver a new product or a significant improvement on existing product',
'Identiifying and removing roadblocks that are critical to project success'
]
},
{
summary:
'Situations/problems constantly require adaptation or development of new solutions and are almost always (more than 75%) cross-functional in impact.',
signals: [
'Identifies unique solutions to complex problems that impact multiple areas of Hudl',
'Sets vision for cross-functional teams that drive creative solutions'
],
examples: [
'Pitching and creating a roadmap for a bet',
'Leading a bet, tribe or large cross-functional effort'
]
},
{
summary:
'Novel and path finding situations/problems, requiring development of new concepts and imaginative solutions for which there are no precedents.',
signals: [
"Provides creative solutions for problems that impact Hudl's bottom line",
'Communicates short and long-term impact and risk of solutions/ideas',
'Solves problems for which there is no benchmark (or few examples in the market)'
],
examples: [
'Completing a thorough assessment of new markets',
'Building a strategic roadmap that impacts mountain goals',
'Providing Sr. Leadership with a risk/reward analysis of a novel strategy'
]
},
{
summary:
'Problems/situations are novel and solutions required are detrimental to the success of Hudl. (must be a core function of the role)',
signals: [
"Provides innovative solutions to novel problems that are detrimental to Hudl's future"
],
examples: [
'Providing Sr. Leadership with strategic outlines of competitors and their advantages',
'Leading strategy sessions that identify future focuses for Hudl',
'Setting long-term vision for Hudl'
]
}
]
},
COMMUNICATION: {
displayName: 'Ownership',
category: 'Scope',
description: 'Autonomy and requirement to achieve results.',
milestones: [
{
summary:
'Operating within direct and detailed instructions with very close and continuous supervision.',
signals: [
'Completes tasks as assigned',
'Reads or follows directions to completion'
],
examples: [
'Updating sync pages',
'Running audits',
'Scheduling meetings'
]
},
{
summary:
'Clear instructions and established work routines, under close supervision.',
signals: [
'Completes activities that have been clearly outlined',
'Works closely with superviser to ensure accuracy and efficiency'
],
examples: [
'Creating meeting agendas',
'Coordinating schedules or events',
'Answering simple questions'
]
},
{
summary:
'Operating within standardized practices and/or supervision of progress and results.',
signals: [
'Reviews results with supervisor/manager on a reqular basis',
'Completes activities for which they are provided an overview'
],
examples: [
'Problem solving issues',
'Documenting solutions',
'Executing on a project with clear objectives/outcomes'
]
},
{
summary:
'Operating within established precendents or well-defined policies and review of end results.',
signals: [
'Uses guardrails to guide daily activities',
'Reviews end results with manager',
'Uses policies or precedents to guide decisions'
],
examples: [
'Delivering a project on time, with exceptional results',
'Building roadmap for a defined project'
]
},
{
summary:
'Subject to broad practices/procedures and managerial direction.',
signals: [
'Makes decisions with input/direction from manager',
'Has autonomy to solve problems within area of ownership'
],
examples: [
'Working collaboratively on a bet or business team',
'Leading a project',
'Raising concerns about potential roadblocks to delivering outcomes'
]
},
{
summary: 'Subject to general direction and broadly defined objectives.',
signals: [
'Makes strategic decisions with input/direction from Sr. Leadership',
'Has autonomy to provide direction/strategy within area of ownership'
],
examples: [
'Making recommendations on future strategic priorities',
'Leading a team or function (i.e. Tribe or bet)',
'Working collaboratively to deliver a roadmap - end-to-end'
]
},
{
summary:
'Subject only to overall guidance on broad organizational objectives and collection of strategic policy.',
signals: [
'Reviews results with Sr. Leadership',
'Makes decisions autonomously, with insight from Sr. Leadership'
],
examples: [
'Building strategic plans for an enterprise function',
'Aligning strategic work to mountain goals',
'Leverging WLB discussions to drive work forward'
]
},
{
summary: 'Complete ownership, with no oversight beyond the board.',
signals: [
'Reviews results with the board',
'Makes decisions autonomously'
],
examples: [
'Leading board meetings',
'Making strategic decisions for Hudl',
'Reviewing financials to impact future decisions'
]
}
]
},
CRAFT: {
displayName: 'Impact',
category: 'Impact',
description: 'Delivering value. Weighted double.',
milestones: [
{
summary: 'No impact on finances or other Hudlies.',
signals: [
'Executes tasks that have been assigned by others and have no impact on finances or other Hudlies'
],
examples: ['Scheduling meetings', 'Creating meeting agendas']
},
{
summary:
'No financial impact. Little or no shared responsibility or impact on other Hudlies.',
signals: [
'Executes activities that have been assigned by others and have no impact on finances',
'Works alone'
],
examples: [
'Processing simple requests',
'Answering emails (internal, not with clients)'
]
},
{
summary:
'Partnership and common responsibilties with other roles/functions AND impact that reaches one department/business unit.',
signals: [
"Clearly articulates connection of work to Hudl's mission/vision",
'Works collaboratively to deliver value with other Hudlies',
'OR',
'Delivers outcomes that impact one department or business unit'
],
examples: [
'Working collaboratively to deliver value',
'Building plan to ensure work is connected to team goals/Hudl mission',
'Providing coaches or clients with an exceptional experience'
]
},
{
summary:
'Works collaboratively to define direction focused on achieving critical business impact AND impact that is inter-departmental/multiple business units.',
signals: [
'Uses judgment to prioritize most impactful work',
'Demonstrates insight to define direction that delivers critical business impact for Hudl',
'OR',
'Delivers outcomes that impact multiple areas'
],
examples: [
'Prioritizing efforts to ensure maximum impact',
'Working cross-functionally to deliver value as a team',
'Identifying roadblocks and solutions to ensure exceptional outcomes'
]
},
{
summary:
'Defines/sets direction for others to achieve critical business impact (ie. mountain goals, Hudl-wide strategic initiatives)',
signals: [
'Uses expertise to identify areas that achieve critical business impact',
'Demonstrates accountability in delivering results'
],
examples: [
'Building strategy that impacts critical business results',
'Delivering value that is above and beyond what Hudl has seen previously out of this role',
'Engaging peers in delivering value collaboratively'
]
},
{
summary:
'Impact of decisions are felt throughout the majority of Hudl and impact the majority of Hudlies (more than 50%).',
signals: [
'Uses expertise to identify areas of focus for others to achieve critical business impact',
'Demonstrates accountability in delivering results- self and through others'
],
examples: [
'Building strategy that impacts critical business results through others',
'Holds others accountable to delivering exceptional value'
]
},
{
summary:
'Impact of decisions are felt throughout all of Hudl and impact all Hudlies.',
signals: [
"Delivers value that improves Hudl's strategic position",
'Provides insight and work that helps Hudl achieve critical business goals',
"Connects work directly to Hudl's strategic priorities"
],
examples: [
'Identifying potential areas of expansion for Hudl',
'Delivering value that drives mountain goals and strategic priorities for Hudl'
]
},
{
summary: '',
signals: [],
examples: []
}
]
}
};
export const trackIds: TrackId[] = Object.keys(tracks);
export const categoryIds: Set<string> = trackIds.reduce((set, trackId) => {
set.add(tracks[trackId].category);
return set;
}, new Set());
export const categoryPointsFromMilestoneMap = (milestoneMap: MilestoneMap) => {
let pointsByCategory = new Map();
trackIds.forEach(trackId => {
const milestone = milestoneMap[trackId];
const categoryId = tracks[trackId].category;
let currentPoints = pointsByCategory.get(categoryId) || 0;
pointsByCategory.set(
categoryId,
currentPoints + milestoneToPoints(milestone, trackId)
);
});
return Array.from(categoryIds.values()).map(categoryId => {
const points = pointsByCategory.get(categoryId);
return { categoryId, points: pointsByCategory.get(categoryId) || 0 };
});
};
export const totalPointsFromMilestoneMap = (
milestoneMap: MilestoneMap
): number =>
trackIds
.map(trackId => milestoneToPoints(milestoneMap[trackId], trackId))
.reduce((sum, addend) => sum + addend, 0);
export const categoryColorScale = d3
.scaleOrdinal()
.domain(categoryIds)
.range(['#ff6300', '#4e5d6c', '#009ce3']);
export const eligibleTitles = (milestoneMap: MilestoneMap): string[] => {
const totalPoints = totalPointsFromMilestoneMap(milestoneMap);
return titles
.filter(
title =>
(title.minPoints === undefined || totalPoints >= title.minPoints) &&
(title.maxPoints === undefined || totalPoints <= title.maxPoints)
)
.map(title => title.label);
};