diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 00000000..11dd8408
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,37 @@
+version: 2
+jobs:
+ build:
+ branches:
+ only:
+ - master
+ docker:
+ - image: circleci/golang:1.13.1
+ steps:
+ - add_ssh_keys:
+ fingerprints:
+ - "47:6d:27:84:fe:b0:67:34:81:ce:2f:bf:90:ba:1a:0b"
+ - checkout
+ - restore_cache:
+ keys:
+ - go-mod-v1-{{ checksum "go.sum" }}
+ - run:
+ name: download-libraries
+ command: |
+ go get -u
+ - save_cache:
+ key: go-mod-v1-{{ checksum "go.sum" }}
+ paths:
+ - "/go/pkg/mod"
+ - run:
+ name: build docs
+ command: |
+ go run main.go
+ - run:
+ name: commit with skip
+ command: |
+ currentDate=`date`
+ echo "last build: ${currentDate}" > docs/lastbuild.txt && \
+ git config --global user.email "machine@searchspring.com" && \
+ git config --global user.name "Searchspring Machine" && \
+ git add . && \
+ git commit -m "rebuilt docs [ci skip]" && git push
\ No newline at end of file
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
new file mode 100644
index 00000000..0cd63993
--- /dev/null
+++ b/.github/workflows/go.yml
@@ -0,0 +1,18 @@
+name: Deploy to Nerdherder
+
+on:
+ push:
+ branches: [ master ]
+
+jobs:
+ build:
+ name: Deploy to Nerdherder
+ runs-on: ubuntu-latest
+ if: "!contains(github.event.head_commit.message, 'ci skip')"
+ steps:
+ - uses: mvasigh/dispatch-action@main
+ with:
+ token: ${{ secrets.NERDHERDER_TOKEN }}
+ repo: nerdherder
+ owner: codeallthethingz
+ event_type: competencies_change
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..9daa8247
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+node_modules
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..e7e9d11d
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,2 @@
+# Default ignored files
+/workspace.xml
diff --git a/.idea/ClojureProjectResolveSettings.xml b/.idea/ClojureProjectResolveSettings.xml
new file mode 100644
index 00000000..df470b16
--- /dev/null
+++ b/.idea/ClojureProjectResolveSettings.xml
@@ -0,0 +1,6 @@
+
+
+
+ IDE
+
+
\ No newline at end of file
diff --git a/.idea/competencies.iml b/.idea/competencies.iml
new file mode 100644
index 00000000..d6ebd480
--- /dev/null
+++ b/.idea/competencies.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..9a601b1a
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Competencies/Competency-Agile-Process-Management.md b/Competencies/Competency-Agile-Process-Management.md
deleted file mode 100644
index cacbd41c..00000000
--- a/Competencies/Competency-Agile-Process-Management.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Agile Process Management
-
-The agile software development process is a bunch of people based things and a bunch of technical things.
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Back-End.md b/Competencies/Competency-Back-End.md
deleted file mode 100644
index 6d73c193..00000000
--- a/Competencies/Competency-Back-End.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Back End
-
-## How do you prove it?
-
-## How do you improve it?
-
-Read the laws of UX - has things about API design: [https://lawsofux.com/](https://lawsofux.com/)
-
diff --git a/Competencies/Competency-Backlog-Management.md b/Competencies/Competency-Backlog-Management.md
deleted file mode 100644
index f205af08..00000000
--- a/Competencies/Competency-Backlog-Management.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Competency - Backlog Management
-
-The backlog is the system where all near term / future parts of the product are recorded and prioritized. Every team is responsible for ensuring that their backlog reflects the work that we want to be doing, and that each task is clear, groomed (or awaiting grooming), actionable, has a story owner and stakeholders, and is linked to the right supporting resources (specs, other tickets, design, epics, etc).
-
-Backlogs are prioritized according to what will have impact.
-
-Our backlogs are tracked in Asana
-
-## How do you prove it?
-
-Your working backlog has less than 100 items in it. These are high level features/ideas that may break out into many user stories.
-
-You have a system that separates out raw ideas and away from the backlog while still making sure everyone who had an idea feels heard.
-
-The tickets capture who will use the feature and how they will be used.
-
-Every ticket in the backlog has a high level estimate of value.
-
-Every ticket in the backlog has a high level estimate of effort.
-
-Each item in the top 25% is so well described (some people attach videos) that any ticket can be picked up by development and with no interaction with the product manager they can accurately assess the scope of work and every stakeholder that it benefits.
-
-Every item in the top 25% has a set of acceptance criteria that lists off of the ways the product owner will enforce quality and completeness after development work is complete.
-
-You hold client product roadmap meetings once a quarter that talk about the direction of the product.
-
-You hold client roundtables once a quarter that gather feedback and generate new product ideas. You use these sessions to get a feeling for relative importance of stories for clients.
-
-## How do you improve it?
-
-Read about the many ways to manage a backlog: [https://www.agilealliance.org/product-backlog-management-tips-from-a-seasoned-product-owner/](https://www.agilealliance.org/product-backlog-management-tips-from-a-seasoned-product-owner/) / [http://bit.ly/2vJ6qYz](http://bit.ly/2vJ6qYz)
-
-Learn about acceptance criteria: [https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/](https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/)
-
-Read agile estimation: [https://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415](https://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415)
-
-Techniques to break up stories in sprint planning: [http://agileforall.com/resources/how-to-split-a-user-story/](http://agileforall.com/resources/how-to-split-a-user-story/)
-
-Read about the product owner role:
-
-[https://www.romanpichler.com/romans-books/agile-product-management-with-scrum/](https://www.romanpichler.com/romans-books/agile-product-management-with-scrum/)
-
-* **Groom as you go**. When something comes to your from a stakeholder or at on call, groom it right away: add it to the right epic, add its priority, and ensure the contents of the ticket include everything so that whoever picks it up knows what "done" is. Also, ensure the ticket is prioritised in an upcoming sprint (see next points) or in the backlog. This will speed up the time it takes to groom with the team.
-
-* **And, plan a sprint or two ahead**. This might be contentious, and that's okay. It may not work for all teams, and that's okay too. Create the next two sprints in Jira as placeholders and put in whatever didn't quite make into the last grooming session into there. Throughout the current sprint, add high value items to those future unconfirmed sprints.
-
- * Then, at grooming, you'll already have a list of impactful, high priority tickets to review as a team (which will save you having to comb through that ice box, or have people remember what might be important enough to work on this sprint). The whole team can be involved in this.
-
diff --git a/Competencies/Competency-Banking.md b/Competencies/Competency-Banking.md
deleted file mode 100644
index b7ff8cb5..00000000
--- a/Competencies/Competency-Banking.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Competency - Banking (RBC & SVB)
-
-We use Royal Bank of Canada (RBC) and Silicon Valley Bank (SVB) to do all of our corporate banking, wire payments and some expense payments. Most of our expense come through the credit cards associated with either of these banks.
-
-## How do you prove it?
-
-Can managing expenses in either online banking system
-
-Pay bills
-
-Set up wire transfers and make sure
-
-Pay credit card balances down
-
-Monitor expenses and balances
-
-## How do you improve it?
-
-Proactively monitor all expenses, know when to pay bills and credit card balances off before they become an issue. All monthly payments are scheduled, ready to go and you have automated as much of the process as possible.
-
-You can catch odd expenses during your monthly reviews and bring them to the attention of the Finance team. You are an owner of our banking systems and make sure everything is running smoothly. You know how to troubleshoot any issues and who to escalate issues to.
-
diff --git a/Competencies/Competency-Basic-Design.md b/Competencies/Competency-Basic-Design.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Basic-Design.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Basic-Python.md b/Competencies/Competency-Basic-Python.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Basic-Python.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-AWS-Services.md b/Competencies/Competency-Breadth-of-AWS-Services.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-AWS-Services.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-Accessible-Markup.md b/Competencies/Competency-Breadth-of-Accessible-Markup.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-Accessible-Markup.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-CSS-Technologies.md b/Competencies/Competency-Breadth-of-CSS-Technologies.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-CSS-Technologies.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-Cloud-Providers.md b/Competencies/Competency-Breadth-of-Cloud-Providers.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-Cloud-Providers.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-Databases.md b/Competencies/Competency-Breadth-of-Databases.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-Databases.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-GCP-Services.md b/Competencies/Competency-Breadth-of-GCP-Services.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-GCP-Services.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-Languages.md b/Competencies/Competency-Breadth-of-Languages.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-Languages.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-MVC-Patterns.md b/Competencies/Competency-Breadth-of-MVC-Patterns.md
deleted file mode 100644
index f601c87a..00000000
--- a/Competencies/Competency-Breadth-of-MVC-Patterns.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-You produce code that has clean separations between the MVC lines.
-
-React data flow.
-
-MVVM - Knockout's approach.
-
-## How do you improve it?
-
-Read about the various ways people are separating out their models and views:
-
-[https://ember-redux.com/ddau/](https://ember-redux.com/ddau/)
-
diff --git a/Competencies/Competency-Breadth-of-Programming-Patterns.md b/Competencies/Competency-Breadth-of-Programming-Patterns.md
deleted file mode 100644
index a187e550..00000000
--- a/Competencies/Competency-Breadth-of-Programming-Patterns.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
-Gang of Four: Patterns
-
diff --git a/Competencies/Competency-Breadth-of-Scaling.md b/Competencies/Competency-Breadth-of-Scaling.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-Scaling.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-State-management.md b/Competencies/Competency-Breadth-of-State-management.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-State-management.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Breadth-of-UI-Frameworks.md b/Competencies/Competency-Breadth-of-UI-Frameworks.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Breadth-of-UI-Frameworks.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Budgeting.md b/Competencies/Competency-Budgeting.md
deleted file mode 100644
index da73d752..00000000
--- a/Competencies/Competency-Budgeting.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Budgeting
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Business-Development.md b/Competencies/Competency-Business-Development.md
deleted file mode 100644
index b44a818b..00000000
--- a/Competencies/Competency-Business-Development.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Business Development
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-CSS.md b/Competencies/Competency-CSS.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-CSS.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Code-of-Conduct.md b/Competencies/Competency-Code-of-Conduct.md
deleted file mode 100644
index a91f77ba..00000000
--- a/Competencies/Competency-Code-of-Conduct.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Code of Conduct
-
-We have a Code of Conduct that encapsulates our values and mission. You are the example of our code of conduct. This includes embodying our values and mission and speaking out when others are in violation of the code of conduct.
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Communication-Advanced.md b/Competencies/Competency-Communication-Advanced.md
deleted file mode 100644
index 314f091b..00000000
--- a/Competencies/Competency-Communication-Advanced.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Communication Advanced
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Community-Builder.md b/Competencies/Competency-Community-Builder.md
deleted file mode 100644
index 2d2f3c88..00000000
--- a/Competencies/Competency-Community-Builder.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Competency - Community Builder
-
-We want to improve the areas in which we work.
-
-Generally this means being involved in the local community and giving back and helping others where you can.
-
-In YYJ this is increasing the amount of tech community here.
-
-## How do you prove it?
-
-You've used up all your community days.
-
-You can pitch Battlesnake and Startup Slam (the Sendwithus community run events).
-
-You attend community events.
-
-## How do you improve it?
-
-We have designated paid days off for helping out in the community. Sendwithus also organizes various events that you will be invited to.
-
-Join some meetups - [http://www.meetup.com](http://www.meetup.com)
-
-Write a blog post.
-
-Do some twitch streaming with Brandon.
-
-Come to the battlesnake community meetup.
-
-Organize a meetup of your own.
-
diff --git a/Competencies/Competency-Company-Growth-Plan.md b/Competencies/Competency-Company-Growth-Plan.md
deleted file mode 100644
index e6715731..00000000
--- a/Competencies/Competency-Company-Growth-Plan.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Company Growth Plan
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Critical-Thinker.md b/Competencies/Competency-Critical-Thinker.md
deleted file mode 100644
index bc755beb..00000000
--- a/Competencies/Competency-Critical-Thinker.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Competency - Critical Thinker
-
-(Brief description)
-
-## How do you prove it?
-
-(TODO)
-
-## How do you improve it?
-
-Learn lateral thinking: [https://www.amazon.ca/Lateral-Thinking-Creativity-Step/dp/0060903252](https://www.amazon.ca/Lateral-Thinking-Creativity-Step/dp/0060903252)
-
diff --git a/Competencies/Competency-Delegation.md b/Competencies/Competency-Delegation.md
deleted file mode 100644
index 89c81f6f..00000000
--- a/Competencies/Competency-Delegation.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Delegation
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Design-Thinking.md b/Competencies/Competency-Design-Thinking.md
deleted file mode 100644
index f03d6582..00000000
--- a/Competencies/Competency-Design-Thinking.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Competency - Design Thinking
-
-## How do you prove it?
-
-## How do you improve it?
-
-Founder of Heroku's thoughts: [https://gist.github.com/adamwiggins/5687294](https://gist.github.com/adamwiggins/5687294)
-
-How to design enterprise software: [https://blog.usejournal.com/how-we-design-enterprise-software-916124fb73db?gi=863a5d9edffc](https://blog.usejournal.com/how-we-design-enterprise-software-916124fb73db?gi=863a5d9edffc)
-
diff --git a/Competencies/Competency-Dev-Ops.md b/Competencies/Competency-Dev-Ops.md
deleted file mode 100644
index 58a21cea..00000000
--- a/Competencies/Competency-Dev-Ops.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Dev Ops
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Diagrams.md b/Competencies/Competency-Diagrams.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Diagrams.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Docker-Compose.md b/Competencies/Competency-Docker-Compose.md
deleted file mode 100644
index b712721e..00000000
--- a/Competencies/Competency-Docker-Compose.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Docker Compose
-
-Docker compose is a simple way to get all your docker containers running locally.
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Documentation.md b/Competencies/Competency-Documentation.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Documentation.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Employee-Offboarding.md b/Competencies/Competency-Employee-Offboarding.md
deleted file mode 100644
index 60440926..00000000
--- a/Competencies/Competency-Employee-Offboarding.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Employee Offboarding
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Employee-Onboarding.md b/Competencies/Competency-Employee-Onboarding.md
deleted file mode 100644
index 0687a0bd..00000000
--- a/Competencies/Competency-Employee-Onboarding.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Employee Onboarding
-
-Every new employee deserves an amazing onboarding experience. You make sure that happens. By ensuring everything is ready day one we can ensure that first impression is perfect. But onboarding doesn' end on day one, or week one, or month one. You ensure that the first three months setup every new employee for a successful career at Sendwithus.
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Expense-Tracking.md b/Competencies/Competency-Expense-Tracking.md
deleted file mode 100644
index 3509a64c..00000000
--- a/Competencies/Competency-Expense-Tracking.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Competency - Expense Tracking
-
-We spend money to run the business and all of it needs to be logged and accounted for. You will log all expenses and receipts in Drive.
-
-## How do you prove it?
-
-Every receipt you acquire is catalogued in the Receipts folder in Drive.
-
-All expenses are forwarded to [invoices@sendwithus.com](mailto:invoices@sendwithus.com) for tracking
-
-You track all expenses against current budgets and ensure you are not exceeding any budgets.
-
-## How do you improve it?
-
-You don't just track expenses but you also look at projections for spending.
-
-You proactively look at the monthly budgets and find areas to save money or increase ROI on purchases.
-
diff --git a/Competencies/Competency-Feature-Flags.md b/Competencies/Competency-Feature-Flags.md
deleted file mode 100644
index 9f4d4b1c..00000000
--- a/Competencies/Competency-Feature-Flags.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - Feature Flags
-
-## How do you prove it?
-
-## How do you improve it?
-
-Learn Martin Fowler's take on the nuances: [https://martinfowler.com/articles/feature-toggles.html](https://martinfowler.com/articles/feature-toggles.html)
-
diff --git a/Competencies/Competency-Fire-Handling.md b/Competencies/Competency-Fire-Handling.md
deleted file mode 100644
index a8737b3a..00000000
--- a/Competencies/Competency-Fire-Handling.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Competency - Fire Handling
-
-Be part of the response team that responds to production emergencies.
-
-This competency requires:
-
-* Good debugging and prioritization skills
-
-* A strong desire to have a healthy, well monitored, easy to debug system
-
-* A strong understanding of the infrastructure and data paths within
-
-* Work outside of normal office hours (as such it comes with a increase in base pay)
-
-* A data/cell connection (as such we cover, within reason, phone plans)
-
-* Ops Genie: Knowledge that it defaults all UI to your chosen timezone, no matter which timezone you are in.
-
-## How do you prove it?
-
-* Demonstrate knowledge of what happens when an alert is acked
-
-* Demonstrate knowledge of what happens when an
-
-## How do you improve it?
-
-Read the wiki doc about fire handling: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md)
-
-You need to be able to identify alerts and figure out who to wake up: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md)
-
diff --git a/Competencies/Competency-Fire-Triaging.md b/Competencies/Competency-Fire-Triaging.md
deleted file mode 100644
index 1593ff92..00000000
--- a/Competencies/Competency-Fire-Triaging.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# Competency - Fire Triaging
-
-Be part of the monitoring team that triages production emergencies.
-
-This competency requires:
-
-* Good debugging and prioritization skills
-
-* A strong desire to have a healthy, well monitored, easy to debug system
-
-* A strong understanding of the infrastructure and data paths within
-
-* A good understanding of where to find all different types of logs within the system
-
-* Work outside of normal office hours (as such it comes with a increase in base pay)
-
-* A data/cell connection (as such we cover, within reason, phone plans)
-
-### Sub-Competencies:
-
-* linux/bash
-
-* Kubedash
-
-## How do you prove it?
-
-### Alerting Knowledge
-
-You have a good understanding of (and can discuss):
-
-* alerting systems for both products (SWU and DYS).
-
-* different categories of alerts.
-
-* differences in categorizations for each product
-
-### Debugging/Tracing
-
-Given very little data, you have a good priority of where/what details to get (and how).
-
-You can have an egoless discussion about the state of infrastructure and code.
-
-You understand the types of errors that could occur, given symptoms, and could give likelihoods on them, along with how to prove/disprove each theory.
-
-You are able to view system resource usage of each heroku dyno in Sendwithus
-
-### Prioritization
-
-You can prioritize between different types of bugs, given very little data on the bugs.
-
-You can find out more about the bugs through various monitoring and debugging techniques.
-
-You can delegate, and know who to delegate too.
-
-### Tooling
-
-You know the reason for, and how to use:
-
-Sendwithus:
-
-* OpsGenie
-
-* Sentry
-
-* Papertrail
-
-* Librato
-
-* NewRelic
-
-* Heroku
-
-Dyspatch:
-
-* OpsGenie
-
-* Sentry
-
-* Datadog
-
-* Cloudwatch Logs
-
-### Training
-
-You have shadowed 2 fire duty rotations.
-
-You have been on 1 fire duty rotation solo.
-
-You have confidence, your managers confidence, and the fire lead's confidence to be on rotation
-
-### John Filter
-
-The fire duty lead (John) has signed off on your ability to do fire duty.
-
-## How do you improve it?
-
-Read the wiki doc about fire handling: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md)
-
-You need to be able to identify alerts and figure out who to wake up: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md)
-
diff --git a/Competencies/Competency-Git-&-GitHub.md b/Competencies/Competency-Git-&-GitHub.md
deleted file mode 100644
index 7378955f..00000000
--- a/Competencies/Competency-Git-&-GitHub.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Competency - Git & GitHub
-
-Can safely and securely use github.
-
-Knows the difference between squashing and merging
-
-Great at Pull Requests
-
-## How do you prove it?
-
-You can clone a project, create a branch, handle merge conflicts, squash, create a pull request.
-
-Do a code review on a Pull Request.
-
-Can verbally explain git and github to someone else and help them learn the sendwithus git processes.
-
-## How do you improve it?
-
-Read the github manual ([https://git-scm.com/book/en/v2](https://git-scm.com/book/en/v2))
-
-Memorize the basic set of commands ([https://www.git-tower.com/blog/git-cheat-sheet/](https://www.git-tower.com/blog/git-cheat-sheet/))
-
-Learn hub ([https://github.com/github/hub](https://github.com/github/hub))
-
-Git Extras for common use-cases -[ https://github.com/tj/git-extras](https://github.com/tj/git-extras)
-
-# Competency - Git & GitHub - Advanced
-
-Have achieved all the things for the basic competency and additionally can administer GitHub {teams, orgs, security} and help with advanced git issues.
-
-## How do you prove it?
-
-People come to you and say things like, "I did this merge and now I'm in a tangle of branches and somebody did a force push and now I'm stuck", and you can calmly untangle the knot. This can involve solving merge-conflicts, cherry-picking commits from other branches, and rebasing.
-
-You can integrate and manage webhooks and build process tie ins.
-
-You can explain how git hashing works and explain the pros and cons in relation to other version control systems such as svn and mercurial.
-
-You can explain and use pre and post hooks.
-
-You understand and can modify configuration in .git/config.
-
-## How do you improve it?
-
-Read ALL the github manual ([https://git-scm.com/book/en/v2](https://git-scm.com/book/en/v2)) and build prototypes.
-
-Read blogs about people doing weird things to git (like using it as a database [https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/](https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/))
-
-Try experiments in git and github.
-
-Build your own git aliases.
-
-Clean a repository's history of all files larger than 200kb.
-
-Build a GitHub PR plugin.
-
-~/.gitconfig add `autocorrect = -1` turns on autocorrect on your git commands. So `git statsu` --> `git status` automatically. :
-
-If using GitHub apps Status Checks, you can [skip Status Checks](https://help.github.com/articles/about-status-checks/#skipping-and-requesting-checks-for-individual-commits) on a per-commit basis (instead of closing quote, add two new lines, followed by `skip-checks: true`)
```
$ git commit -m "Update README.
-
->
-
->
-
-skip-checks: true
-
-```
-
diff --git a/Competencies/Competency-HTML.md b/Competencies/Competency-HTML.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-HTML.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Hiring.md b/Competencies/Competency-Hiring.md
deleted file mode 100644
index da223d69..00000000
--- a/Competencies/Competency-Hiring.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Competency - Manager Hiring
-
-Hiring is a multi-stage process that includes networking, prospecting, interviewing, and evaluation, all before an offer is even made. You need to have a keen sense of what skills your team already has, and how to assess someone new for the perspectives and abilities they'll bring to the team. This requires at least a moderate competency in the skill-set you may be hiring for so you're able to at least "talk the talk" and ?cut the wheat from the chaff?. (Or from an alternate perspective, you need to know how to detect lies.) Once the new team member has been invited, the next phase to prepare for involves training and mentoring.
-
-## How do you prove it?
-
-* You are a holistic view of the company, with strong interpersonal skills and the ability to collaborate cross team effectively that give you a broad appreciation of the things that are important to work here.
-
-* You participate in community events and frequently "put yourself out there" to meet new and interesting potential applicants.
-
-* You're able to ask the right questions to evaluate a person's skills
-
-* You already are capable at the "interviewing" competency.
-
-## How do you improve it?
-
-* Attend network events
-
-* Join/pair with other more experienced hiring managers
-
-* Attend diversity events
-
-* Be open to identifying personal biases that may cause you to overlook certain candidates
-
-Read the book Who: [https://www.amazon.ca/Who-Method-Hiring-Geoff-Smart/dp/1400158389](https://www.amazon.ca/Who-Method-Hiring-Geoff-Smart/dp/1400158389)
-
-Read the Hiring policy: [https://docs.google.com/document/d/1D7DHYvlbqDryTRBND9sLpumiCgiqbHdJ1OzxnJnf_YQ/edit](https://docs.google.com/document/d/1D7DHYvlbqDryTRBND9sLpumiCgiqbHdJ1OzxnJnf_YQ/edit)
-
-Read the interviewing guide: [https://docs.google.com/document/d/15nk_bCWd9YHFVQ0nJLpPsNlN-DiFIdNJke0Qk5SKwjE/edit](https://docs.google.com/document/d/15nk_bCWd9YHFVQ0nJLpPsNlN-DiFIdNJke0Qk5SKwjE/edit)
-
-Learn the hiring process:
-
-https://docs.google.com/document/d/1vWrJFVPEPYHFfIK9Y9wxobiJPo-iAxqB7zZYhPrTkp0/edi
-
diff --git a/Competencies/Competency-IDE-Eclipse.md b/Competencies/Competency-IDE-Eclipse.md
deleted file mode 100644
index 623e3c9a..00000000
--- a/Competencies/Competency-IDE-Eclipse.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - IDE - Eclipse
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-IDE-Intellij.md b/Competencies/Competency-IDE-Intellij.md
deleted file mode 100644
index 46aeafe4..00000000
--- a/Competencies/Competency-IDE-Intellij.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - IDE - Intellij
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-IDE-Visual-Studio-Code.md b/Competencies/Competency-IDE-Visual-Studio-Code.md
deleted file mode 100644
index 4394be55..00000000
--- a/Competencies/Competency-IDE-Visual-Studio-Code.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Competency - IDE - Visual Studio Code
-
-## How do you prove it?
-
-## How do you improve it?
-
-Watch the tech drop: [https://youtu.be/YOyWw80iaYk](https://youtu.be/YOyWw80iaYk)
-
diff --git a/Competencies/Competency-InfoSec-Reviews.md b/Competencies/Competency-InfoSec-Reviews.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-InfoSec-Reviews.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Interviewing.md b/Competencies/Competency-Interviewing.md
deleted file mode 100644
index 69014003..00000000
--- a/Competencies/Competency-Interviewing.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Competency - Interviewing
-
-Interviewing is the act of meeting a potential candidate with the intention of evaluating their fit for a potential opening or opportunity within the company.
-
-Interviews themselves can take a few different forms, but often they involve a face to face meeting with a new person. Our process for engineer interviews at Sendwithus has typically been to provide an exercise or talking point ahead of time that the candidate can work on or think about. When they come in for the discussion we then talk through their approach and try to identify any weak spots, evaluating how the candidate responds to feedback and whether they've thought through the problem space completely. Another option that some folk advocate for is doing pair coding interviews where the candidate is paired up with someone from the company. Either way, the end goal is to have a discussion around a potential real problem space, to explore how capably the situation is handled.
-
-## How do you prove it?
-
-* You're able to have comfortable conversations with new people
-
-* You're a good judge of skill and character, and know how to ask the right questions to get at the root of someone's ability.
-
-* You're also able to ask challenging questions that help uncover problem spots
-
-* Your high score candidates, end up being successful in the company.
-
-* Your low score candidates, if hired, are statistically removed from the company early.
-
-* You can reference internal benchmarks of excellence for the roles your hire for without these benchmarks being affected by external influences.
-
-## How do you improve it?
-
-* Perform interviews with other experienced interviewers
-
-* Study up on good interview questions within the problem space you're hiring for, such as the following HTML front end question list: [https://github.com/h5bp/Front-end-Developer-Interview-Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)
-
-* Practice
-
-* Read [Who, by Geoff Smart](https://www.amazon.ca/Who-Method-Hiring-Geoff-Smart/dp/1400158389)
-
diff --git a/Competencies/Competency-Jinja.md b/Competencies/Competency-Jinja.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Jinja.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Language-Go.md b/Competencies/Competency-Language-Go.md
deleted file mode 100644
index caf4f546..00000000
--- a/Competencies/Competency-Language-Go.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Competency - Language Go
-
-Go (often referred to as golang for googling purposes) is a programming language created at Google in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features and CSP-style concurrent programming features added. The compiler and other language tools originally developed by Google are all free and open source.
-
-Wikipedia: [https://en.wikipedia.org/wiki/Go_(programming_language)](https://en.wikipedia.org/wiki/Go_(programming_language))
-
-Home: [https://golang.org/](https://golang.org/)
-
-## How do you prove it?
-
-For code you have submitted, your code reviews get few syntactic corrections.
-
-You can write code from memory without having to look up how you use language specific features.
-
-You can explain to someone the differences, advantages and disadvantages of this language in comparison to others.
-
-You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
-
-You understand packaging paradigms for the language.
-
-You have a good understanding of the resources and where to go if you're stuck.
-
-You understand how third party libraries are used, access, their lifecycle and security implications.
-
-You understand the testing frameworks of this language, and have the ability to describe the idiomatic ways of doing tasks with the language.
-
-## How do you improve it?
-
-Do the tutorial: [https://tour.golang.org/welcome/1](https://tour.golang.org/welcome/1)
-
-Read the docs: [https://golang.org/doc/](https://golang.org/doc/)
-
-Memorize the cheat sheet: [https://github.com/a8m/go-lang-cheat-sheet/blob/master/golang_refcard.pdf](https://github.com/a8m/go-lang-cheat-sheet/blob/master/golang_refcard.pdf)
-
-Understand package management: [https://github.com/golang/dep](https://github.com/golang/dep)
-
-Build some software.
-
-Attend Gophercon [https://www.gophercon.com/](https://www.gophercon.com/)
-
-Learn best practices:
-
-[https://blog.chewxy.com/2018/03/18/golang-interfaces/](https://blog.chewxy.com/2018/03/18/golang-interfaces/)
-
diff --git a/Competencies/Competency-Language-JavaScript.md b/Competencies/Competency-Language-JavaScript.md
deleted file mode 100644
index 15fdc365..00000000
--- a/Competencies/Competency-Language-JavaScript.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Competency - Language JavaScript
-
-Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. Historically, JavaScript was used primarily for client-side scripting, in which scripts written in JavaScript are embedded in a webpage's HTML, to be run client-side by a JavaScript engine in the user's web browser. Node.js enables JavaScript to be used for server-side scripting, and runs scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js has become one of the foundational elements of the "JavaScript everywhere" paradigm,[5] allowing web application development to unify around a single programming language, rather than rely on a different language for writing server side scripts.
-
-Wikipedia: [https://en.wikipedia.org/wiki/Node.js](https://en.wikipedia.org/wiki/Node.js)
-
-Home: [https://nodejs.org](https://nodejs.org)
-
-## How do you prove it?
-
-For code you have submitted, your code reviews get little syntactic corrections.
-
-You can write code from memory without having to look up how you use language specific features.
-
-You can explain to someone the differences between this language and another language.
-
-You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
-
-You understand packaging paradigms for the language.
-
-You have a good understanding of the resources and where to go if you're stuck.
-
-You understand how third party libraries are used, access, their lifecycle and security implications.
-
-## How do you improve it?
-
-Read: JavaScript the Good Parts [https://7chan.org/pr/src/OReilly_JavaScript_The_Good_Parts_May_2008.pdf](https://7chan.org/pr/src/OReilly_JavaScript_The_Good_Parts_May_2008.pdf)
-
-Read the docs: [https://nodejs.org/en/docs/](https://nodejs.org/en/docs/)
-
-Memorize the cheat sheet: [https://raw.githubusercontent.com/LeCoupa/awesome-cheatsheets/master/backend/node.js](https://raw.githubusercontent.com/LeCoupa/awesome-cheatsheets/master/backend/node.js)
-
-Understand package management: [https://www.npmjs.com/](https://www.npmjs.com/) [https://npmcompare.com/](https://npmcompare.com/)
-
-Build some software.
-
-What this video from Soundcloud on how to use functional programming to reduce code boilerplate. [https://www.youtube.com/watch?v=kA4-b7hvWhg](https://www.youtube.com/watch?v=kA4-b7hvWhg)
-
-# Competency - Language JavaScript (advanced)
-
-How do you prove it
-
-Can talk about the differences between JavaScript variants.
-
-How to improve it
-
-Learn TypeScript, CoffeeScript, Node.js, Elm, ReasonML
-
-Describe different techniques within JavaScript - Closures, Promises, Observables, Classes.
-
-Describe different styles within JavaScript, Functional, Object Oriented.
-
diff --git a/Competencies/Competency-Leading.md b/Competencies/Competency-Leading.md
deleted file mode 100644
index 286ed916..00000000
--- a/Competencies/Competency-Leading.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Competency - Leading
-
-Leading vs managing: an entire book could be (has been?) written on the nuances differentiating the two.
-
-Leaders help coordinate the people they work with, providing direction. They are concerned with the macroscopic when the rest of the group is addressing the micro.
-
-Leading is about setting a good example, always doing your best to model proactive and productive interactions.
-
-When things go wrong, it's about taking responsibility. When things go right, it's about sharing the reward and acknowledgement.
-
-Being a competent leader means seeking buy in or consensus. Decisions need to be weighted based on the stakeholders, and leaders may attempt to persuade (or at least educate) those with dissenting opinions.
-
-Leaders lift up those around them, providing resources and direction to overcome obstacles when possible. If nothing else, they offer an empathetic ear when not.
-
-Leaders need to be strong communicators.
-
-## How do you prove it?
-
-* You're able to hold your own in group discussions. People in your meetings always get a turn to talk and express their opinions.
-
-* You are trustworthy and folks don't have issue bringing things to you.
-
-* You're capable of addressing conflict between cohorts.
-
-* Strong organizational skills - Asana inbox zero. Calendar conflict management.
-
-* Nebulous new information types are classified and the designated place where they live is constructed and communicated.
-
-* Strong communication skills.
-
-## How do you improve it?
-
-* Have a mentor: someone that you're able to bounce ideas off of and talk through challenging situations with.
-
-* Take opportunities to improve public speaking.
-
-* Speak up in uncomfortable situations.
-
-* Watch Simon Sinek [why leaders eat last](https://www.youtube.com/watch?v=ReRcHdeUG9Y)
-
diff --git a/Competencies/Competency-Legal-Compliance.md b/Competencies/Competency-Legal-Compliance.md
deleted file mode 100644
index a0dc2630..00000000
--- a/Competencies/Competency-Legal-Compliance.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Competency - Legal Compliance
-
-As HR you are responsible for having a certain level of legal and HR compliance knowledge. This does not mean you will be vetting contracts or building them but you have a general understanding of what areas of the company we need to be compliant in, hiring, onboarding, payroll, benefits, leave, and separations.
-
-## How do you prove it?
-
-You can navigate general
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Lever.md b/Competencies/Competency-Lever.md
deleted file mode 100644
index 6ab7236d..00000000
--- a/Competencies/Competency-Lever.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Competency - Lever
-
-Lever is our Applicant Tracking System. It is a tool for tracking all applicants that come inbound and all candidate sourcing that occurs. Mastery of Lever means you can create any recruitment reports, create job posts, manage the candidate pipeline and educate Hiring Managers and others on how to use the product. You schedule all interviews, manager screens, and make sure every feedback form is in place for every job post.
-
-## How do you prove it?
-
-Every candidate is noted and triaged to the applicable pipeline stages within Lever and communicated with on a timely basis. Very little passes by your notice, you manage the candidates and the Hiring Manager holding them accountable for managing their candidate pool.
-
-## How do you improve it?
-
-Read up on general recruitment strategies and improving candidate experience.
-
-Read through the Lever helpdocs on how to utilize the product. [https://help.lever.co/hc/en-us](https://help.lever.co/hc/en-us).
-
-The Lever resource blog also has some great articles on using metrics and data to make better hiring decisions.
-
-* [https://www.lever.co/recruiting-resources/webinars/7-new-metrics-to-benchmark-your-sourcing-success](https://www.lever.co/recruiting-resources/webinars/7-new-metrics-to-benchmark-your-sourcing-success)
-
-* [https://www.lever.co/recruiting-resources/webinars/5-steps-to-double-your-recruiting-productivity](https://www.lever.co/recruiting-resources/webinars/5-steps-to-double-your-recruiting-productivity)
-
-* [https://www.lever.co/recruiting-resources/webinars/hiring-for-growth-5-strategies-that-work-5-that-dont](https://www.lever.co/recruiting-resources/webinars/hiring-for-growth-5-strategies-that-work-5-that-dont)
-
diff --git a/Competencies/Competency-Long-Term-Coding.md b/Competencies/Competency-Long-Term-Coding.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Long-Term-Coding.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Meetings.md b/Competencies/Competency-Meetings.md
deleted file mode 100644
index a03dfe32..00000000
--- a/Competencies/Competency-Meetings.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# Competency - Meetings
-
-Two or more people come together to do one of the following
-
-* Share information
-
-* Make some strategic decision
-
-* Tackle a tough problem
-
-* Cross department alignment
-
-* Retrospectives
-
-* Team planning
-
-This document talks about how do you run a successful meeting, the advanced section talks about specific types of meeting / meeting skills.
-
-## How do you prove it?
-
-Your meeting invites have an agenda.
-
-Your meetings have a role for who is running the meeting.
-
-Your meetings have a role for who is making sure remote participants have a voice.
-
-When you start a meeting you clearly articulate what the meeting is for at a high level.
-
-Your meetings have an appropriate amount of time.
-
-You book a meeting room when appropriate.
-
-You check people's calendars before you book the meeting and talk to people with conflicts before scheduling.
-
-Your meetings get good feedback about their usefulness.
-
-## How do you improve it?
-
-Ask people if they found the meeting useful.
-
-Post the poll in slack after a meeting
-
-/poll "How was that meeting?"
-
-"I always want to be in this meeting I get enormous value from it"
-
-"I sometimes get value from this meeting... please add ideas for improvement below"
-
-"I think this meeting would be better if... please add ideas for improvement below"
-
-"I don't think I need to be in this meeting"
-
-Learn how the microphones work: [https://docs.google.com/document/d/13M0ZkX4AjNd3424Pvp9T2NmPFKyfdyxV5jQIYM9IsEE/edit](https://docs.google.com/document/d/13M0ZkX4AjNd3424Pvp9T2NmPFKyfdyxV5jQIYM9IsEE/edit)
-
-
-
-Competency - Meetings - Advanced
-
-Have achieved all the things for the basic competency and additionally can administer run specific types of meetings.
-
-## How do you prove it?
-
-You can run a retrospective to gather feedback about process improvement.
-
-You can run a post-mortem effectively to gather feedback about an event.
-
-You can run brainstorming meetings with several people.
-
-## How do you improve it?
-
-For post-mortems learn about being a blameless facilitator: [https://extfiles.etsy.com/DebriefingFacilitationGuide.pdf](https://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) "The problem comes when the pressure to fix outweighs the pressure to learn."
-
-Read the Six thinking hats - to facilitate meeting speed and helping different characters contribute. - [https://www.amazon.com/Six-Thinking-Hats-Edward-Bono/dp/0316178314](https://www.amazon.com/Six-Thinking-Hats-Edward-Bono/dp/0316178314)
-
diff --git a/Competencies/Competency-Payroll.md b/Competencies/Competency-Payroll.md
deleted file mode 100644
index a92121a7..00000000
--- a/Competencies/Competency-Payroll.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Payroll
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Performance-Reviews.md b/Competencies/Competency-Performance-Reviews.md
deleted file mode 100644
index e30545c3..00000000
--- a/Competencies/Competency-Performance-Reviews.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Performance Reviews
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Policy-Writing.md b/Competencies/Competency-Policy-Writing.md
deleted file mode 100644
index a76830c7..00000000
--- a/Competencies/Competency-Policy-Writing.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Policy Writing
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Proactive-Communication.md b/Competencies/Competency-Proactive-Communication.md
deleted file mode 100644
index d4ce792f..00000000
--- a/Competencies/Competency-Proactive-Communication.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Competency - Proactive Communication
-
-Communication is foundational to what product management is, and being an effective PM requires continual investment into effective communication. Product managers have outstanding communication skills, coupled with proactive behaviours and positive mindset.
-
-## What are the expectations?
-
-1. Always communicate the "why" behind every decision. This is the most crucial thing.
-
-2. Communicate early, and often. Repeat yourself until everyone remembers.
-
-3. Own the success of every meeting you attend, even if you aren't the chair. If you see no one taking meeting notes, take on that role and share them with attendees. If you think a stakeholder is missing, invite them. Etc.
-
-4. Reply to every email you receive and every task where you're mentioned within 24 hours. And if you don't have the answer required yet, simply respond by saying "I'll get back to you on ".
-
-5. Ask how you can help the team. Seek out answers by making suggestions. This is a powerful way to build trust, stay in the loop, and keep a micro (as well as macro) view of projects.
-
-6. Keep a positive outlook, and try not to have anything bad to say. This is often easier said than done, but if you have a positive attitude, it's infectious. Product management is about leadership and your optimism, positive outlook, and initiative are crucial. Another aspect of this is framing every bit of communication around a positive. Instead of saying things like, "if you missed out on yesterday's meeting", why not go with "We want to keep you updated about yesterday's meeting". The difference is subtle but important.
-
-7. Own stakeholder alignment. Take the lead on fostering a productive working relationship with other teams, from sales to marketing to CS. Having open communication with other teams means you'll hear about ideas from others, and you'll work together more effectively.
-
-## How do you improve it?
-
-* Ask for feedback regularly. Ask stakeholders from your team but also from other teams.
-
-* Invest time into the basics
-
- * Read [Non-Violent Communication](https://www.amazon.com/Nonviolent-Communication-Language-Marshall-Rosenberg/dp/1892005034)
-
- * [Learn about why outcome > intent](https://thebias.com/2017/09/26/how-good-intent-undermines-diversity-and-inclusion/amp/)
-
- * Check out [Camille Fournier's book about leadership](http://shop.oreilly.com/product/0636920056843.do)
-
diff --git a/Competencies/Competency-Product-Backlog-Management.md b/Competencies/Competency-Product-Backlog-Management.md
deleted file mode 100644
index 87e0a619..00000000
--- a/Competencies/Competency-Product-Backlog-Management.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Competency - Product Backlog Management
-
-The backlog is the system where all near term / future parts of the product are recorded and prioritized. We manage ours in asasa.
-
-## How do you prove it?
-
-Your working backlog has less than 100 items in it. These are high level features/ideas that may break out into many user stories.
-
-You have a system that separates out raw ideas and away from the backlog while still making sure everyone who had an idea feels heard.
-
-The tickets capture who will use the feature and how they will be used.
-
-Every ticket in the backlog has a high level estimate of value.
-
-Every ticket in the backlog has a high level estimate of effort.
-
-Each item in the top 25% is so well described (some people attach videos) that any ticket can be picked up by development and with no interaction with the product manager they can accurately assess the scope of work and every stakeholder that it benefits.
-
-Every item in the top 25% has a set of acceptance criteria that lists off of the ways the product owner will enforce quality and completeness after development work is complete.
-
-You hold client product roadmap meetings once a quarter that talk about the direction of the product.
-
-You hold client roundtables once a quarter that gather feedback and generate new product ideas. You use these sessions to get a feeling for relative importance of stories for clients.
-
-## How do you improve it?
-
-Read about the many ways to manage a backlog: [https://www.agilealliance.org/product-backlog-management-tips-from-a-seasoned-product-owner/](https://www.agilealliance.org/product-backlog-management-tips-from-a-seasoned-product-owner/) / [http://bit.ly/2vJ6qYz](http://bit.ly/2vJ6qYz)
-
-Learn about acceptance criteria: [https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/](https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/)
-
-Read agile estimation: [https://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415](https://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415)
-
-Techniques to break up stories in sprint planning: [http://agileforall.com/resources/how-to-split-a-user-story/](http://agileforall.com/resources/how-to-split-a-user-story/)
-
-Read about the product owner role:
-
-[https://www.romanpichler.com/romans-books/agile-product-management-with-scrum/](https://www.romanpichler.com/romans-books/agile-product-management-with-scrum/)
-
diff --git a/Competencies/Competency-Product-Dyspatch-Backend.md b/Competencies/Competency-Product-Dyspatch-Backend.md
deleted file mode 100644
index 1624be2a..00000000
--- a/Competencies/Competency-Product-Dyspatch-Backend.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Competency - Product - Dyspatch - Backend
-
-All the systems and services and code that comprise the back end of the product.
-
-## How do you prove it?
-
-## How do you improve it?
-
-Watch the tech drops about the backend
-
-API Limits: [https://www.youtube.com/endscreen?v=1gBe9LcuIp0](https://www.youtube.com/endscreen?v=1gBe9LcuIp0)
-
-Logging in Go: [https://www.youtube.com/endscreen?v=zLIspuhLsbw](https://www.youtube.com/endscreen?v=zLIspuhLsbw)
-
-Do some code reviews.
-
-Pair with someone that knows all the systems.
-
diff --git a/Competencies/Competency-Product-Dyspatch.md b/Competencies/Competency-Product-Dyspatch.md
deleted file mode 100644
index 8d04b7b8..00000000
--- a/Competencies/Competency-Product-Dyspatch.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Competency - Product - Dyspatch
-
-Dyspatch is a product for large enterprise businesses to design, manage email templates.
-
-## How do you prove it?
-
-You can give an elevator pitch about why the product is useful and who benefits from it.
-
-You can list some stats about interesting use-cases of our customers.
-
-You can name some high profile customers.
-
-You have an account and can login, set up and use the system.
-
-## How do you improve it?
-
-Read the docs: [https://docs.dyspatch.io/](https://docs.dyspatch.io/)
-
-Log in to the app and use it.
-
-Talk to sales / marketing about the pitch and users.
-
-Come to Swuper Friday and listen in to the account management overview of Dyspatch.
-
-Build something against the API.
-
diff --git a/Competencies/Competency-Product-SWU.md b/Competencies/Competency-Product-SWU.md
deleted file mode 100644
index e5d5ed45..00000000
--- a/Competencies/Competency-Product-SWU.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Competency - Product - SWU
-
-Sendwithus is a product for small to medium sized business to design, manage, a/b test emails that are sent.
-
-## How do you prove it?
-
-You can give an elevator pitch about why the product is useful and who benefits from it.
-
-You can list some stats about interesting use-cases of our customers.
-
-You can name some high profile customers.
-
-You have an account and can login, set up and use the system.
-
-## How do you improve it?
-
-Read the docs: [https://www.sendwithus.com/docs](https://www.sendwithus.com/docs)
-
-Log in to the app and use it.
-
-Talk to sales / marketing about the pitch and users.
-
-Come to Swuper Friday and listen in to the account management overview of SWU.
-
diff --git a/Competencies/Competency-RFP-Responses.md b/Competencies/Competency-RFP-Responses.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-RFP-Responses.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Recruiter-Advanced.md b/Competencies/Competency-Recruiter-Advanced.md
deleted file mode 100644
index b78fa6a3..00000000
--- a/Competencies/Competency-Recruiter-Advanced.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Recruiter Advanced
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Requirements-Gathering.md b/Competencies/Competency-Requirements-Gathering.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Requirements-Gathering.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Running-Meetings.md b/Competencies/Competency-Running-Meetings.md
deleted file mode 100644
index 488e77db..00000000
--- a/Competencies/Competency-Running-Meetings.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# Competency - Successful Meetings
-
-The value of meeting notes is that they capture the decisions, outcomes, and next steps.
-
-Meeting notes will inform everyone who wasn't in the meeting about who was there, what the relevant document, and which slack channel the discussion will continue in. The most important thing meeting notes capture are the outcomes and next steps (who and what).
-
-## What are the expectations?
-
-**Planning Meetings**
-
-A successful meeting always has:
-
-* An agenda outlining the purpose of having the meeting, and the goals of the meeting. The agenda is shared in advance.
-
-* The right attendees as invited and as optional. If in doubt, mark the attendee as optional.
-
-* A chair and a notetaker- ideally not the same person doing both. This can be decided at the beginning of the meeting.
-
-* Meeting notes sent out after the meeting
-
- * Meeting notes aren't a long transcription of the meeting, or what was said. Rather, meeting notes capture two things: outcomes/decisions, and action items. That is: what did we decide, and what are we doing next to act on those decisions? See below.
-
-* It is the responsibility of each attendee to review the agenda prior to the meeting and read the relevant material or topics.
-
-**Running Meetings**
-
-Meetings are one of the most effective ways in which we work together. It's crucial that we ensure that we use the time well.
-
-* If you scheduled the meeting, you are the chair unless you've delegated this role to someone else
-
-* It is up to the chair to ensure someone is taking notes
-
-* It is the chair's responsibility to ensure that the meeting agenda items are covered and to be timekeeper
-
-**Meeting Notes**
-
-Here are the expectations for meeting notes:
-
-* Must include:
-
- * Meeting topic and the agenda
-
- * Attendees
-
- * Date
-
- * **Action items/next steps**
-
- * **Decisions made**
-
- * Optional: more detailed notes. Keep in mind that meeting notes can be as simple as a photo of your notebook page with your handwritten action items! (Don't overthink it).
-
-* Meeting notes are shared with the attendees, but also with any stakeholder on the [RACI](https://drive.google.com/open?id=1-rUFy-EBIfUtu76PEB6DZavOsu3VZYxj) chart for the project
-
-* Meeting notes are easy to find for anyone interested who is looking for them (ideally, without having to ask)
-
-* Shared same day as the meeting unless otherwise discussed with the group
-
-* Ask yourself: if you were on vacation for a week and returned, would you be able to know that this meeting occurred and find the notes easily?
-
-## How do you improve it?
-
-* If a meeting deviates from the agenda, review the structure of the meeting and enforce your agenda and timekeeping next time.
-
-* Try out new approaches:
-
- * Ask someone else to take notes so that you can run the meeting
-
-* Ask for feedback on your meeting notes
-
diff --git a/Competencies/Competency-SQL.md b/Competencies/Competency-SQL.md
deleted file mode 100644
index 9afc1ac6..00000000
--- a/Competencies/Competency-SQL.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Competency - SQL
-
-Structured Query Language is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS)
-
-Wikipedia: [https://en.wikipedia.org/wiki/SQL](https://en.wikipedia.org/wiki/SQL)
-
-## How do you prove it?
-
-You can demonstrate that you can create a set of postgres specific commands that will create a simple database.
-
-You can explain what queries will go fast, which will go slow, and why.
-
-You can pull data out and aggregate it for specific business reasons.
-
-You can explain keys, foreign keys, joins, BCNF & Denormalization.
-
-You understand this joke, sql injection, and sanitizing data:
-
-## How do you improve it?
-
-Do the tutorial: [https://www.w3schools.com/sql/](https://www.w3schools.com/sql/)
-
-Do the postgres specific tutorial: [https://www.tutorialspoint.com/postgresql/index.htm](https://www.tutorialspoint.com/postgresql/index.htm)
-
-Memorize the cheat sheet: [https://gist.github.com/apolloclark/ea5466d5929e63043dcf](https://gist.github.com/apolloclark/ea5466d5929e63043dcf)
-
-Have a basic understand of RDBMS concepts: [https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm](https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm)
-
-Build a database and do something with it.
-
-Learn how to debug queries and use explain. [https://explain.depesz.com/](https://explain.depesz.com/)
-
diff --git a/Competencies/Competency-Salesforce.md b/Competencies/Competency-Salesforce.md
deleted file mode 100644
index 5518a072..00000000
--- a/Competencies/Competency-Salesforce.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Salesforce
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Sprint-Retrospectives.md b/Competencies/Competency-Sprint-Retrospectives.md
deleted file mode 100644
index b86dcc23..00000000
--- a/Competencies/Competency-Sprint-Retrospectives.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Sprint Retrospectives
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Technical-Writing.md b/Competencies/Competency-Technical-Writing.md
deleted file mode 100644
index f170208d..00000000
--- a/Competencies/Competency-Technical-Writing.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency -
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/Competencies/Competency-Time-Management.md b/Competencies/Competency-Time-Management.md
deleted file mode 100644
index b53bb322..00000000
--- a/Competencies/Competency-Time-Management.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Competency - Time Management
-
-Everyone needs good time management. This is prioritizing tasks and projects in order to accomplish the most out of your sprint. It is also designated parts of your day/week to address specific projects or recurring tasks.
-
-## How do you prove it?
-
-You can prioritize your sprint.
-
-You know what is coming up in the next sprint and plan accordingly.
-
-You can give good time to completion estimates.
-
-## How do you improve it?
-
-Learn how to prioritize tasks as they come in to the sprint
-
-Decide what can be pushed from the current sprint and what needs to be addressed quickly.
-
-Breakdown goals and projects into achievable tasks
-
-Balance project time with "interruption" tasks and projects
-
diff --git a/Competencies/Competency-Trust.md b/Competencies/Competency-Trust.md
deleted file mode 100644
index 3db083c8..00000000
--- a/Competencies/Competency-Trust.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Competency - Trust
-
-Trust is the foundation of any working relationship. Trust allows coworkers to work on projects and tasks together and know that the other is doing exactly what they need to.
-
-When you take on a project or task you execute on it to the best of your abilities.
-
-When issues arise you bring them up to any stakeholders or affected team members
-
-You admit your failures and faults.
-
-You know when to say "no" to a request
-
-## How do you prove it?
-
-You have admitted failure and shown learning and growth from it
-
-You can show specific examples where you have surfaced issues or concerns with team members/managers
-
-You can point to examples where you have brought issues up to the proper stakeholders and/or leadership when necessary.
-
-## How do you improve it?
-
-You are able to work across all teams in the organization
-
-You are able to report any breaches in the Sendwithus CoC and keep any parties involved anonymous.
-
diff --git a/Competencies/Competency-Vision-and-Strategy.md b/Competencies/Competency-Vision-and-Strategy.md
deleted file mode 100644
index fab94f84..00000000
--- a/Competencies/Competency-Vision-and-Strategy.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Competency - Vision and Strategy
-
-## How do you prove it?
-
-## How do you improve it?
-
diff --git a/README.md b/README.md
index 1ca5d41d..8faf3320 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,70 @@
# Competencies
-Sendwithus has built out a list of internal competency documents that describe many of the skills you need to succeed here.
-We wanted to open source these documents so that other organizations can use them as a starting point for career development and compensation conversations.
+A project to help you manage your employees careers.
-Sendwithus bundles these competencies into role definition documents that have a list of all the competencies you need to excel in that role. These role documents were not published here as they contain a lot of Sendwithus specific information that would make re-use difficult.
+Why - your employees care deeply about their career. They want to learn, they want to contribute to the company and they want to see a direct path to progression and increase in pay.
+This tool allows you to accomplish all of that.
-## Publishing Process
-Sendwithus stores our competencies in Google drive internally and we decided against giving access directly to those documents as it increases our security attack surface in a way that we're unable to manage effectively at this time. Instead, we have a synchronization process that takes our internal competency documents and pushes them into a public github repository (this one) as a pull request at a frequency of about once a week or whenever there are changes, whichever is less frequent.
+### Goals
+- Zero cost. To run, to use.
+- Open-source so all companies can contribute back to the tool in terms of roles, competencies and the tool itself.
+- Private and secure. All data should belong to the company using the tool. By all, we mean all. No logs, no tracking, no usage data and definitely no PII outside of your company infrastructure.
-## Pull Request process
-Currently, we don't accept PRs from the community on this repository. We wanted to try and accomplish bringing changes back from the community, but the merging process back to Google drive was considered unweildy. So, at this time, we have a publish only process that you can sync from the upstream fork whenever there are changes.
-If you have a proposal for a whole new competency please add it in the form of a GitHub issue with a link to a public Gist that we can collaborate on without having to merge.
+### Competency Rules
+Competencies should be agnostic to the company. Try and create competencies that are useful no matter what your company.
-## Competency Document Structure
+## Usage
-Each competency document is broken into three sections.
+Go to: https://searchspring.github.io/competencies/index.html and sign in with your Google account.
-### Title and Description
-A brief overview of what the skill is. For example `Git and Github` is the title of the competency and technology we use for version control.
+## Glossary
-### How do you prove it?
-A section detailing how you would prove to your direct manager that you have this competency. What is that manager going to look for to verify this skill. This section is by far the most challenging as sometimes the task will be a technical skill that the manager doesn't have. Or it might a soft skill like `One on Ones` that requires feedback from the employees team members.
+**Role**: A role is a document describing a role and containing a list of competencies that are helpful in excelling in that role.
-### How do you improve it?
+**Competency**: Each competency document is broken into three sections.
+- Title and Description
+A brief overview of what the skill is. For example `Github` is the title of the competency and technology we use for version control.
+- How do you prove it?
+A section detailing how you would prove to your direct manager that you have this competency. What is that manager going to look for to verify this skill. This section is by far the most challenging as sometimes the task will be a technical skill that the manager doesn't have. Or it might a soft skill like `One on Ones` that requires feedback from the employees team members.
+- How do you improve it?
This is the section that lists of resources to improve this skill set. This section tends to grow over time as tribal knowledge can be captured and stored here.
+
+**Snippets**: Snippets are sections of text that can be included in a role rather than copy/pasting the text in multilpe places.
+
+## Fork your own copy
+
+If you're going to use this project for your company you will probably want to create your own role docs and that will require you to fork this project into your organization's github account. Here are the steps.
+
+### Prerequisites
+
+1. Install Go (https://golang.org/doc/install)
+1. Install NodeJS (https://nodejs.org/en/download/)
+
+### Setup
+
+1. Fork the project.
+1. Create a new GCP Oauth consent screen. Internal only if it's just for employees on a single domain, or you'll have to jump through the hoops of making it a public app and the Goog will ask you to verify your domain etc... Create a new one here: https://console.cloud.google.com/apis/credentials/consent add a scope of `auth/spreadsheets` so that we can edit spreadsheets with this app.
+1. Create new OAuth credentials here: https://console.cloud.google.com/apis/credentials. You want an OAuth 2.0 Client ID for a web application. Your authorized domains should be `http://localhost:8080` for testing and whatever domain you're going to be running this service on.
+1. In your forked github project edit `app.js`, and change the `CLIENT_ID` to the one you generated in the step above.
+
+Run locally by
+
+Compiling the roles and competencies into html files
+
+```bash
+go run main.go
+```
+
+If you want to run this compilation in a loop use `watch`
+
+```bash
+watch -n 2 go run main.go
+```
+
+Then run the http server
+
+```bash
+npx http-server docs
+```
+
+Now go to http://localhost:8080
\ No newline at end of file
diff --git a/app.js b/app.js
new file mode 100644
index 00000000..b96fd786
--- /dev/null
+++ b/app.js
@@ -0,0 +1,280 @@
+var CLIENT_ID = '220295937636-845541ei1vmqcedoa2lgtim8l215aqe5.apps.googleusercontent.com';
+$.cookie.defaults.path = '/'
+$.cookie.defaults.expires = 10000
+$.cookie.json = true;
+let personValues = {}
+let people = {}
+let currentSheetId = ''
+let title = ''
+$(document).ready(function (event) {
+
+ if (window.location.hash) {
+ $.cookie('selectedPerson', window.location.hash.substring(1))
+ }
+ title = $('h1').text()
+ let people = $.cookie('people')
+ let person = $.cookie('selectedPerson')
+ if (people && person) {
+ document.title = people[person] + ' Competencies'
+ }
+ $('h1').html($(`
+
+ sign in
+
+ `
+ ))
+ $('#addButton').on('click', () => {
+ let response = prompt('enter spreadsheet ID')
+ if (response && response !== '') {
+ checkForSheet(response)
+ }
+ })
+ $('#deleteButton').on('click', () => {
+ let doit = confirm('Delete this person from the drop down list?')
+ if (doit) {
+ removeSelected()
+ }
+ })
+ $('#personChooser').on('change', () => {
+ let selected = getSelected()
+ $.cookie('selectedPerson', selected)
+ window.location.hash = selected
+ checkForSheet(selected)
+ })
+ $('.drive-link').on('click', (e) => {
+ let el = $(e.target).parent().parent();
+ let name = el.text().trim()
+ let id = $(el).attr('id')
+ addInProgress(id, name)
+ })
+ $('#signOut').on('click', () => {
+ signOut();
+ })
+ $('#signIn').on('click', () => {
+ signIn();
+ })
+ setupTitleDropdown()
+ $('#titleChooser').on('change', () => {
+ switchPage()
+ })
+ loadCookieValues()
+ gapi.load('client:auth2', initClient);
+});
+function switchPage() {
+ window.location.href = $('#titleChooser').val() + (window.location.hash ? window.location.hash : '')
+}
+function setupTitleDropdown() {
+ let titles = ''
+ let pathname = window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1)
+ options.split(',').forEach((option) => {
+ if (option === '') {
+ return true
+ }
+ let link = option + ".html"
+ $('#titleChooser').append($(''))
+ });
+}
+function removeSelected() {
+ delete people[currentSheetId]
+ $.cookie('people', people)
+ $.cookie('selectedPerson', '')
+ $("#personChooser option[value='" + currentSheetId + "']").remove();
+ checkForSheet(getSelected())
+
+}
+function addInProgress(id, name) {
+ $('.drive-link', $('#' + id)).fadeOut(() => {
+ $('.' + id).addClass('in-progress')
+ });
+
+ name = name.replace(/: level [0-9]+/, '')
+ var params = {
+ spreadsheetId: currentSheetId,
+ range: 'Sheet1!A2:B',
+ valueInputOption: 'USER_ENTERED'
+ };
+
+ var valueRangeBody = {
+ 'range': 'Sheet1!A2:B',
+ 'majorDimension': 'ROWS',
+ 'values': [
+ [name, '0']
+ ]
+ }
+
+ gapi.client.sheets.spreadsheets.values.append(params, valueRangeBody).then(function (response) {
+ // expected path.
+ }, function (reason) {
+ error(reason.result.error.message)
+ console.error('error: ' + reason);
+ });
+}
+
+function getSelected() {
+ if ($('#personChooser').children("option:selected").length == 0) { return ''; }
+ return $('#personChooser').children("option:selected").val();
+}
+
+function loadCookieValues() {
+ peopleLoaded = $.cookie('people')
+ if (!peopleLoaded) {
+ return
+ }
+ people = peopleLoaded
+ let selectedPerson = $.cookie('selectedPerson')
+ for (person in people) {
+ createOption(person, people[person], selectedPerson == person)
+ }
+}
+
+function createOption(sheetId, name, selected) {
+ $('#personChooser').append($(''))
+}
+
+function cleanValues() {
+ $('.competency').removeClass('complete')
+ $('.competency').removeClass('in-progress')
+ $('.drive-link').hide()
+ $('.fa-check').remove()
+}
+
+function checkForSheet(sheetId) {
+ cleanValues()
+ if (!sheetId || sheetId === '') {
+ alert('must select a sheet ID or add one using the add button.')
+ $('#sheetLink').hide()
+ return
+ }
+ var params = {
+ spreadsheetId: sheetId,
+ range: 'Sheet1!A1:B'
+ };
+
+ gapi.client.sheets.spreadsheets.values.get(params).then(function (response) {
+ $('.drive-link').show()
+ currentSheetId = sheetId
+ $('#sheetLink').attr('href', 'https://docs.google.com/spreadsheets/d/' + sheetId);
+ $('#sheetLink').show()
+ let values = response.result.values
+ if (!values || !values[0] || values[0][0].trim() === '') {
+ error('must have name in cell A1 - add a name then try again')
+ return;
+ }
+ let name = values[0][0]
+ personValues = {}
+ for (var i = 1; i < values.length; i++) {
+ personValues[values[i][0]] = values[i][1]
+ }
+ if (!people[sheetId]) {
+ createOption(sheetId, name)
+ addName(name, sheetId)
+ }
+ checkOffCompetencies()
+ setSelected(sheetId)
+ errorHide()
+ }).catch((err) => {
+ $('#sheetLink').hide()
+ console.error('error', err)
+ error(err.result.error.message)
+ });
+}
+function errorHide() {
+ $('#error').hide()
+}
+function error(msg) {
+ $('#error').html(msg)
+ $('#error').show()
+ setTimeout(errorHide, 3000)
+}
+
+function setSelected(sheetId) {
+ $('#personChooser').val(sheetId);
+ $.cookie('selectedPerson', sheetId)
+ window.location.hash = sheetId
+}
+function checkOffCompetencies() {
+
+ for (skill in personValues) {
+ let id = name2Id(skill)
+ let level = parseInt(personValues[skill])
+ $('.' + id).each((i, el) => {
+ let targetLevel = parseInt($(el).attr('level'))
+ $('.drive-link', $(el)).hide();
+ if (level === 0 || level < targetLevel) {
+ $(el).addClass('in-progress')
+ }
+ if (targetLevel <= level) {
+ $(el).addClass('complete')
+ $(el).prepend(' ')
+ }
+ })
+ }
+}
+
+function name2Id(name) {
+ return "c-" + name.toLowerCase().replaceAll(' ', '')
+}
+function initClient() {
+ var SCOPE = 'https://www.googleapis.com/auth/spreadsheets';
+
+ gapi.client.init({
+ 'clientId': CLIENT_ID,
+ 'scope': SCOPE,
+ 'discoveryDocs': ['https://sheets.googleapis.com/$discovery/rest?version=v4'],
+ }).then(function () {
+ gapi.auth2.getAuthInstance().isSignedIn.listen(updateSignInStatus);
+ updateSignInStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
+ });
+}
+
+function addName(name, sheetId) {
+ let people = $.cookie('people')
+ if (!people) {
+ people = {}
+ }
+ people[sheetId] = name;
+ $.cookie('people', people)
+}
+
+
+function updateSignInStatus(isSignedIn) {
+ if (isSignedIn) {
+ $('#signOut').show()
+ $('#signIn').hide()
+ email = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile().getEmail();
+ document.getElementById('buttonGroup').style.display = 'inline'
+ if (getSelected() || getSelected() !== '') {
+ checkForSheet(getSelected())
+ }
+ } else {
+ $('#signOut').hide()
+ $('#buttonGroup').hide()
+ $('#signIn').show()
+ cleanValues()
+ }
+}
+
+function signIn() {
+ gapi.auth2.getAuthInstance().signIn();
+}
+
+function signOut() {
+ $('h1').html(title)
+ gapi.auth2.getAuthInstance().signOut();
+}
+
+String.prototype.replaceAll = function (search, replacement) {
+ var target = this;
+ return target.replace(new RegExp(search, 'g'), replacement);
+};
diff --git a/Competencies/Competency-1Password.md b/competencies/1password.md
similarity index 76%
rename from Competencies/Competency-1Password.md
rename to competencies/1password.md
index 6c30b457..5816f637 100644
--- a/Competencies/Competency-1Password.md
+++ b/competencies/1password.md
@@ -14,14 +14,12 @@ You can explain how hackers typically crack passwords and how a password manager
You know what a vault is and how to move passwords between them and when it is appropriate to do.
-You have 2FA turned on for 1Password.
+You have a 12+ character password for login to 1Password.
-You have 2FA warnings for sites that allow 2FA
+You have no 2FA warnings for sites that allow 2FA
## How do you improve it?
-Read the 1Password Getting Started Guide: [https://docs.google.com/document/d/1wRBXT42M7GWzY6N8XMezzRAKbcaWtnO1-xfbsCBebV8/edit](https://docs.google.com/document/d/1wRBXT42M7GWzY6N8XMezzRAKbcaWtnO1-xfbsCBebV8/edit)
-
Do the 1Password tour: [https://1password.com/tour/](https://1password.com/tour/)
Learn the keyboard shortcuts: [https://support.1password.com/keyboard-shortcuts/](https://support.1password.com/keyboard-shortcuts/)
diff --git a/Competencies/Competency-Architecture.md b/competencies/architecture.md
similarity index 96%
rename from Competencies/Competency-Architecture.md
rename to competencies/architecture.md
index 3105fbc1..3b6328c9 100644
--- a/Competencies/Competency-Architecture.md
+++ b/competencies/architecture.md
@@ -6,25 +6,26 @@ Being able to architect things so that they stay up and remain functional long i
On a whiteboard describe an architecture so that various different levels of experience can understand it, the benefits, the downsides, where it fits best, where it shouldn't be used.
-Have an architect give you a problem and see if you can solve it or how you would go about solving it.
-
Give examples of good architectural blocks and how they're used together.
Talk about systemic problems and how they can be used to pinpoint bad architecture.
Show that you know how to move from one architecture to another.
-Have a conversation about a problem. An architect should want to communicate, asking questions to explore the problem with you. They should not rely on you to have your problem fully thought out. They should be able to help guide you by recognizing tacit knowledge and eliciting important details. A bad sign is jumping to a solution too quickly. A good sign is an effort to achieve mutual understanding of the problem before solving it.
-
You have built 3 architecturally important systems and they have proven value and resilience.
## How do you improve it?
+Have an architect give you a problem and see if you can solve it or how you would go about solving it.
+
+Have a conversation about a problem. An architect should want to communicate, asking questions to explore the problem with you. They should not rely on you to have your problem fully thought out. They should be able to help guide you by recognizing tacit knowledge and eliciting important details. A bad sign is jumping to a solution too quickly. A good sign is an effort to achieve mutual understanding of the problem before solving it.
+
Learn all the things: [https://github.com/binhnguyennus/awesome-scalability](https://github.com/binhnguyennus/awesome-scalability)
A lot of good architecture is horribly screwing up architecture in your past and now being wise and this takes time.
-Go forth and build things for years.
Read about other peoples failures.
+Go forth and build things for years.
+Read about other peoples failures.
Take responsibility for EVERYTHING. Ask yourself "If this was my company, and I was the CEO what would I want my architect to do here?"
diff --git a/Competencies/Competency-Asana.md b/competencies/asana.md
similarity index 53%
rename from Competencies/Competency-Asana.md
rename to competencies/asana.md
index a48fa25f..e58cb15c 100644
--- a/Competencies/Competency-Asana.md
+++ b/competencies/asana.md
@@ -10,41 +10,47 @@ You can move tasks between projects.
You can organize tasks as projects or subtasks and move between those paradigms.
-Manage both lists and boards.
+You can delete a task with the keyboard shortcut.
-You can delete a task without a mouse.
+You can create a report.
## How do you improve it?
-Read the blog post about it's awesomeness: [http://blog.sendwithus.com/sendwithus-and-asana/](http://blog.sendwithus.com/sendwithus-and-asana/)
+Read the blog post about it's awesomeness: https://www.dyspatch.io/blog/dyspatch-sendwithus-and-asana/
-Recurring tasks for your repeating things:
+Use recurring tasks for your repeating things.
You know what the inbox is for and how to manage it.
You know how to add custom fields and how to ensure they don't get chaotic.
-Create task lists by copying all the people from the [company directory](https://docs.google.com/spreadsheets/d/11kX01LGbqJo4MUFXTk2UdDcOb_xt7WCvI0xfF82kJo0/edit#gid=0) as sub-tasks
+Create task lists by copying all the people from the company directory
-Use sub-headings by adding a colon
+Learn the keyboard shortcuts: https://asana.com/guide/help/faq/shortcuts
-Learn the keyboard shortcuts
+## Asana - Level 2
-Competency - Asana Advanced
-
-How do you prove it?
-
-Show the app you built on top of API.
+## How do you prove it?
You manage multiple boards that are useful for the company
You can seamlessly create new board for projects, retire old ones, and move tasks around accordingly.
-How do you improve?
+## How do you improve?
+
+You know how to use timeline and what it is good for.
+
+## Asana - Level 3
+
+## How do you prove it?
+
+Show the app you built on top of the API.
+
+## How do you improve it?
Use the API to build an application of some kind: [https://asana.com/developers](https://asana.com/developers)
-Build a plugin for Asana (or extend this one): [https://github.com/sendwithus/swusana](https://github.com/sendwithus/swusana)
+Build a plugin for Asana (or extend this one): https://github.com/codeallthethingz/swusana
+
-You know how to use timeline and what it is good for.
diff --git a/competencies/athena.md b/competencies/athena.md
new file mode 100644
index 00000000..113fe877
--- /dev/null
+++ b/competencies/athena.md
@@ -0,0 +1,13 @@
+# Competency - Athena
+
+Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3
+using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay
+only for the queries that you run.
+
+## How do you prove it?
+
+
+
+## How do you improve it?
+
+
diff --git a/Competencies/Competency-Benefits-Management.md b/competencies/benefits-management.md
similarity index 100%
rename from Competencies/Competency-Benefits-Management.md
rename to competencies/benefits-management.md
diff --git a/competencies/big-data.md b/competencies/big-data.md
new file mode 100644
index 00000000..3d3e8b58
--- /dev/null
+++ b/competencies/big-data.md
@@ -0,0 +1,43 @@
+# Competency - Big Data
+
+Big data is a field that treats ways to analyze, systematically extract information from, or otherwise deal with data sets that are too large or complex to be dealt with by traditional data-processing application software. Data with many cases (rows) offer greater statistical power, while data with higher complexity (more attributes or columns) may lead to a higher false discovery rate. Big data challenges include capturing data, data storage, data analysis, search, sharing, transfer, visualization, querying, updating, information privacy and data source. Big data was originally associated with three key concepts: volume, variety, and velocity. When we handle big data, we may not sample but simply observe and track what happens. Therefore, big data often includes data with sizes that exceed the capacity of traditional software to process within an acceptable time and value.
+
+- Wikipedia: https://en.wikipedia.org/wiki/Big_data
+
+## How do you prove it?
+
+- You can identify Big Data's main characteristics - the 6 V's - including what they are, what they mean, and how they relate to each other.
+
+- You have experience in at least one of big data's main programming languages; Python, R, and Java.
+
+- You are familiar with data warehousing technologies in big data, relational and non-relational database systems such as (but not limited to) MySQL, Oracle, DB2, and NoSQL, Hbase, HDFS, MongoDB, CouchDB, Cassandra, Teradata, etc.
+
+- You have experience in working with computational frameworks in big data such as Apache Spark, Apache Storm, Apache Samza, Apache Flink and the classic MapReduce and Hadoop.
+
+- You have strong background in Statistics and Linear Algebra.
+
+- You have knowledge of probabilities science as the quantitative measurement in big data.
+
+- You know what Cloud Computing is, what characteristics it has, and how it is related to big data.
+
+- You are familiar with Hadoop ecosystem and its modules such as HDFS, Yarn, and MapReduce.
+
+- You have experience in graph analytics and its basic concepts such as path Analysis, connectedness, modularity, eigenvalue centrality, large scale graph processing, and graph computation.
+
+- You know what streaming and static data are, what the differences are, and what we use in our eCommerce platform.
+
+- You have extensive experience in data visualization and the technologies to do that.
+
+- You can build a big data processing system and present it to your manager.
+
+- You can build something using the cloud vendor ETL products.
+
+## How do you improve it?
+
+- Big data technologies by Udemy: https://www.udemy.com/course/apache-spark-with-scala-hands-on-with-big-data
+
+- Big Data Specialization by Coursera: https://www.coursera.org/specializations/big-data
+
+- Learn big data courses by edX: https://www.edx.org/learn/big-data
+
+- Big data fundamentals by Cognitive Class: https://cognitiveclass.ai/learn/big-data
diff --git a/competencies/browser-dev-tools.md b/competencies/browser-dev-tools.md
new file mode 100644
index 00000000..d5b5c378
--- /dev/null
+++ b/competencies/browser-dev-tools.md
@@ -0,0 +1,66 @@
+# Competency - Browser Dev Tools
+
+Modern web browsers come packed with tools to aid in development, troubleshooting and debugging - being able to use these tools is critical to front end development.
+
+## How do you prove it?
+
+You can inspect a page, figure out where styles are coming from and view and edit CSS.
+
+You can edit the DOM and can force element states.
+
+You can determine which parts of a page have been injected via Javascript.
+
+You use the console to find error messages and execute code snippets.
+
+You know how to view network requests and and responses - and how to block them.
+
+You can view, edit and delete cookies and storage data.
+
+You know how to simulate mobile devices and can view pages at specific resolutions to test responsive styling.
+
+You know how to disable Javascript.
+
+You can find code that is executing on the page.
+
+## How do you improve it?
+
+Read the Chrome Documentation - [https://developer.chrome.com/docs/devtools/](https://developer.chrome.com/docs/devtools/)
+
+Read the Firefox Documentation - [https://developer.mozilla.org/en-US/docs/Tools](https://developer.mozilla.org/en-US/docs/Tools)
+
+Read the Safari Documentation - [https://support.apple.com/guide/safari-developer/welcome/mac](https://support.apple.com/guide/safari-developer/welcome/mac)
+
+Take a course:
+[https://frontendmasters.com/courses/chrome-dev-tools/](https://frontendmasters.com/courses/chrome-dev-tools/)
+
+Read some articles:
+[https://webplatformcourse.com/bonus/devtools/](https://webplatformcourse.com/bonus/devtools/)
+[https://www.trysmudford.com/blog/chrome-local-overrides/](https://www.trysmudford.com/blog/chrome-local-overrides/)
+
+# Competency - Browser Dev Tools - Level 2
+
+Have achieved all the things for the basic competency, and know how to do more advanced debugging.
+
+## How do you prove it?
+
+You can set and use breakpoints to pause code and step through it to troubleshoot a problem.
+
+You know how to use developer tools with a mobile device (Chrome/Safari).
+
+You can use browser local overrides (Chrome).
+
+You can analyze performance of webpage and find ways to optimize it (Chrome/Firefox).
+
+You can use dev tools to find memory issues that affect page performance, including memory leaks, memory bloat, and frequent garbage collections (Chrome/Firefox).
+
+## How do you improve it?
+
+Stay up to date with the latest dev tools changes to your browser.
+
+Build a simple web application and make some improvements based on memory profiling.
+
+Download some extensions:
+https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US
+https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en-US
+https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en-US
+https://chrome.google.com/webstore/detail/resource-override/pkoacgokdfckfpndoffpifphamojphii?hl=en-US
diff --git a/Competencies/Competency-Calendar.md b/competencies/calendar.md
similarity index 66%
rename from Competencies/Competency-Calendar.md
rename to competencies/calendar.md
index e99635f6..3aeaef97 100644
--- a/Competencies/Competency-Calendar.md
+++ b/competencies/calendar.md
@@ -1,48 +1,40 @@
# Competency - Calendar
-A simple idea with many complex gotchas and swu specific knowledge
+A simple idea with many complex gotchas and company specific knowledge
## How do you prove it?
You quickly and effectively resolve conflicts in your calendar.
-You can describe what all the swu-based calendars are for and how to use them.
-
You cancel meetings that you're not going to attend at least the day before.
You offer the "optional" status to attendees who may be interested in joining the meeting.
You proactively reschedule meetings when you are on holiday if you're the owner of those meetings.
-Your meeting invites have always have an agenda and a zoom link.
+Your meeting invites have always have an agenda and a video conference link.
You send meeting notes after every meeting (a few bullet points of action items and outcomes).
-You try not to have meetings where it is possible to resolve the meeting agenda through Slack.
+You try not to have meetings where it is possible to resolve the meeting agenda through Slack or asynchronously.
You leave your calendar as public and only show sensitive meetings as "busy".
You add upcoming absences, like holidays or appointments (dentist, for example) to your calendar well in advance.
-You book meetings with only two people in a phone booth, as opposed to a meeting room.
-
-You book a meeting room or phone booth for meeting attendees who are in another office.
+You book meeting room sizes appropriately.
You review and audit your recurring meetings every quarter, to see which you should keep and which can be reduced in frequency (from every week to every two weeks) or canceled altogether.
-You don't create merge conflicts without discussing them with those you created them for.
+You always contact people before creating overlapping meetings.
Special notice for public facing meetings - You never accidentally expose invitees email address as you restrict attendance visibility.
## How do you improve it?
-Be very aware of the following check box in the create calendar screen
-
-Uncheck this if you are inviting external participants that shouldn't see each others email address.
-
Calendar Recommendations -
-* Let your guests modify events by default (see below)
+* Let your guests modify events by default
* Have your meetings set to public by default. This helps others who are booking meetings know how/when to book.
@@ -54,3 +46,5 @@ Go to calendar > settings > event settings
Then update default guest permissions to: "Modify event"
+Turn on speedy meetings so all your meetings are 50 minutes not an hour.
+
diff --git a/Competencies/Competency-Career-Development.md b/competencies/career-development.md
similarity index 61%
rename from Competencies/Competency-Career-Development.md
rename to competencies/career-development.md
index ab063b1c..b8b5919c 100644
--- a/Competencies/Competency-Career-Development.md
+++ b/competencies/career-development.md
@@ -1,12 +1,14 @@
# Competency - Career Development
+People want to get better at their chosen career and its your job as their manager to help them.
+
## How do you prove it?
You can show the growth of the skillset of your direct reports.
-You can show the growth of your direct reports into more senior roles.
+You can show the growth of your direct reports into more senior roles and / or you can show the change of your direct reports to other roles within the company.
-You can show the change of your direct reports to other roles within the company.
+You have strategies of how to align employee career growth with the goals of the company.
## How do you improve it?
@@ -15,4 +17,3 @@ Connect people with experts in your reports chosen field.
Understand what your direct reports want to accomplish with their careers.
Highlight areas of strength / weakness that can be used / strengthened to accomplish career goals.
-
diff --git a/Competencies/Competency-Coding.md b/competencies/coding.md
similarity index 61%
rename from Competencies/Competency-Coding.md
rename to competencies/coding.md
index 822de07c..65078103 100644
--- a/Competencies/Competency-Coding.md
+++ b/competencies/coding.md
@@ -1,6 +1,6 @@
# Competency - Coding
-Coding is separate from a language you code in. Coding competency are the surrounding parts of building code. How ergonomic are you with your computer, your IDE or editor.
+Coding is separate from a language you code in. The coding competency is the surrounding parts of building code. How ergonomic are you with your computer, your IDE, your system.
It's about your ability to write maintainable code and how you follow, and understand standards. It's that little bit of desire for order that won't let you write badly formatted, or tightly coupled code. A coder understands when to conform to the existing standards in a code base, and when to deviate or refactor.
@@ -18,15 +18,17 @@ You can read other (decent) code and understand its functionality.
## How do you improve it?
-Read coding style books
+Read coding style books - The Practice of Programming (Brian W. Kernighan, Rob Pike)
-Learn about patterns
+Learn about patterns - Head First Design Patterns: A Brain-Friendly Guide (Eric Freeman), or Design Patterns: Elements of Reusable Object-Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson , John Vlissides). An easy to understand book, and the more complex computer classic!
Learn about anti-patterns
-Try several different IDEs
+Try several different IDEs and deeply learn the keyboard shortcuts of 1 IDE
Learn to type
Try not to use a mouse for a full day so you can fully appreciate how much faster you can work with keyboard shortcuts.
+Learn about simplicity in your code
+https://www.youtube.com/watch?v=kGlVcSMgtV4
diff --git a/Competencies/Competency-Communication.md b/competencies/communication.md
similarity index 59%
rename from Competencies/Competency-Communication.md
rename to competencies/communication.md
index b5baf2bf..430728a4 100644
--- a/Competencies/Competency-Communication.md
+++ b/competencies/communication.md
@@ -22,11 +22,18 @@ Your electronic communications are respectful and effective. You topload questi
## How do you improve it?
-Make sure you do these basic things: [https://www.right.com/wps/wcm/connect/right-us-en/home/thoughtwire/categories/career-work/10-Ways-to-Improve-Your-Communication-Skills](https://www.right.com/wps/wcm/connect/right-us-en/home/thoughtwire/categories/career-work/10-Ways-to-Improve-Your-Communication-Skills)
-
Learn about Rands on meetings: [http://randsinrepose.com/archives/how-to-run-a-meeting/](http://randsinrepose.com/archives/how-to-run-a-meeting/)
Learn about speaking: [http://go.ted.com/JAos8A](http://go.ted.com/JAos8A)
Make people feel heard: It's important for diffusing conversations that the person you're talking to hears you hearing them.
+**Avoiding Airplane Crashes type communication**
+
+Five steps:
+
+- Opening or attention getter - Address the individual: "Hey Chief," or "Captain Smith," or "Bob," or whatever name or title will get the person's attention.
+- State your concern - Express your analysis of the situation in a direct manner while owning your emotions about it. "I'm concerned that we may not have enough fuel to fly around this storm system," or "I'm worried that the roof might collapse."
+- State the problem as you see it - "We're showing only 40 minutes of fuel left," or "This building has a lightweight steel truss roof, and we may have fire extension into the roof structure."
+- State a solution - "Let's divert to another airport and refuel," or "I think we should pull some tiles and take a look with the thermal imaging camera before we commit crews inside."
+- Obtain agreement (or buy-in) - "Does that sound good to you, Captain?"
diff --git a/competencies/community-builder.md b/competencies/community-builder.md
new file mode 100644
index 00000000..d6f76724
--- /dev/null
+++ b/competencies/community-builder.md
@@ -0,0 +1,20 @@
+# Competency - Community Builder
+
+We want to improve the areas in which we work.
+
+Generally this means being involved in the local community and giving back and helping others where you can.
+
+## How do you prove it?
+
+You attend community events.
+
+## How do you improve it?
+
+Join some meetups - [http://www.meetup.com](http://www.meetup.com)
+
+Write a blog post.
+
+Do some twitch streaming.
+
+Organize a meetup of your own.
+
diff --git a/Competencies/Competency-Community-Outreach.md b/competencies/community-outreach.md
similarity index 56%
rename from Competencies/Competency-Community-Outreach.md
rename to competencies/community-outreach.md
index 7a4ce65d..c5464c27 100644
--- a/Competencies/Competency-Community-Outreach.md
+++ b/competencies/community-outreach.md
@@ -1,6 +1,6 @@
# Competency - Community Outreach
-You go out into the community to promote Sendwithus and add value. You are a brand representative within your local community and within the larger community of your profession.
+You go out into the community to add value. You are a brand representative within your local community and within the larger community of your profession.
* Go to meetups
@@ -8,16 +8,12 @@ You go out into the community to promote Sendwithus and add value. You are a bra
* Get involved in volunteer events/organizations
-* Organize volunteers for Sendwithus and non-Sendwithus related events
-
## How do you prove it?
-You help organize events outside the Sendwithus brand.
+You help organize events outside the company brand.
You communicate with community partners about their events and how to work with them.
-You partner with community organizations and individuals to promote Sendwithus events.
-
You attend meetups and other local community events.
## How do you improve it?
diff --git a/Competencies/Competency-Competency-based-role-definition-competency.md b/competencies/competency-based-role-definition-competency.md
similarity index 85%
rename from Competencies/Competency-Competency-based-role-definition-competency.md
rename to competencies/competency-based-role-definition-competency.md
index 7565921e..aa8f548f 100644
--- a/Competencies/Competency-Competency-based-role-definition-competency.md
+++ b/competencies/competency-based-role-definition-competency.md
@@ -4,6 +4,10 @@ Though this is a bit "Being John Malkovich" this is about knowing and understand
## How do you prove it?
+You have created three competencies.
+
+You can explain why the prove it section is hard.
+
## How do you improve it?
Go through the introductory presentation: [https://docs.google.com/presentation/d/1m3kA7j1Cy6X9L0TimOHzyi1OgqOEJ4XU1NfCu8AaLWw/edit](https://docs.google.com/presentation/d/1m3kA7j1Cy6X9L0TimOHzyi1OgqOEJ4XU1NfCu8AaLWw/edit)
diff --git a/Competencies/Competency-Competitive-Analysis.md b/competencies/competitive-analysis.md
similarity index 100%
rename from Competencies/Competency-Competitive-Analysis.md
rename to competencies/competitive-analysis.md
diff --git a/competencies/computer-vision.md b/competencies/computer-vision.md
new file mode 100644
index 00000000..03d3a0dc
--- /dev/null
+++ b/competencies/computer-vision.md
@@ -0,0 +1,31 @@
+# Competency - Computer Vision
+
+Computer vision is an essential prerequisite to become a Machine Learning Developer. Computer vision is a field of artificial intelligence that trains computers to interpret and understand the visual world. Using digital images from cameras and videos and deep learning models, machines can accurately identify and classify objects — and then react to what they “see.” Image and Video processing are two main principles that you should know in CV. In order to master computer vision, you should be an expert in OpenCV library which is one of the pillars on Computer Vision. OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library which was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products.
+
+Useful information:
+- Computer Vision: https://en.wikipedia.org/wiki/Computer_vision
+- OpenCV: https://en.wikipedia.org/wiki/OpenCV
+
+## How do you prove it?
+
+- You know in general how to use OpenCV for implementing mathematical functions on images and videos.
+
+- You know the differences between OpenCV 3 and 4, the pros and cons of each of which.
+
+- You know how to implement algorithms for Decision tree, Gradient boosting trees, K-nearest neighbors, K-means clustering, Naive Bayes classifier, Random forests, Support Vector Machines, and Deep Neural Networks in OpenCV.
+
+- You know OpenCV Image Processing tools such as converting color spaces, geometric transformations, image thresholding, smoothing, morphological transformations, image gradients, edge detection functions, contours in images, image segmentation, image denoising (noise reduction), and histogram analysis.
+
+- You know how to code a Deep Neural network from scratch using OpenCV.
+
+- You know how to import previously developed Machine Learning models using OpenCV, modify them, improve them, and retrain them.
+
+## How do you improve it?
+
+- OpenCV source book: https://www.oreilly.com/library/view/mastering-opencv-4/9781789533576/
+- OpenCV tutorials: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
+- Computer Vision source book: https://www.pyimagesearch.com/deep-learning-computer-vision-python-book/
+- Computer Vision online course by Andrew NG: https://www.coursera.org/lecture/convolutional-neural-networks/computer-vision-Ob1nR
+- Most helpful blog posts in computer vision by Adrian Rosebrock: https://www.pyimagesearch.com/
+- Learning OpenCV By Gary Bradski And Adrian Kaehler: http://www-cs.ccny.cuny.edu/~wolberg/capstone/opencv/LearningOpenCV.pdf
+- Introduction to Computer Vision on Udacity (Online Course): https://www.udacity.com/course/introduction-to-computer-vision--ud810
diff --git a/Competencies/Competency-Computers.md b/competencies/computers.md
similarity index 58%
rename from Competencies/Competency-Computers.md
rename to competencies/computers.md
index 89a3573f..9f22cc40 100644
--- a/Competencies/Competency-Computers.md
+++ b/competencies/computers.md
@@ -17,6 +17,15 @@ Your laptop is patched and up to date.
## How do you improve it?
Learn keyboard shortcuts for locking your computer.
+- Hold the power button down for less than three seconds will lock (Mac)
+- Windows key + L (Windows)
+- Ctrl + Alt + L (Linux Ubuntu <18.04)
+- Super + L (Linux Ubuntu >=18.04)
If something doesn't work on your computer, reboot it.
+Learn how to update windows if you have a windows machine.
+
+Learn how to update your Mac OS.
+
+Learn how to update your Linux machine.
diff --git a/Competencies/Competency-Configuration-Management-Chef.md b/competencies/configuration-management-chef.md
similarity index 100%
rename from Competencies/Competency-Configuration-Management-Chef.md
rename to competencies/configuration-management-chef.md
diff --git a/Competencies/Competency-Configuration-Management-Terraform.md b/competencies/configuration-management-terraform.md
similarity index 100%
rename from Competencies/Competency-Configuration-Management-Terraform.md
rename to competencies/configuration-management-terraform.md
diff --git a/competencies/css-framework-bootstrap.md b/competencies/css-framework-bootstrap.md
new file mode 100644
index 00000000..056fa382
--- /dev/null
+++ b/competencies/css-framework-bootstrap.md
@@ -0,0 +1,25 @@
+# Competency - CSS Framework Bootstrap
+
+[Bootstrap](https://getbootstrap.com/) is the most popular css framework. It is open-sourced and maintained by Twitter. It is used to quickly prototype a website that is responsive and well designed out the box. It has a strong emphasis on being a mobile-first framework. It also has extensive prebuilt components, and powerful plugins built on jQuery.
+
+## How do you prove it?
+
+You are able to integrate bootstrap into your application
+
+You are familiar with Bootstrap's grid system when using containers
+
+Build a simple form in Bootstrap
+
+Build a layout in bootstrap
+
+## How do you improve it?
+
+Take a look at Bootstrap's documentation [here](https://getbootstrap.com/docs/4.4/getting-started/introduction/)
+
+## Key points of research
+
+Using a css framework to build a quick prototype
+
+Grid system
+
+Using Bootstrap components and utilities
diff --git a/competencies/css-framework-tailwind.md b/competencies/css-framework-tailwind.md
new file mode 100644
index 00000000..f7c53ac4
--- /dev/null
+++ b/competencies/css-framework-tailwind.md
@@ -0,0 +1,21 @@
+# Competency - CSS Framework Tailwind
+
+[Tailwind](https://tailwindcss.com/) is a CSS framework that differs from other frameworks in that it only provides you with the raw basics of what you need to quickly style a website. There are no pre-defined components such as buttons. It is expected that you use Tailwind to build your own. Tailwind allows you to style your website rather than style a prototype as it gives you freedom whereas in other frameworks you are overwriting everything.
+
+## How do you prove it?
+
+You are able to integrate Tailwind into your application
+
+Define the customization of your website in the Tailwind configuration file (ie. theme, breakpoints, colors, spacing)
+
+Build a site and theme it with tailwindcss
+
+## How do you improve it?
+
+Take a look at Tailwind's documentation [here](https://tailwindcss.com/docs/installation/)
+
+## Key points of research
+
+Flexbox
+
+Tailwind layouts
diff --git a/Competencies/Competency-Customer-Empathy.md b/competencies/customer-empathy.md
similarity index 100%
rename from Competencies/Competency-Customer-Empathy.md
rename to competencies/customer-empathy.md
diff --git a/competencies/cypress.md b/competencies/cypress.md
new file mode 100644
index 00000000..a0029a3f
--- /dev/null
+++ b/competencies/cypress.md
@@ -0,0 +1,20 @@
+# Competency - Cypress
+
+Cypress is a front end testing tool built for the modern web applications. Cypress is most often compared to Selenium; however Cypress is both fundamentally and architecturally different. Cypress is not constrained by the same restrictions as Selenium. This enables you to write faster, easier and more reliable tests. Cypress can be used for end-to-end, integration, and unit tests.
+
+## How do you prove it?
+
+* You can explain how to install cypress and use it in a new project
+* You have written 10 cypress tests
+* You can show cypress tests running in Chrome and Firefox
+* You have written cypress tests that programmatically bypass irrelevant UIs (e.g., logging in programmatically)
+* You have written a cypress test using cypress-wait-until
+* You use the cypress.json configuration file to seed your tests with relevant information (e.g., baseUrl)
+* You follow cypress best practices
+* You avoid cypress anti-patterns
+
+## How do you improve it?
+
+* [Best Practices](https://docs.cypress.io/guides/references/best-practices.html)
+* [Other Guides](https://docs.cypress.io/guides)
+* [cypress-wait-until](https://www.npmjs.com/package/cypress-wait-until)
diff --git a/Competencies/Competency-Datadog.md b/competencies/datadog.md
similarity index 92%
rename from Competencies/Competency-Datadog.md
rename to competencies/datadog.md
index 3848a43f..21510973 100644
--- a/Competencies/Competency-Datadog.md
+++ b/competencies/datadog.md
@@ -2,7 +2,7 @@
Datadog is a monitoring platform used both for tracing of work done inside an application as well as metrics pushed by infrastructure, CI systems and more.
-Datadog is essential to being a competent debugger at Sendwithus. We also use this for logging and APM (application performance monitoring).
+Datadog is essential to being a competent debugger. We also use this for logging and APM (application performance monitoring).
## How do you prove it?
diff --git a/competencies/db-mysql.md b/competencies/db-mysql.md
new file mode 100644
index 00000000..970e18e7
--- /dev/null
+++ b/competencies/db-mysql.md
@@ -0,0 +1,48 @@
+# Competency - Mysql
+
+Mysql is a popular relational database (RDBMS). This compentency covers Mysql and Mysql-like and compatible databases (EG: Percona-Server, MariaDB, Aurora, etc).
+
+Wikipedia:
+[https://en.wikipedia.org/wiki/MySQL](https://en.wikipedia.org/wiki/MySQL)
+[https://en.wikipedia.org/wiki/MariaDB](https://en.wikipedia.org/wiki/MariaDB)
+[https://en.wikipedia.org/wiki/Percona_Server_for_MySQL](https://en.wikipedia.org/wiki/Percona_Server_for_MySQL)
+[https://en.wikipedia.org/wiki/Amazon_Aurora](https://en.wikipedia.org/wiki/Amazon_Aurora)
+
+## How do you prove it?
+
+You can explain how MySQL replication works, why you would use it, and what it can and cannot do.
+
+You can explain how Mysql table partitioning works and why you would use it.
+
+You can navigate the mysql-cli.
+
+You can create and drop a database in the cli.
+
+You can create and drop a table in the cli.
+
+You understand how to use Mysql SHOW commands
+
+You can read a Mysql EXPLAIN ANALYZE.
+
+You understand how Mysql permissions work and are able to write GRANTS.
+
+You can use mysqldump to create SQL dumps.
+
+You can import a SQL dump using the mysql-cli.
+
+You are aware of the impact of locking or not locking tables during different tasks.
+
+You understand and can explain how the Mysql query cache works.
+
+You explain the differences between INNODB and Myisam storage engines, and the differences between row locking and table locking.
+
+You understand what information is in the INFORMATION_SCHEMA and how to query it
+
+
+## How do you improve it?
+
+[Read the MySQL docs](https://dev.mysql.com/doc/refman/8.0/en/)
+
+Have a basic understand of RDBMS concepts: [https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm](https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm)
+
+Install Mysql as a Docker container on your system, create a database, put data in it, dump it out and re-import it
\ No newline at end of file
diff --git a/competencies/db-postgresql.md b/competencies/db-postgresql.md
new file mode 100644
index 00000000..5fd7c5b9
--- /dev/null
+++ b/competencies/db-postgresql.md
@@ -0,0 +1,40 @@
+# Competency - Postgresql
+
+Postgresql is a popular relational database (RDBMS) emphasizing extensibility and SQL compliance.
+
+
+## How do you prove it?
+
+You can explain how Postgresql replication works, why you would use it, and what it can and cannot do.
+
+You can explain how Postgresql multiversion concurrency control (MVCC) works.
+
+You can navigate the Postgresql cli tool psql.
+
+You can read a Postgresql EXPLAIN ANALYZE.
+
+You understand how Postgresql permissions work and are able to write GRANTS.
+
+You can use pg_dump to create SQL dumps.
+
+You can import a SQL dump using pg_restore.
+
+You are aware of the impact of locking or not locking tables during different tasks.
+
+You are able to explain what you can do with triggers in Postgresql
+
+You are able to explain what you can do with functions in Postgresql
+
+
+## How do you improve it?
+
+
+[Read the Postgresl docs](https://www.postgresql.org/docs/)
+
+Memorize the cheat sheet: [https://gist.github.com/apolloclark/ea5466d5929e63043dcf](https://gist.github.com/apolloclark/ea5466d5929e63043dcf)
+
+Do the postgres specific tutorial: [https://www.tutorialspoint.com/postgresql/index.htm](https://www.tutorialspoint.com/postgresql/index.htm)
+
+Have a basic understand of RDBMS concepts: [https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm](https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm)
+
+Install Postgresql as a Docker container on your system, create a database, put data in it, dump it out and re-import it
\ No newline at end of file
diff --git a/competencies/db-redshift.md b/competencies/db-redshift.md
new file mode 100644
index 00000000..1228c680
--- /dev/null
+++ b/competencies/db-redshift.md
@@ -0,0 +1,23 @@
+# Competency - Redshift
+
+Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud.
+
+[https://aws.amazon.com/redshift]()
+
+## How do you prove it?
+
+- You know the differences between columnar and row-wise storage and the use cases for each
+- You know what leader nodes, compute nodes, and slices are
+- You understand how to optimize table design and query performance with sort keys, distribution styles, and compression
+- You know what the COPY command is and why it should generally be used to load data
+- You can read an EXPLAIN and evaluate query performance with it
+- You know what a materialized view is and when to use one
+- You can use the Redshift dashboard to do cluster management and run and analyze queries
+- Create some prototype tables, load data into them, and query it
+
+## How do you improve it?
+
+- [System and architecture overview](https://docs.aws.amazon.com/redshift/latest/dg/c_redshift_system_overview.html)
+- [Best practices](https://docs.aws.amazon.com/redshift/latest/dg/best-practices.html)
+- [Developer guide](https://docs.aws.amazon.com/redshift/latest/dg/welcome.html)
+- [Dashboard](https://console.aws.amazon.com/redshiftv2/home?region=us-east-1#dashboard)
\ No newline at end of file
diff --git a/competencies/deep-learning.md b/competencies/deep-learning.md
new file mode 100644
index 00000000..a3809c95
--- /dev/null
+++ b/competencies/deep-learning.md
@@ -0,0 +1,48 @@
+# Competency - Deep Learning
+
+If you are an ML engineer, then you are familiar with Deep Learning and the architecture behind. Deep Learning is a subfield of machine learning concerned with algorithms inspired by the structure and function of the brain called artificial neural networks. In deep learning, a computer model learns to perform classification tasks directly from images, text, sound, and in general any signals. Deep learning models can achieve state-of-the-art accuracy, sometimes exceeding human-level performance. Models are trained by using a large set of labeled data and neural network architectures that contain many layers.
+
+Useful links:
+
+- [Wikipedia](https://en.wikipedia.org/wiki/Deep_learning)
+- [Google-AI](https://ai.google/)
+
+## How do you prove it?
+
+- You know how to design a deep neural network in general.
+
+- You know how to develop a Convolutional Neural Network (CNN) for image and text classification.
+
+- You know how to design and develop Regional Convolutional Neural Networks (RCNN) models for image and video classification.
+
+- You know how to develop Mask-RCNN for image segmentation (masking).
+
+- You know how to develop deep neural networks at least in TensorFlow, Keras, and PyTorch frameworks.
+
+- You know how to design, model, and develop Recurrent Neural Networks (RNN) in general for time-based signals.
+
+- You know how to develop RNNs for text classification.
+
+- You know how to design and develop Long Short-term Memory Networks (LSTM) for time-series signals and text-based applications.
+
+- You know how to model and develop Transformers for text-based applications.
+
+- You know how to develop deep neural networks in engineering platforms such as KubeFlow, Amazon SageMaker, etc.
+
+- You know how to import pre-trained networks and retrain them with custom datasets.
+
+## How do you improve it?
+
+- Deep Learning by Andrew NG (Stanford CS230 course): https://cs230.stanford.edu/
+
+- Online course for Deep Learning: https://www.deeplearning.ai/
+
+- Deep Learning Course by Carnegie Mellon University - Computer Science department: https://deeplearning.cs.cmu.edu/
+
+- Deep Learning Academy: https://www.deeplearning-academy.com/
+
+- Deep Learning with PyTorch by Udemy: https://www.udemy.com/course/practical-deep-learning-with-pytorch/
+
+- TensorFlow 2.0 by Udemy: https://www.udemy.com/course/deep-learning-tensorflow-2/
+
+- Keras: https://keras.io/
diff --git a/Competencies/Competency-Deployments.md b/competencies/deployments.md
similarity index 84%
rename from Competencies/Competency-Deployments.md
rename to competencies/deployments.md
index 6986060f..9ca18994 100644
--- a/Competencies/Competency-Deployments.md
+++ b/competencies/deployments.md
@@ -20,13 +20,15 @@ Logs:
Read The Phoenix Project: [https://www.amazon.ca/Phoenix-Project-DevOps-Helping-Business/dp/0988262592](https://www.amazon.ca/Phoenix-Project-DevOps-Helping-Business/dp/0988262592)
-# Competency - Deployments (Advanced)
-
-You understand how to implement all of the various ways to deploy software.
+# Competency - Deployments - Level 2
## How do you prove it?
-Show different ways you have implemented software deployments.
+Show 3 different ways you have implemented software deployments.
+
+Talk about anti-patterns when it comes to deployments.
+
+Talk about security as it relates to deployments, build servers and access.
## How do you improve it?
diff --git a/competencies/design-tool-adobe-xd.md b/competencies/design-tool-adobe-xd.md
new file mode 100644
index 00000000..369c1fd9
--- /dev/null
+++ b/competencies/design-tool-adobe-xd.md
@@ -0,0 +1,25 @@
+# Competency - Design Tool Adobe XD
+
+[Adobe XD](https://www.adobe.com/ca/products/xd.html) is a free interface design application used to build fully-fledged illustration, as well as prototyping capabilities
+
+## How do you prove it?
+
+You are able to get up and running by familiarizing yourself with Adobe XD's interface
+
+Create vector designs such as icons
+
+Create a component and extend it to multiple variations
+
+Utilize frames and interactive actions to create a functional presentation (ie. a button that links to another frame when clicked)
+
+## How do you improve it?
+
+Adobe has a comprehensive series of videos for free [here](https://helpx.adobe.com/ca/xd/tutorials.html)
+
+## Key points of research
+
+Vector design
+
+Extendable components
+
+Interactive presentation
diff --git a/competencies/design-tool-balsamiq.md b/competencies/design-tool-balsamiq.md
new file mode 100644
index 00000000..f6865db5
--- /dev/null
+++ b/competencies/design-tool-balsamiq.md
@@ -0,0 +1,25 @@
+# Competency - Design Tool Balsamiq
+
+[Balsamiq](https://balsamiq.com/) is a web-based mockup application used to build low fidelity UI wireframes. It simulates an experience and results similar to creating a wireframe with a physical pencil and paper. Its goal is to let you focus more on the content and layout instead of colors and fine details.
+
+## How do you prove it?
+
+You are able to get up and running by familiarizing yourself with Balsamiq's interface
+
+Take an existing page and reverse create a wireframe for it
+
+Create a component and extend it to multiple variations
+
+Utilize frames and interactive actions to create a functional presentation (ie. a button that links to another frame when clicked)
+
+## How do you improve it?
+
+Reference the Balsamiq learn page found [here](https://balsamiq.com/learn/). It also includes UI wireframing theory.
+
+## Key points of research
+
+Wireframing
+
+Extendable components
+
+Interactive presentation
diff --git a/competencies/design-tool-figma.md b/competencies/design-tool-figma.md
new file mode 100644
index 00000000..7b49fddd
--- /dev/null
+++ b/competencies/design-tool-figma.md
@@ -0,0 +1,25 @@
+# Competency - Design Tool Figma
+
+[Figma](https://www.figma.com/) is a free collaborative interface design application used to build fully-fledged illustration, as well as prototyping capabilities
+
+## How do you prove it?
+
+You are able to get up and running by familiarizing yourself with Figma's interface
+
+Create vector designs such as icons
+
+Create a component and extend it to multiple variations
+
+Utilize frames and interactive actions to create a functional presentation (ie. a button that links to another frame when clicked)
+
+## How do you improve it?
+
+Read some of the best practices from Figma's own website [here](https://www.figma.com/best-practices/)
+
+## Key points of research
+
+Vector design
+
+Extendable components
+
+Interactive presentation
diff --git a/competencies/design-tool-sketch.md b/competencies/design-tool-sketch.md
new file mode 100644
index 00000000..cbfedf42
--- /dev/null
+++ b/competencies/design-tool-sketch.md
@@ -0,0 +1,25 @@
+# Competency - Design Tool Sketch
+
+[Sketch](https://www.sketch.com/) is a paid interface design application used to build fully-fledged illustration, as well as prototyping capabilities on mac OS
+
+## How do you prove it?
+
+You are able to get up and running by familiarizing yourself with Sketch's interface
+
+Create vector designs such as icons
+
+Create a component and extend it to multiple variations
+
+Utilize frames and interactive actions to create a functional presentation (ie. a button that links to another frame when clicked)
+
+## How do you improve it?
+
+Reference the comprehensive Sketch docs found [here](https://www.sketch.com/docs/)
+
+## Key points of research
+
+Vector design
+
+Extendable components
+
+Interactive presentation
diff --git a/competencies/diagrams.md b/competencies/diagrams.md
new file mode 100644
index 00000000..6f28cc3b
--- /dev/null
+++ b/competencies/diagrams.md
@@ -0,0 +1,17 @@
+# Diagrams
+
+Good diagrams are worth a thousand words.
+
+## How do you prove it?
+
+You can present 3 diagrams you have created.
+
+## How do you improve it?
+
+Learn Miro.
+Think about diagrams from different pespectives.
+- Data flow diagrams
+- UX flow diagrams
+- Communication Diagrams
+- Software architecture diagrams
+- Process flow charts
diff --git a/Competencies/Competency-Docker.md b/competencies/docker.md
similarity index 89%
rename from Competencies/Competency-Docker.md
rename to competencies/docker.md
index 1b2a0307..2c566ed3 100644
--- a/Competencies/Competency-Docker.md
+++ b/competencies/docker.md
@@ -1,6 +1,6 @@
# Competency - Docker
-All of our Dyspatch system is deployed in docker containers.
+Most of our systems are deployed in docker containers.
Docker is a software technology providing containers, promoted by the company Docker, Inc. Docker provides an additional layer of abstraction and automation of operating-system-level virtualization on Windows and Linux (and most x86 hardware). Docker uses the resource isolation features of the Linux kernel such as cgroups and kernel namespaces, and a union-capable file system such as OverlayFS and others to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines (VMs).
@@ -8,6 +8,8 @@ Wikipedia: [https://en.wikipedia.org/wiki/Docker_(software)](https://en.wikipedi
Home: [https://www.docker.com/](https://www.docker.com/)
+Docker Cheatsheet: [https://github.com/wsargent/docker-cheat-sheet](https://github.com/wsargent/docker-cheat-sheet)
+
## How do you prove it?
You can explain what docker is architecturally good for and how it operates.
@@ -27,4 +29,3 @@ Do a tutorial: [https://docker-curriculum.com/](https://docker-curriculum.com/)
Memorize a docker cheat sheet: [https://github.com/wsargent/docker-cheat-sheet](https://github.com/wsargent/docker-cheat-sheet)
Learn the AWS container registry: [https://aws.amazon.com/ecr/](https://aws.amazon.com/ecr/)
-
diff --git a/Competencies/Competency-Effective-Documentation.md b/competencies/documentation.md
similarity index 91%
rename from Competencies/Competency-Effective-Documentation.md
rename to competencies/documentation.md
index 200a5eea..aef6754d 100644
--- a/Competencies/Competency-Effective-Documentation.md
+++ b/competencies/documentation.md
@@ -1,6 +1,6 @@
-# Competency - Effective Documentation
+# Competency - Documentation
-The product manager is accountable for documentation. This may include writing and sharing effective and actionable documentation, or working with other stakeholders to ensure that it is captured and shared.
+This may include writing and sharing effective and actionable documentation, or working with other stakeholders to ensure that it is captured and shared.
This includes ensuring documentation is thorough, actionable, and up-to-date. (To mitigate the bus factor). Documentation includes, but is not limited to:
@@ -10,7 +10,12 @@ This includes ensuring documentation is thorough, actionable, and up-to-date. (T
3. **Competitive analysis** - Maintaining thorough and up-to-date knowledge of the competitive landscape, with notes on relevant developments or news that are available to other product managers and to the team (see [Competitive Analysis](https://docs.google.com/document/d/12NXequjWFGI6gks16f-gPL1gu8vgDaBk3LCDTg80qOg/edit#)).
-## What are the expectations?
+## How do you prove it?
+
+- You can show many different examples of clear, concise, usable documentation.
+- You can articulate where the best place for a given document is.
+
+## How do you improve it?
Write yourself out of the job. You must be able to go on vacation, which means that the people with whom you work can find answers to questions without having to ask you. Document everything: process, decisions, as well as product requirements. Share early and often.
@@ -42,8 +47,6 @@ Ensuring that we have actionable and accessible documentation is an integral par
* Each task is groomed. The purpose is grooming is to get consensus from the teams (typically, product, design, and engineering) that we all have the information we believe we need at this point to complete the work. (Sometimes things come up while we're doing the implementation, and that's fine, but let's try to catch as many dependencies, risks, and questions during grooming).
-## How do you improve it?
-
* Read up on why documentation matters so much:
* Atlassian's PRD: [https://www.atlassian.com/agile/requirements](https://www.atlassian.com/agile/requirements)
diff --git a/competencies/elasticsearch-level-1.md b/competencies/elasticsearch-level-1.md
new file mode 100644
index 00000000..09e26fef
--- /dev/null
+++ b/competencies/elasticsearch-level-1.md
@@ -0,0 +1,33 @@
+# Competency - Elasticsearch - Level 1
+
+Elasticsearch is a powerful tool which is essential for all search engineers in today's climate. Many online retailers and search providers have turned to ES as the core of their search platform. While sometimes treated as a NoSQL database, Elasticsearch is better described as a document store and search enginge, as there are a number of mechanisms and measures present in, say, an SQL RDB that ES is lazy about in the interest of performance. At it's core, Elasticsearch runs Lucene to track and manage data in the form of documents; the rest of ES might be regarded in a simplified sense as a Java wrapper which co-ordinates distributed instances of that data, accessible via a well documented, RESTful API.
+
+Truly, there is much, much more to Elasticsearch in terms of features and applications than could be written here. For more information on Elasticsearch, I'd start with their site - elastic.co - which is rich in learning resources.
+
+## How do you prove it?
+
+- You can describe what a node is, as well as the roles it might serve in a cluster.
+
+- You can describe an index, both in terms of configuration (types, mappings, etc.) and composition (shards, replicas, etc.).
+
+- You know how to interact with a cluster via the CLI. You are able to perform status checks as well as search queries, with a comprehensive understanding of the responses from both.
+
+- You can create an index, load it with documents, and query them.
+
+- You can describe quorum based decision making, where it is used in ES, and the ubiquitous arithmetic formula associated with it.
+
+- You can fill in the blank: "You know, for _____."
+
+- You can discuss why you believe ES is so commonly used in e-commerce search.
+
+- You can describe when it is better to use an RDB over ES.
+
+## How do you improve it?
+
+- Play with the API in a sandbox and [read the manual](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)! (Be sure to look at the version with which you are interacting, but don't neglect new features, either)
+
+- Read any of the numerous blogs and articles which have been published surrounding the fundamentals of ES and the neat ways it is being used.
+
+- Struggle through building a small cluster and using it for some interesting use cases like [the ELK stack](https://logz.io/learn/complete-guide-elk-stack/), autocomplete/spell-correction using [Suggesters](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html), or [metrics analytics](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html).
+
+- See Elasticsearch Level 2 (TBD)
\ No newline at end of file
diff --git a/Competencies/Competency-Email.md b/competencies/email.md
similarity index 78%
rename from Competencies/Competency-Email.md
rename to competencies/email.md
index 199c64d6..32bc1058 100644
--- a/Competencies/Competency-Email.md
+++ b/competencies/email.md
@@ -1,6 +1,6 @@
# Competency - Email
-Email at Sendwithus is typically for external communication as we pretty much use slack for everything.
+Email is typically for external communication as we pretty much use slack for everything.
You should consider email as a formal way of communicating, especially with external customers and vendors.
@@ -12,7 +12,7 @@ You respond in timely fashion - a good pattern is to review your inbox twice a d
You spell check your emails before you send them.
-If you correspond outside of Sendwithus your emails have a signature.
+If you correspond outside of the company, your emails have a signature.
You anticipate questions and answer them in the original email reducing back and forth.
@@ -30,8 +30,6 @@ You set your out of office replies when you're on holiday, delegating responses
## How do you improve it?
-Email Signature Instructions located here: [https://docs.google.com/open?id=1O7cLwhIYGS88RvnAfAImb578FqFrSXnmDW63r1JGUSA](https://docs.google.com/open?id=1O7cLwhIYGS88RvnAfAImb578FqFrSXnmDW63r1JGUSA)
-
Here's an email from Elon Musk: [https://www.inc.com/justin-bariso/this-email-from-elon-musk-to-tesla-employees-descr.html](https://www.inc.com/justin-bariso/this-email-from-elon-musk-to-tesla-employees-descr.html)
Gmail navigation pro-tips (from jem?):
@@ -47,6 +45,14 @@ Gmail navigation pro-tips (from jem?):
* when viewing an email, the `[` and `]` hotkeys will *archive the current message and navigate* to the next (or previous) message in your inbox.
* If you want to navigate without automatically archiving, `j` / `k`
+
+ * `⌘/Ctrl` + `enter` will send a message
* `e` shortcut will archive the current message then send you back to the list view
+
+ * Use `@` inside the email if you are calling out a specific person, if they are not on the email they will be added automatically
+
+All shortcuts can be found here: [https://support.google.com/mail/answer/6594?hl=en] (https://support.google.com/mail/answer/6594?hl=en)
+
+
diff --git a/competencies/empathy.md b/competencies/empathy.md
new file mode 100644
index 00000000..858ba547
--- /dev/null
+++ b/competencies/empathy.md
@@ -0,0 +1,16 @@
+# Competency - Empathy
+
+The ability to understand and share the feelings of another. Particularly, your colleagues, our customers, and the
+community in general.
+
+## How do you prove it?
+
+Your peer reviews will prove it out.
+
+## How do you improve it?
+
+Measure your EQ: https://greatergood.berkeley.edu/quizzes/ei_quiz/take_quiz
+
+Cultivate it:
+- https://greatergood.berkeley.edu/topic/empathy/definition#how-cultivate-empathy
+- https://greatergood.berkeley.edu/article/item/six_habits_of_highly_empathic_people1
diff --git a/Competencies/Competency-Employee-Engagement.md b/competencies/employee-engagement.md
similarity index 100%
rename from Competencies/Competency-Employee-Engagement.md
rename to competencies/employee-engagement.md
diff --git a/competencies/encoding.md b/competencies/encoding.md
new file mode 100644
index 00000000..77f1cd1b
--- /dev/null
+++ b/competencies/encoding.md
@@ -0,0 +1,14 @@
+# Competency - Encoding
+
+Encoding is important to understand but generally easy to deal with once you're know what you're doing.
+
+## How do you prove it?
+
+You can explain what a code point is.
+You can articulate the difference between latin-1, UTF-8 and UTF-16
+For each of the languages you use, you can explain how they deal with encoding.
+You can describe the kinds of problems that arise from mismatched encoding.
+
+## How do you improve it?
+
+Read the Spolsky Rant: https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
diff --git a/Competencies/Competency-Event-Coordination.md b/competencies/event-coordination.md
similarity index 92%
rename from Competencies/Competency-Event-Coordination.md
rename to competencies/event-coordination.md
index 60261095..db292cfb 100644
--- a/Competencies/Competency-Event-Coordination.md
+++ b/competencies/event-coordination.md
@@ -4,7 +4,7 @@ We run events, a lot of events. THe two most important events are Startup Slam a
## How do you prove it?
-You can schedule and run Sendwithus hosted events and meetups.
+You can schedule and run hosted events and meetups.
You make sure that the space is set up and ready for any groups who need it and that all contracts have been signed.
diff --git a/competencies/expense-tracking.md b/competencies/expense-tracking.md
new file mode 100644
index 00000000..1cd41201
--- /dev/null
+++ b/competencies/expense-tracking.md
@@ -0,0 +1,14 @@
+# Competency - Expense Tracking
+
+Track your expenses! You shouldn't be paying us to work here, so make sure you are reclaiming expenses that you
+incur to do your job effectively.
+
+## How do you prove it?
+
+You have submitted expenses in the last 3 months.
+You know the submit expense procedure.
+You keep track of your receipts.
+
+## How do you improve it?
+
+Use a receipt tracking tool.
diff --git a/competencies/feature-flags.md b/competencies/feature-flags.md
new file mode 100644
index 00000000..87f89c3e
--- /dev/null
+++ b/competencies/feature-flags.md
@@ -0,0 +1,15 @@
+# Competency - Feature Flags (toggles)
+
+Feature flags are ways of deploying code so that you can toggle whether the code is executed or not.
+
+
+## How do you prove it?
+You can talk about the four different types of feature flags and when you should use them.
+You can't talk about the use of WIP feature flags and how to track them.
+You can show examples in your code of using feature flags.
+
+## How do you improve it?
+
+Learn Martin Fowler's take on the nuances: [https://martinfowler.com/articles/feature-toggles.html](https://martinfowler.com/articles/feature-toggles.html)
+
+Learn continuous integration.
diff --git a/competencies/fire-handling.md b/competencies/fire-handling.md
new file mode 100644
index 00000000..e24b459a
--- /dev/null
+++ b/competencies/fire-handling.md
@@ -0,0 +1,32 @@
+# Competency - Fire Handling
+
+Be part of the response team that responds to production emergencies.
+
+This competency requires:
+
+* Good debugging and prioritization skills
+
+* A strong desire to have a healthy, well monitored, easy to debug system
+
+* A strong understanding of the infrastructure and data paths within
+
+## How do you prove it?
+
+* Demonstrate knowledge of what happens when an alert is acked
+
+* Have been lead on call through 3 actual production emergencies
+
+* Can describe the architecture of the entire system.
+
+* Have show that you can prioritize and marshal resources while there is a fire happening.
+
+* Understand how our paging system works and have it setup to override your phone default settings.
+
+## How do you improve it?
+
+Learn the architecutre of the entire sysetm.
+
+Shadow people on fire rotation.
+
+Learn about all the logging and metrics gathering services that will help you diagnose issues.
+
diff --git a/Competencies/Competency-Fire-Response.md b/competencies/fire-response.md
similarity index 59%
rename from Competencies/Competency-Fire-Response.md
rename to competencies/fire-response.md
index 043d60c4..e2c858d1 100644
--- a/Competencies/Competency-Fire-Response.md
+++ b/competencies/fire-response.md
@@ -22,61 +22,18 @@ Dependant on other Competencies:
## How do you prove it?
-### Debugging/Tracing
-
Given very little data, you have a good priority of where/what details to get (and how).
You can have an egoless discussion about the state of infrastructure and code.
You understand the types of errors that could occur, given symptoms, and could give likelihoods on them, along with how to prove/disprove each theory.
-### Prioritization
-
You are able to review an incident, understand its affect on customers, and suggest short term and/or long term fixes along with mitigation strategies.
-### Tooling
-
-You know the reason for, and how to use:
-
-Sendwithus:
-
-* OpsGenie
-
-* Sentry
-
-* Papertrail
-
-* Librato
-
-* NewRelic
-
-* Heroku
-
-Dyspatch:
-
-* OpsGenie
-
-* Sentry
-
-* Datadog
-
-* Cloudwatch Logs
-
-### Training
+## How do you improve it?
You have shadowed 2 fire duty rotations.
You have been on 1 fire duty rotation solo.
-You have confidence, your managers confidence, and the fire lead's confidence to be on rotation
-
-### John Filter
-
-The fire duty lead (John) has signed off on your ability to do fire duty.
-
-## How do you improve it?
-
-Read the wiki doc about fire handling: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/fire-handling.md)
-
-You need to be able to identify alerts and figure out who to wake up: [https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md](https://github.com/techdroplabs/wiki-sourcery/blob/master/procedures/fires/escalation.md)
-
+You have confidence, your managers confidence, and the fire lead's confidence to be on rotation
\ No newline at end of file
diff --git a/competencies/fire-triaging.md b/competencies/fire-triaging.md
new file mode 100644
index 00000000..66409a75
--- /dev/null
+++ b/competencies/fire-triaging.md
@@ -0,0 +1,52 @@
+# Competency - Fire Triaging
+
+Be part of the monitoring team that triages production emergencies.
+
+## How do you prove it?
+
+### Alerting Knowledge
+
+You have a good understanding of (and can discuss):
+
+* alerting systems
+
+* different categories of alerts.
+
+### Debugging/Tracing
+
+Given very little data, you have a good priority of where/what details to get (and how).
+
+You can have an egoless discussion about the state of infrastructure and code.
+
+You understand the types of errors that could occur, given symptoms, and could give likelihoods on them, along with how to prove/disprove each theory.
+
+### Prioritization
+
+You can prioritize between different types of bugs, given very little data on the bugs.
+
+You can find out more about the bugs through various monitoring and debugging techniques.
+
+You can delegate, and know who to delegate too.
+
+### Tooling
+
+You know the reason for, and how to use all the various tools to help with this task.
+
+### Training
+
+You have shadowed 2 fire duty rotations.
+
+You have been on 1 fire duty rotation solo.
+
+You have confidence, your managers confidence, and the fire lead's confidence to be on rotation
+
+
+## How do you improve it?
+
+
+Learn the architecutre of the entire sysetm.
+
+Shadow people on fire rotation.
+
+Learn about all the logging and metrics gathering services that will help you diagnose issues.
+
diff --git a/Competencies/Competency-Front-End.md b/competencies/front-end.md
similarity index 92%
rename from Competencies/Competency-Front-End.md
rename to competencies/front-end.md
index 99b38c9b..3b358d29 100644
--- a/Competencies/Competency-Front-End.md
+++ b/competencies/front-end.md
@@ -4,11 +4,12 @@ You are able to build websites using html, css, and JavaScript and tie these thi
## How do you prove it?
-You can quickly build prototype front end applications.
+You can quickly build and prototype a front end application.
## How do you improve it?
-Learn CSS: [https://www.codecademy.com/learn/learn-css](https://www.codecademy.com/learn/learn-css)
Learn how JavaScript works in web browsers: [https://www.codecademy.com/learn/learn-javascript](https://www.codecademy.com/learn/learn-javascript)
+Learn CSS: [https://www.codecademy.com/learn/learn-css](https://www.codecademy.com/learn/learn-css)
+Learn how JavaScript works in web browsers: [https://www.codecademy.com/learn/learn-javascript](https://www.codecademy.com/learn/learn-javascript)
Learn HTML: [https://www.codecademy.com/learn/learn-html](https://www.codecademy.com/learn/learn-html)
diff --git a/Competencies/Competency-Getting-Things-Done.md b/competencies/getting-things-done.md
similarity index 100%
rename from Competencies/Competency-Getting-Things-Done.md
rename to competencies/getting-things-done.md
diff --git a/competencies/git.md b/competencies/git.md
new file mode 100644
index 00000000..9ff6317f
--- /dev/null
+++ b/competencies/git.md
@@ -0,0 +1,71 @@
+# Competency - Git
+
+Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
+
+## How do you prove it?
+
+You can clone a repo, create a branch, checkout a branch, handle merge conflicts, squash, and push commits.
+
+Can verbally explain Git to someone else and help them learn the Git processes.
+
+You can explain what HEAD, remote, and tags are.
+
+You can explain the difference between the working and staged environments.
+
+You can explain what stashing is and when you should use it.
+
+You can navigate a Git log and know how to reset to a hash.
+
+Can safely and securely use Git.
+
+Knows the difference between squashing and merging.
+
+Write well formatted and descriptive commit messages.
+
+## How do you improve it?
+
+Read the Git manual - [https://git-scm.com/book/en/v2](https://git-scm.com/book/en/v2)
+
+Memorize the basic set of commands - [https://www.git-tower.com/blog/git-cheat-sheet/](https://www.git-tower.com/blog/git-cheat-sheet/)
+
+Git Extras for common use-cases - [https://github.com/tj/git-extras](https://github.com/tj/git-extras)
+
+Read [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/)
+
+Conventional Commits - [https://www.conventionalcommits.org/](https://www.conventionalcommits.org/)
+
+Bookmark - [https://ohshitgit.com/](https://ohshitgit.com/)
+
+# Competency - Git - Level 2
+
+Have achieved all the things for the basic competency, are capable of solving advanced Git issues.
+
+## How do you prove it?
+
+People come to you and say things like, "I did this merge and now I'm in a tangle of branches and somebody did a force push and now I'm stuck", and you can calmly untangle the knot. This can involve solving merge-conflicts, cherry-picking commits from other branches, and rebasing.
+
+You can explain how Git hashing works and explain the pros and cons in relation to other version control systems such as SVN and Mercurial.
+
+You can explain and use pre and post hooks.
+
+You understand and can modify configuration in .git/config.
+
+## How do you improve it?
+
+Read ALL the Git manual - ([https://git-scm.com/book/en/v2](https://git-scm.com/book/en/v2)) and build prototypes.
+
+Read blogs about people doing weird things to Git (like using it as a database - [https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/](https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/))
+
+Try experimenting in Git.
+
+Build your own Git aliases.
+
+Clean a repository's history of all files larger than 200kb.
+
+~/.gitconfig add `autocorrect = -1` turns on autocorrect on your Git commands. So `git statsu` --> `git status` automatically. :
+
+Install and learn `tig` https://github.com/jonas/tig
+
+Want to obliterate files? use BFG https://rtyley.github.io/bfg-repo-cleaner/
+
+Learn about GLFS - https://git-lfs.github.com/
diff --git a/competencies/github-actions.md b/competencies/github-actions.md
new file mode 100644
index 00000000..5c7c1b32
--- /dev/null
+++ b/competencies/github-actions.md
@@ -0,0 +1,21 @@
+# Competency - GitHub Actions
+
+GitHub Actions are an API for cause and effect on GitHub: orchestrate any workflow, based on any event, while GitHub manages the execution, provides rich feedback, and secures every step along the way. With GitHub Actions, workflows and steps are just code in a repository, so you can create, share, reuse, and fork your software development practices.
+
+## How do you prove it?
+* You can create a continuous integration workflow for a project that automatically runs tests for your code and uses branch protection to only allows pull requests to be merged if the tests pass.
+* You can create a workflow that produces packages (such as NPM packages) and uploads them to GitHub Packages or another package hosting service.
+* You can list three events that can trigger a workflow to run and explain the use cases of each.
+* You can list three actions from the GitHub Marketplace and explain the use cases of each.
+* You can explain the differences between workflows, events, jobs, steps, actions, and runners.
+* You know how to securely store secrets within GitHub, and are aware of the security risks in not doing so.
+* You know how to cache dependencies using `actions/cache@v2` in order to speed up workflows.
+* You know how to add conditional steps, such as `if: github.event.pull_request.draft == false`, to a job.
+* You know how to use `upload-artifact` and `download-artifact` actions in order to persist and share data across workflows.
+* You know how to create workflow templates and use templates created by others.
+* You know how to securely add actions from the [GitHub Marketplace](https://github.com/marketplace) or any other git repository that you don't own/control
+* You review an action's code before you add it to your repository
+
+## How do you improve it?
+* Read the [docs](https://docs.github.com/en/free-pro-team@latest/actions)
+* Read [Use GitHub actions at your own risk](https://julienrenaux.fr/2019/12/20/github-actions-security-risk/)
diff --git a/competencies/github.md b/competencies/github.md
new file mode 100644
index 00000000..5153c58f
--- /dev/null
+++ b/competencies/github.md
@@ -0,0 +1,64 @@
+# Competency - GitHub
+
+Web-based Git Repository Hosting Service
+
+## How do you prove it?
+
+You can clone a project, create a branch, handle merge conflicts, squash and create a pull request.
+
+You can review a Pull Request and you give good feedback on them.
+
+You can explain what Forking is and when you may want to do it.
+
+You know how to walk through commit history.
+
+You request a reviewer on all your Pull Requests.
+
+Can verbally explain Github to someone else and can help them learn how to use it.
+
+You understand the difference between Git and Github.
+
+Can safely and securely use Github.
+
+You know what a PAT is and how and why it is used.
+
+You know how to setup SSH keys for authentication.
+
+You use markdown in your documentation and comments.
+
+You've configured notifications and are receiving them.
+
+You are great at Pull Requests.
+
+## How do you improve it?
+
+Read the Github Guides - [https://guides.github.com/](https://guides.github.com/)
+
+Read the Github docs - [https://docs.github.com/en](https://docs.github.com/en)
+
+Learn gh - (https://cli.github.com/)
+# Competency - GitHub - Level 2
+
+Have achieved all the things for the basic competency and additionally can administer GitHub {teams, orgs, security} and have utilized its advanced features.
+
+## How do you prove it?
+
+You can integrate and manage webhooks and build process tie ins.
+
+You are able to setup Github pages to host static content.
+
+You can publish packages on the Github registry.
+
+You've used the Github REST and/or GraphQL APIs.
+
+You are familiar with Github actions and workflows.
+
+## How do you improve it?
+
+Try experimenting in Github.
+
+Help secure your codebase by utilizing dependabot.
+
+GraphQL Explorer - [https://docs.github.com/en/graphql/overview/explorer](https://docs.github.com/en/graphql/overview/explorer)
+
+Utilize API SDKs - [https://docs.github.com/en/rest/overview/libraries](https://docs.github.com/en/rest/overview/libraries)
\ No newline at end of file
diff --git a/Competencies/Competency-Google-Drive.md b/competencies/google-drive.md
similarity index 100%
rename from Competencies/Competency-Google-Drive.md
rename to competencies/google-drive.md
diff --git a/Competencies/Competency-Human.md b/competencies/human.md
similarity index 93%
rename from Competencies/Competency-Human.md
rename to competencies/human.md
index f6344af8..f282bddf 100644
--- a/Competencies/Competency-Human.md
+++ b/competencies/human.md
@@ -16,3 +16,5 @@ Try and give positive feedback once a day to someone.
Don't touch people (especially british people): [https://www.psychologytoday.com/ca/blog/threat-management/201709/touching-co-workers](https://www.psychologytoday.com/ca/blog/threat-management/201709/touching-co-workers)
+Take the test:
+https://www.youtube.com/watch?v=ccIt-qRQBoI
diff --git a/competencies/ide-intellij.md b/competencies/ide-intellij.md
new file mode 100644
index 00000000..145a4248
--- /dev/null
+++ b/competencies/ide-intellij.md
@@ -0,0 +1,24 @@
+# Competency - IDE - IntelliJ IDEA
+
+Intellij is an IDE by JetBrains and has very good indexing and understanding of your code which allows for near magical refactoring.
+
+## How do you prove it?
+
+* You have appropriate plug-ins installed.
+* You know a number of keyboard shortcuts that help you program.
+* You can use multi-cursor editing.
+* You can find classes and files quickly using fuzzy search.
+* You know how to use "find in path" to search within your entire project.
+* You know how to "follow" symbols to find usages, declarations, or implementations.
+* You can refactor code, rename variables, extract methods, introduce variables, etc.
+* You know how to run tests from within the IDE.
+* You can use the debugger effectively.
+* You can update your preferences, overriding defaults for desired behavior.
+* You know how to change the indenting, encoding, and line ending settings for your project.
+* You know how to use the source control features.
+
+## How do you improve it?
+
+* Official video turtorials and how-to's: [https://www.jetbrains.com/idea/documentation/](https://www.jetbrains.com/idea/documentation/)
+* Learn how to use some more advanced features: [https://medium.com/@andrey_cheptsov/intellij-idea-pro-tips-6da48acafdb7](https://medium.com/@andrey_cheptsov/intellij-idea-pro-tips-6da48acafdb7)
+* Mouseless driven development: [https://www.youtube.com/watch?v=UH6YVv9js3s](https://www.youtube.com/watch?v=UH6YVv9js3s)
\ No newline at end of file
diff --git a/Competencies/Competency-IDE-Vim.md b/competencies/ide-vim.md
similarity index 53%
rename from Competencies/Competency-IDE-Vim.md
rename to competencies/ide-vim.md
index 4e0acdae..f03de285 100644
--- a/Competencies/Competency-IDE-Vim.md
+++ b/competencies/ide-vim.md
@@ -1,16 +1,25 @@
# Competency - IDE - Vim
+Vim is a command line text editor with a wealth of plugins to do just about anything.
+
## How do you prove it?
+* Open a document in read only mode
+
+* Open a doc, get out to the command line, pipe the input back in to the editor.
+
* Share your `.vimrc` (vim configuration)
* You can name at least three of vims `modes`
* You understand how to use vims motion commands to navigate text
+* You can copy and paste chunks of code within a file
+
+* You can set your tabstop and shiftwidth and are able to explain when and why you would want to do so.
+
## How do you improve it?
Learn about Vim from Jem: [https://youtu.be/sIa9Nmy-TQw](https://youtu.be/sIa9Nmy-TQw)
Gamify your Vim learning experience: [https://vim-adventures.com/](https://vim-adventures.com/)
-
diff --git a/competencies/ide-visual-studio-code.md b/competencies/ide-visual-studio-code.md
new file mode 100644
index 00000000..5486f9be
--- /dev/null
+++ b/competencies/ide-visual-studio-code.md
@@ -0,0 +1,22 @@
+# Competency - IDE - Visual Studio Code
+
+An IDE from microsoft that is surprisingly awesome.
+
+## How do you prove it?
+You have appropriate extensions involved.
+You have keyboard shortcuts down.
+You can use multi-cursor editing.
+You can refactor code, extracting methods, and renaming variables globally in at least 1 language.
+You know how to run tests from within the IDE.
+You can use the debugger effectively.
+You can update your preferences json file and override settings for desired behaviour.
+You know how to change the indenting, encoding, and line ending settings for your project.
+You know how to use the source control features.
+
+## How do you improve it?
+
+Watch the tech drop: [https://youtu.be/YOyWw80iaYk](https://youtu.be/YOyWw80iaYk)
+Read the docs: https://code.visualstudio.com/docs
+Plugins:
+* REST Client allows you to send HTTP request and view the response in Visual Studio Code directly.
+https://marketplace.visualstudio.com/items?itemName=humao.rest-client
diff --git a/competencies/interviewing.md b/competencies/interviewing.md
new file mode 100644
index 00000000..ed6d0c04
--- /dev/null
+++ b/competencies/interviewing.md
@@ -0,0 +1,31 @@
+# Competency - Interviewing
+
+Interviewing is the act of meeting a potential candidate with the intention of evaluating their fit for a potential opening or opportunity within the company.
+
+Interviews themselves can take a few different forms, but often they involve a face to face meeting with a new person.
+
+
+## How do you prove it?
+
+* You have shadowed several interviews of all different types
+
+* You have reviewed resumes and can articulate why you have chosen to exclude the ones that didn't meet the grade.
+
+* You have shown that during an interview you can follow up on interesting responses and go deeper into a specific answer.
+
+* Your high score candidates, end up being successful in the company.
+
+* In hiring reviews after the interview is complete you can articulate why you gave the score you did.
+
+* You can talk about the various biases in hiring and what to do about them.
+
+## How do you improve it?
+
+* Perform interviews with other experienced interviewers
+
+* Study up on good interview questions within the problem space you're hiring for, such as the following HTML front end question list: [https://github.com/h5bp/Front-end-Developer-Interview-Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)
+
+* Practice and shadow interviews.
+
+* Read [Who, by Geoff Smart](https://www.amazon.ca/Who-Method-Hiring-Geoff-Smart/dp/1400158389)
+
diff --git a/competencies/jupyter.md b/competencies/jupyter.md
new file mode 100644
index 00000000..1e74c378
--- /dev/null
+++ b/competencies/jupyter.md
@@ -0,0 +1,75 @@
+# Competency - Jupyter
+
+Project Jupyter is a nonprofit organization created to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages". Spun-off from IPython in 2014 by Fernando Pérez, Project Jupyter supports execution environments in several dozen languages. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R, and also a homage to Galileo's notebooks recording the discovery of the moons of Jupiter. Project Jupyter has developed and supported the interactive computing products Jupyter Notebook, JupyterHub, and JupyterLab, the next-generation version of Jupyter Notebook.
+
+As an ML developer you would need Jupyter in order to set up your project in a collaborative environment where you can share your research, and visualize it in an easy manner. Some of the most important features of Jupyter for ML developers and Data Scientists are as follows:
+
+- Inline Printing of the Output in the Exploratory Data Analysis Processes:
+Notebooks allow the data scientist to view the results of their code in-line, sometimes without any dependency of other parts of their code. Contrary to working with a standard IDE like VSCode or PyCharm, on Jupyter, every cell, an executable unit of code, can potentially be called at any time to draw an output right below the code.
+
+- Built-in Cell-Level Caching:
+Caching is hard, especially if your software engineering skills aren’t that top notch. If you are a mathematician trying to get some data to model stuff, the last thing you want is to implement your own caching schemes.
+Jupyter solves this magically by caching the results of every cell that is being run. For instance, if you have a huge notebook, containing hundreds of cells of code, and somewhere at the beginning of the notebook, some code that is doing some heavy operation — like training an ML model or downloading gigabytes of data from a remote server, with Jupyter, you have zero concerns about caching the results of those operations.
+
+- Local Execution:
+Jupyter notebook’s user-friendly CLI encourages local execution. It’s pretty much certain that 99% of data scientists run Jupyter locally, although there are some premature attempts by some of the cloud providers to migrate the notebooks to the cloud (Google Cloud DataLab and AWS SageMaker). But those solutions are premature and suffer from plenty of their own problems.
+
+Although Jupyter is a great environment for research-based projects, but it's not the best solution for production. A production-grade ML pipeline needs to be composed out of debuggable, reproducible, easy-to-deploy, high-performance code components that could be orchestrated and scheduled. In its default version, it’s everything research code on Jupyter isn’t.
+
+Useful links:
+
+- Wikipedia: https://en.wikipedia.org/wiki/Project_Jupyter
+
+## How do you prove it?
+
+- You know what a JupyterLab, JupyterHub, Jupyter Console, Jupyter Notebook is and the main differences between them.
+
+- You know what Google Colab is and the differences between a Jupyter environment.
+
+- You know what the differences between a Jupyter notebook and a programming script are.
+
+- You know how to install Jupyter products using Anaconda or PIP package manager.
+
+- You know how to run Jupyter from the terminal with all different modes using different flags.
+
+- You know at least 5 Jupyter shortcuts.
+
+- You know what Command mode and Edit mode are, and how to use each one.
+
+- You know how to evaluate a cell without a mouse.
+
+- You know what Jupyter Kernels are, what they do, and how to switch between them.
+
+- You know how to restart, stop, and shut down a kernel.
+
+- You know how to use terminal in Jupyter and what differences it has with your OS terminal.
+
+- You know how to set up extensions and use them in your Jupyter environment.
+
+- You know how to activate X11 on your Jupyter environment.
+
+- You know how to share your code in Jupyter with other colleagues.
+
+- You know how to use document mode and presentation mode for presenting your code in Jupyter.
+
+- You know how to switch between your launcher panel to your notebooks without using a mouse.
+
+- You know how to run Jupyter in root-mode, and know its risks.
+
+- You know how to use linting extensions in your Jupyter environment.
+
+- You know how to use Jupyter notebooks in AWS and GCP platforms (such as SageMaker).
+
+## How do you improve it?
+
+- Jupyter Documentation: https://jupyter.org/documentation
+
+- Useful Jupyter Shortcuts: https://github.com/NCEAS/training-jupyter-notebook/blob/master/jupyter-notebook-overview.md
+
+- What is Jupyter Notebook? https://www.infoworld.com/article/3347406/what-is-jupyter-notebook-data-analysis-made-easier.html
+
+- Udemy online course for Jupyter: https://www.udemy.com/course/learning-path-jupyter-learn-jupyter-skills-from-scratch
+
+- DataCamp tutorial to Jupyter: https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook
+
+- Open Source tools for Data Science by Coursera: https://www.coursera.org/learn/open-source-tools-for-data-science
diff --git a/competencies/kafka.md b/competencies/kafka.md
new file mode 100644
index 00000000..a8c46419
--- /dev/null
+++ b/competencies/kafka.md
@@ -0,0 +1,50 @@
+# Competency - Kafka
+
+Kafka combines three key capabilities so you can implement your use cases for event streaming end-to-end with a single
+battle-tested solution:
+
+1. To publish (write) and subscribe to (read) streams of events, including continuous import/export of your data from other systems.
+2. To store streams of events durably and reliably for as long as you want.
+3. To process streams of events as they occur or retrospectively.
+
+And all this functionality is provided in a distributed, highly scalable, elastic, fault-tolerant, and secure manner.
+Kafka can be deployed on bare-metal hardware, virtual machines, and containers, and on-premises as well as in the cloud.
+You can choose between self-managing your Kafka environments and using fully managed services offered by a variety of vendors.
+
+_Source: https://kafka.apache.org/_
+
+## How do you prove it?
+
+* You know what Kafka is and when it can be used.
+
+* You know the advantages and disadvantages of using Kafka.
+
+* You know what consumer group id is used for and how it influences message delivery.
+
+* You understand implications of using keys in messages.
+
+* You understand what request-reply is and know how/when to use it.
+
+* You understand how kafka authentication works and how to configure it.
+
+* You can use at least one Kafka client.
+
+* Set up a Kafka broker.
+
+* Create a topic and two partitions for it.
+
+* Produce a message to one of the created partitions.
+
+* List all topics and read messages in one of them.
+
+* Build a kafka queue and add a leader and a follower, show that when you kill the leader, the follower takes over.
+
+## How do you improve it?
+
+Read the official documentation: https://kafka.apache.org/documentation/
+
+Do a tutorial: https://data-flair.training/blogs/apache-kafka-tutorial/
+
+Know what to avoid: https://blog.softwaremill.com/7-mistakes-when-using-apache-kafka-44358cd9cd6
+
+Know how to optimize your deployment: https://www.infoq.com/articles/apache-kafka-best-practices-to-optimize-your-deployment
\ No newline at end of file
diff --git a/Competencies/Competency-Kubernetes.md b/competencies/kubernetes.md
similarity index 67%
rename from Competencies/Competency-Kubernetes.md
rename to competencies/kubernetes.md
index d7428164..b6f3173d 100644
--- a/Competencies/Competency-Kubernetes.md
+++ b/competencies/kubernetes.md
@@ -1,6 +1,6 @@
# Competency - Kubernetes
-All of our Dyspatch system is deployed in kubernetes.
+Most of our systems are deployed in kubernetes.
Kubernetes (commonly referred to as K8s) is an open-source system for automating deployment, scaling and management of containerized applications that was originally designed by Google and donated to the Cloud Native Computing Foundation. It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts".It supports a range of container tools, including Docker
@@ -16,19 +16,14 @@ You can build all the yaml files for a new service and deploy it into production
You can explain what each of the parts of the yaml represent and common pitfalls of using them and how they relate to scale and reliability.
+You can build an app with health check and graceful shutdown handling connected to liveness and readiness probes.
+
## How do you improve it?
Tinker locally with minikube, to gain an understanding of the API [https://github.com/kubernetes/minikube](https://github.com/kubernetes/minikube)
-nice little script for tailing multiple pods in k8s [https://github.com/johanhaleby/kubetail](https://github.com/johanhaleby/kubetail)
-
-# Competency - Kubernetes - Advanced
+Nice little script for tailing multiple pods in k8s [https://github.com/johanhaleby/kubetail](https://github.com/johanhaleby/kubetail)
-Have achieved all the things for the basic competency and additionally can administer K8s security, monitoring, scale and help with advanced deployment at scale issues.
-
-## How do you prove it?
-
-You understand how a build pipeline for a system running on k8s interacts with registries and k8s.
-
-## How do you improve it?
+And another one for gathering logs from multiple pods [https://github.com/wercker/stern](https://github.com/wercker/stern)
+Great tool for fast switching between contexts and namespaces [https://github.com/ahmetb/kubectx](https://github.com/ahmetb/kubectx) - it works great in the [interactive mode](https://github.com/ahmetb/kubectx#interactive-mode)
diff --git a/competencies/language-c-sharp.md b/competencies/language-c-sharp.md
new file mode 100644
index 00000000..3b59de1e
--- /dev/null
+++ b/competencies/language-c-sharp.md
@@ -0,0 +1,27 @@
+# Competency - Language C#
+
+C# (C-Sharp) is a programming language developed by Microsoft that runs on the . NET Framework. C# is used to develop web apps, desktop apps, mobile apps, games and much more.
+
+https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
+
+## How do you prove it?
+
+For code you have submitted, your code reviews get little syntactic corrections.
+
+You can write code from memory without having to look up how you use language specific features.
+
+You can explain to someone the differences between this language and another language.
+
+You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
+
+You understand packaging paradigms for the language for both publishing and dependency management.
+
+You have a good understanding of the resources and where to go if you're stuck.
+
+You understand how third party libraries are used, access, their lifecycle and security implications.
+
+## How do you improve it?
+
+Do the tutorials: https://docs.microsoft.com/en-us/dotnet/csharp/
+
+Build a program in C#
diff --git a/competencies/language-clojure.md b/competencies/language-clojure.md
new file mode 100644
index 00000000..ec0438aa
--- /dev/null
+++ b/competencies/language-clojure.md
@@ -0,0 +1,41 @@
+# Competency - Language Clojure
+
+Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
+
+Wikipedia: https://en.wikipedia.org/wiki/Clojure
+
+Home: https://clojure.org/ (and [Getting Started](https://clojure.org/guides/getting_started))
+
+## How do you prove It?
+
+For code you have submitted, your code reviews get little syntactic corrections.
+
+You can write code from memory without having to look up how you use language specific features.
+
+You can explain to someone the differences between this language and another language.
+
+You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
+
+You understand packaging paradigms for the language for both publishing and dependency management.
+
+You have a good understanding of the resources and where to go if you're stuck.
+
+You understand how third party libraries are used, accessed, their lifecycle and security implications.
+
+## How do you improve it?
+
+Install and Learn how to use build tool Leiningen: https://leiningen.org/
+
+Great Book on clojure, free to read online https://www.braveclojure.com/
+
+Learn REPL driven development, by using an IDE with an integrated clojure REPL: https://clojure.org/guides/repl/enhancing_your_repl_workflow#editor-integrations
+
+Learn: [ClojureScript](https://clojurescript.org/) and developing with FigWheel: [Flappy Bird Tutorial](https://www.youtube.com/watch?v=KZjFVdU8VLI&t=2s)
+
+Learn how to use Clojure Spec: https://clojure.org/guides/spec
+
+Learn clojure core.async and [CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes): https://www.youtube.com/watch?v=drmNlZVkUeE
+
+
+
+
diff --git a/competencies/language-go.md b/competencies/language-go.md
new file mode 100644
index 00000000..cb7febaf
--- /dev/null
+++ b/competencies/language-go.md
@@ -0,0 +1,34 @@
+# Competency - Language Go Level 1
+[Go](https://golang.org/) (often referred to as golang for googling purposes) is a programming language created at Google in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features and CSP-style concurrent programming features added. The compiler and other language tools originally developed by Google are all free and open source. - [Wikipedia](https://en.wikipedia.org/wiki/Go_(programming_language))
+
+## How do you prove it?
+* You can explain to someone the differences between this language and another language.
+* You have a good understanding of the resources and where to go if you're stuck.
+* You understand how third party libraries are used, accessed, and installed.
+* You have written and completed a demo-able project in this language.
+
+## How do you improve it?
+* Do the [tour](https://tour.golang.org/welcome/1)
+* Read the [docs](https://golang.org/doc/)
+* Read [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
+* Build some software
+* Learn [best practices](https://blog.chewxy.com/2018/03/18/golang-interfaces/)
+* Learn about building [memory performant golang](https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/)
+
+# Competency - Language Go Level 2
+
+## How do you prove it?
+* For code you have submitted, your code reviews receive few syntactic corrections.
+* You can write code from memory without having to look up how you use language specific features.
+* You can describe the kinds of problems the language solves very well and the kinds of problems it's not a great fit for.
+* You understand packaging paradigms for the language for both publishing and dependency management.
+* You understand how to review third party libraries lifecycles and security implications.
+* You can create [reproducible build](https://reproducible-builds.org/) by trimming paths and setting static build id in built binary.
+
+## How do you improve it?
+* Open many PRs
+* Memorize the [cheat sheet](https://github.com/a8m/go-lang-cheat-sheet/blob/master/golang_refcard.pdf)
+* Understand [package management](https://blog.golang.org/using-go-modules)
+* Attend [Gophercon](https://www.gophercon.com/)
+* Online [json to struct converter](https://mholt.github.io/json-to-go/)
+* Learn about and do some [fuzzing](https://dgryski.medium.com/go-fuzz-github-com-arolek-ase-3c74d5a3150c)
diff --git a/Competencies/Competency-Language-JavaScript-Node.md b/competencies/language-javascript-node.md
similarity index 97%
rename from Competencies/Competency-Language-JavaScript-Node.md
rename to competencies/language-javascript-node.md
index f766099a..7fcb96b5 100644
--- a/Competencies/Competency-Language-JavaScript-Node.md
+++ b/competencies/language-javascript-node.md
@@ -36,3 +36,5 @@ Build some software.
What this video from Soundcloud on how to use functional programming to reduce code boilerplate. [https://www.youtube.com/watch?v=kA4-b7hvWhg](https://www.youtube.com/watch?v=kA4-b7hvWhg)
+Try out instant TDD in your IDE with Wallaby - https://wallabyjs.com/
+
diff --git a/competencies/language-javascript.md b/competencies/language-javascript.md
new file mode 100644
index 00000000..25576814
--- /dev/null
+++ b/competencies/language-javascript.md
@@ -0,0 +1,35 @@
+# Competency - Language JavaScript
+
+JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, single-threaded, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.
+
+* Wikipedia: [https://en.wikipedia.org/wiki/JavaScript](https://en.wikipedia.org/wiki/JavaScript)
+
+## How do you prove it?
+
+* For code you have submitted, your code reviews get little syntactic corrections.
+* You can write code from memory without having to look up how you use language specific features.
+* You can explain to someone the differences between this language and another language.
+* You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
+* You understand packaging paradigms for the language.
+* You have a good understanding of the resources and where to go if you're stuck.
+* You understand how third party libraries are used, access, their lifecycle and security implications.
+* Understand why `false == "0"` is different than `false === "0"`
+
+## How do you improve it?
+
+* Read You Don't Know JS: [https://github.com/getify/You-Dont-Know-JS](https://github.com/getify/You-Dont-Know-JS)
+* Read the docs: [https://developer.mozilla.org/en-US/docs/Web/JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
+* Build some software.
+
+# Competency - Language JavaScript (advanced)
+
+## How do you prove it?
+
+* Can talk about the differences between JavaScript variants.
+
+## How do you improve it?
+
+* Learn TypeScript, CoffeeScript, Node.js, Elm, ReasonML
+* Describe different techniques within JavaScript - Closures, Promises, Observables, Classes.
+* Describe different styles within JavaScript, Functional, Object Oriented.
+* Does JavaScript `pass by reference`, or `pass by value` ?
diff --git a/competencies/language-php.md b/competencies/language-php.md
new file mode 100644
index 00000000..4d1b6cfd
--- /dev/null
+++ b/competencies/language-php.md
@@ -0,0 +1,25 @@
+# Competency - Language PHP
+
+PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
+
+* Wikipedia: [https://en.wikipedia.org/wiki/PHP](https://en.wikipedia.org/wiki/PHP)
+* PHP.net: [https://www.php.net/manual/en/intro-whatis.php](https://www.php.net/manual/en/intro-whatis.php)
+
+## How do you prove it?
+
+* For code you have submitted, your code reviews get little syntactic corrections.
+* You can write code from memory without having to look up how you use language specific features.
+* You can explain to someone the differences between this language and another language.
+* You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
+* You have a good understanding of the resources and where to go if you're stuck.
+* You understand how third party libraries are used, access, their lifecycle and security implications.
+* You can explain key differences between several PHP versions (5.0 -> 5.6, 5 -> 7)
+* You can name a couple of popular frameworks and differences between them
+* You understand how to configure and use debugger
+
+## How do you improve it?
+
+* [PHP The Right Way](https://phptherightway.com/)
+* [PHP Apprentice](https://phpapprentice.com/)
+* [Design patterns with PHP examples](https://refactoring.guru/design-patterns/php)
+* Build some software.
diff --git a/competencies/language-python.md b/competencies/language-python.md
new file mode 100644
index 00000000..812f0bd9
--- /dev/null
+++ b/competencies/language-python.md
@@ -0,0 +1,38 @@
+# Competency - Language Python - Level 1
+Python is a dynamic language that uses spaces for structured blocks of code. Python is most used for Data Engineering/Data Science and Web Development.
+
+## How do you prove it?
+* You can explain to someone the differences between this language and another language.
+* You have a good understanding of the resources and where to go if you're stuck.
+* You understand how third party libraries are used, accessed, and installed.
+* You have written and completed a demo-able project in this language.
+
+## How do you improve it?
+* Do Google's python class: [https://developers.google.com/edu/python/](https://developers.google.com/edu/python/)
+* Write a lot of code
+
+## Key points of research
+* Differences between Python 2 and 3
+* Pip (and other package managers)
+* Third party libaries such as `requests`, `BeautifulSoup`, `pandas`, `numpy`, etc...
+
+# Competency - Language Python - Level 2
+
+## How do you prove it?
+* For code you have submitted, your code reviews receive few syntactic corrections.
+* You can write code from memory without having to look up how you use language specific features.
+* You can describe the kinds of problems the language solves very well and the kinds of problems it's not a great fit for.
+* You understand packaging paradigms for the language for both publishing and dependency management.
+* You understand how to review third party libraries lifecycles and security implications.
+
+## How do you improve it?
+* Open many PRs
+* Syntax conventions: Read the PEP8 style guide: [https://www.python.org/dev/peps/pep-0008/](https://www.python.org/dev/peps/pep-0008/)
+
+## Key points of research
+* Virtualenv
+* [pipenv](https://github.com/pypa/pipenv)
+* List and dictionary comprehensions
+* Global interpreter lock
+* Lambdas
+* async/await
diff --git a/competencies/language-r.md b/competencies/language-r.md
new file mode 100644
index 00000000..7035fa3a
--- /dev/null
+++ b/competencies/language-r.md
@@ -0,0 +1,57 @@
+# Competency - Language R
+
+R is an open source and free programming environment for statistical computing, data science, and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.
+
+R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.
+
+R is an integrated suite of software facilities for data manipulation, calculation and graphical display which includes:
+
+* an effective data handling and storage facility,
+* a suite of operators for calculations on arrays, in particular matrices,
+* a large, coherent, integrated collection of intermediate tools for data analysis,
+* graphical facilities for data analysis and display either on-screen or on hard copy, and
+* a well-developed, simple and effective programming language which includes conditionals, loops, user-defined recursive functions and input and output facilities.
+
+Wikipedia: https://en.wikipedia.org/wiki/R_(programming_language)
+
+## How do you prove it?
+
+* You know how to install R on your machine (for instance using Anaconda).
+
+* You know in general how to use R-Studio for compiling your codes.
+
+* You can describe why R is useful specially for data science.
+
+* You can explain the advantages and disadvantages of R comparing to other programming languages, e.g. Python.
+
+* You know how R can be advantageous for predictive modeling and analysis.
+
+* You can create decision trees in R.
+
+* You know how to list preloaded datasets in R.
+
+* You can describe the different object and data types in R.
+
+* You know how to import data in R from CSV, JSON, and Text formats.
+
+* You know what is the use of `with()` and `by()` functions in R.
+
+* You know sorting algorithms in R and how to use them in any tabular data.
+
+## How do you improve it?
+
+* What is R? https://www.r-project.org/about.html
+
+* How to install R-Studio and use it: https://docs.rstudio.com/
+
+* R online course by Code Academy: https://www.codecademy.com/learn/learn-r
+
+* Introduction to R by Data Camp: https://www.datacamp.com/courses/free-introduction-to-r
+
+* R Programming by Coursera: https://www.coursera.org/learn/r-programming
+
+* Learn R Programming: https://www.datamentor.io/r-programming/
+
+* R Tutorial for Beginners: https://www.guru99.com/r-tutorial.html
+
+* Learning R for data science from HardvardX: https://www.edx.org/professional-certificate/harvardx-data-science
diff --git a/competencies/language-ruby.md b/competencies/language-ruby.md
new file mode 100644
index 00000000..b5446d46
--- /dev/null
+++ b/competencies/language-ruby.md
@@ -0,0 +1,30 @@
+# Competency - Language Ruby
+
+Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
+Ruby is most used for building web applications. However, it is a general-purpose language similar to Python, so it has many other applications like data analysis, prototyping, and proof of concepts. Probably the most obvious implementation of Ruby is Rails web, the development framework built with Ruby.
+
+## How do you prove it?
+
+For code you have submitted, your code reviews get little syntactic corrections.
+
+You can write code from memory without having to look up how you use language specific features.
+
+You can explain to someone the differences between this language and another language.
+
+You can describe the kinds of problem the language solves very well and the problems it's not a great fit for.
+
+You understand packaging paradigms for the language for both publishing and dependency management.
+
+You have a good understanding of the resources and where to go if you're stuck.
+
+You understand how third party libraries are used, access, their lifecycle and security implications.
+
+## How do you improve it?
+
+Do the tutorial: https://www.tutorialspoint.com/ruby/index.htm
+
+Memorize the cheatsheet: https://github.com/ThibaultJanBeyer/cheatsheets/blob/master/Ruby-Cheatsheet.md
+
+Learn Ruby on Rails framework: https://www.railstutorial.org/book
+
+Learn SOLID Principles: https://ieftimov.com/post/solid-principles-ruby/
diff --git a/Competencies/Competency-Language-Python.md b/competencies/language-scala.md
similarity index 56%
rename from Competencies/Competency-Language-Python.md
rename to competencies/language-scala.md
index d594d53e..e5eb89b2 100644
--- a/Competencies/Competency-Language-Python.md
+++ b/competencies/language-scala.md
@@ -1,4 +1,6 @@
-# Competency - Language Python
+# Competency - Language Scala
+
+Scala is a mix of OO and functional programming. It's based on the JVM and typesafe / static language.
## How do you prove it?
@@ -18,27 +20,7 @@ You understand how third party libraries are used, access, their lifecycle and s
## How do you improve it?
-Do Google's python class: [https://developers.google.com/edu/python/](https://developers.google.com/edu/python/)
-
-Write a lot of code
-
-Read the PEP8 style guide: [https://www.python.org/dev/peps/pep-0008/](https://www.python.org/dev/peps/pep-0008/)
-
-## Key points of research
-
-* Differences between Python 2 and 3
-
-* Lambdas
-
-* List and dictionary comprehensions
-
-* async/await
-
-* Global interpreter lock
-
-* Pip (and other package managers)
-
-* Virtualenv
-* Link to chris' startup slam talk
+Read the docs - https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html
+Do a tutorial - https://www.tutorialspoint.com/scala/index.htm
diff --git a/competencies/language-typescript.md b/competencies/language-typescript.md
new file mode 100644
index 00000000..02c07203
--- /dev/null
+++ b/competencies/language-typescript.md
@@ -0,0 +1,40 @@
+# Competency - Language TypeScript Level 1
+TypeScript is an open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. - [Wikipedia](https://en.wikipedia.org/wiki/TypeScript)
+
+## How do you prove it?
+* You can explain to someone the differences between this language and another language.
+* You have a good understanding of the resources and where to go if you're stuck.
+* You understand how third party libraries are used, accessed, and installed.
+* You have written and completed a demo-able project in this language.
+
+## How do you improve it?
+Read the TypeScript documentation directly [here](https://www.typescriptlang.org/docs/home.html).
+
+## Key points of research
+* Differences between TypeScript & JavaScript
+* Interfaces
+* async/await
+* Decorators
+* Extends and Implements
+* Use Generics
+* Unions && Discriminated Unions
+
+# Competency - Language TypeScript Level 2
+
+## How do you prove it?
+* For code you have submitted, your code reviews receive few syntactic corrections.
+* You can write code from memory without having to look up how you use language specific features.
+* You can describe the kinds of problems the language solves very well and the kinds of problems it's not a great fit for.
+* You understand packaging paradigms for the language for both publishing and dependency management.
+* You understand how to review third party libraries lifecycles and security implications.
+* You use `??` over `||` ?
+* You use `object?.object?.property` instead of `object && object.object && object.object.property`
+
+## How do you improve it?
+* Open many PRs
+* Learn about [npm](https://www.npmjs.com/)
+* Learn about [Declaration Files](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html) and [DefinitelyTyped](http://definitelytyped.org/)
+* Understand one way you can *sort of* simulate runtime type checking using TypeScript (type guards)
+* Why are `switch` statements on union types often better than a traditional `if/else` ?
+* Why should you avoid the `default case` on said `switch` statement ?
+* Keep up to date on TypeScript releases
\ No newline at end of file
diff --git a/competencies/launch-darkly.md b/competencies/launch-darkly.md
new file mode 100644
index 00000000..ad241d5d
--- /dev/null
+++ b/competencies/launch-darkly.md
@@ -0,0 +1,26 @@
+# Competency - Launch Darkly
+
+Launch Darkly is a feature flag management tool as a service.
+
+## How do you prove it?
+
+You can explain 3 use cases for a feature flag.
+
+You can describe the architecture of launch darkly.
+
+You can explain why the proxy might be used.
+
+You can log in to launch darkly and create a flag and explain all the ways you can trigger a flag.
+
+You can find launched flags and find code references to the flags.
+
+You can build code that uses a launch darkly feature flag in Golang and Javascript.
+
+## How do you improve it?
+
+Go through the getting started guide: https://docs.launchdarkly.com/home/getting-started
+
+Learn the architecture: https://launchdarkly.com/features/enterprise-grade-architecture
+
+Learn the dashboard and UI: https://launchdarkly.com/blog/launched-code-references
+
diff --git a/competencies/leading.md b/competencies/leading.md
new file mode 100644
index 00000000..580b26e1
--- /dev/null
+++ b/competencies/leading.md
@@ -0,0 +1,21 @@
+# Competency - Leading
+Leaders lift up those around them, providing resources and direction to overcome obstacles. They value the team and are the first to step up when there is a challenge that needs to be addressed. They keep the sense of safety and trust in place between all members of the team.
+
+Leading is about setting a good example, always doing your best to model proactive and productive interactions.
+
+When things go wrong, a leader takes responsibility and doesn't blame others. When things go right, a leader celebrates the team's win.
+
+## How do you prove it?
+
+* Your language reflects this attitude, when things go wrong you say "I screwed up" when things go right you say "the team did an amazing thing".
+
+* In meetings when the team is unsure of what direction you step up to encourage a choice and take ownership of any problems that may occur down this path.
+
+* You are trustworthy and reliable and folks don't have issue bringing things to you which is reflected in your peer reviews and manager reviews.
+
+## How do you improve it?
+
+* Have a mentor: someone that you're able to bounce ideas off of and talk through challenging situations with.
+
+* Watch Simon Sinek [why leaders eat last](https://www.youtube.com/watch?v=ReRcHdeUG9Y)
+
diff --git a/Competencies/Competency-Linux-Bash.md b/competencies/linux.md
similarity index 98%
rename from Competencies/Competency-Linux-Bash.md
rename to competencies/linux.md
index d6e33617..26d277fc 100644
--- a/Competencies/Competency-Linux-Bash.md
+++ b/competencies/linux.md
@@ -1,4 +1,4 @@
-# Competency - Linux/Bash
+# Competency - Linux
All of our infrastructure and development environments are based in Unix so proficiency here is very important. Linux is an open source variant of Unix based on Linus Torvalds' kernel.
diff --git a/competencies/machine-learning.md b/competencies/machine-learning.md
new file mode 100644
index 00000000..da7ea67c
--- /dev/null
+++ b/competencies/machine-learning.md
@@ -0,0 +1,60 @@
+# Competency - Machine Learning
+
+Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on the development of computer programs that can access data and use it learn for themselves. The process of learning begins with observations or data, such as examples, direct experience, or instruction, in order to look for patterns in data and make better decisions in the future based on the examples that we provide. The primary aim is to allow the computers learn automatically without human intervention or assistance and adjust actions accordingly.
+
+Useful Links:
+
+- Wikipedia: https://en.wikipedia.org/wiki/Machine_learning
+- MIT Tech Review: https://www.technologyreview.com/2018/11/17/103781/what-is-machine-learning-we-drew-you-another-flowchart/
+- An Introduction to ML: https://towardsdatascience.com/machine-learning-an-introduction-23b84d51e6d0
+
+## How do you prove it?
+
+- You have strong background in mathematics, probabilities, and statistics.
+
+- You can answer what is Supervised Learning, Unsupervised Learning, Semi-supervised Learning, and Reinforcement Learning.
+
+- You know what are neural networks and how they work.
+
+- Given a set of data such as images, videos, text, time-series, or any signal, you know:
+ - How to design and model regression analysis algorithms on the data.
+ - How to cluster your data using clustering algorithms such as K-Means, Fuzzy C-means, and Genetic algorithms.
+ - How to reduce the dimension of your data using dimension reduction algorithms such as Principal Component Analysis.
+ - What is Bayes rule in probabilities and how to design and model Bayesian networks on the data.
+ - How to design and model classification algorithms in general.
+
+- You are familiar with the concept of regularization.
+
+- You know how to clean your data in order to use in ML algorithms.
+
+- You know what is Deep Learning, and what are differences between ML and DL.
+
+- You are familiar with Convolutional Neural Networks, their architectures, and how they work.
+
+- You are familiar with Auto-encoders, their architectures, and what they can be used for.
+
+- You are familiar with Recurrent Neural Networks, their architectures, and main differences of them with CNN.
+
+- You know at least one ML and DL framework such TensorFlow, Torch, Keras, Scikit-learn, Caffe, Caffe2, etc. and how to work with them.
+
+- You are familiar with Amazon AWS ML frameworks such SageMaker and Google Cloud AutoML.
+
+## How do you improve it?
+
+- ML by Andrew NG: https://www.coursera.org/learn/machine-learning
+
+- MIT machine learning short online course: https://executive-education-online.mit.edu/presentations/lp/mit-machine-learning-online-short-course
+
+- edX online courses in machine learning: https://www.edx.org/learn/machine-learning
+
+- Deep Learning online courses: https://www.deeplearning.ai/
+
+- Machine Learning A-Z™: Hands-On Python & R In Data Science: https://www.udemy.com/course/machinelearning
+
+- Applied Machine Learning at Columbia University: https://execed.cvn.columbia.edu/applied-machine-learning
+
+- Machine Learning, Data Science and Deep Learning with Python by Udemy: https://www.udemy.com/course/data-science-and-machine-learning-with-python-hands-on
+
+- What is SageMaker: https://aws.amazon.com/machine-learning/accelerate-amazon-sagemaker/
+
+- Learn AutoML: https://cloud.google.com/automl/
diff --git a/competencies/make.md b/competencies/make.md
new file mode 100644
index 00000000..d9e5a363
--- /dev/null
+++ b/competencies/make.md
@@ -0,0 +1,22 @@
+# Competency - make
+
+Make is a build automation tool that automatically builds executable programs
+and libraries by reading files called `Makefiles`. Besides building programs,
+Make can be used to manage any project where some files must be updated automatically
+from others whenever the others change.
+
+## How do you prove it?
+
+* For code you have submitted, your code reviews get little syntactic corrections
+* You understand target order execution
+* You can write multiline commands and understand what are implications of make executing each line in separate shell
+* You understand what is phony target
+* You can use Variables
+* You can use Wildcard
+* You can write Functions
+* You can present a makefile you have
+
+## How do you improve it?
+
+* [GNU Make](https://www.gnu.org/software/make/manual/make.html#toc-Overview-of-make)
+ * [Automatic Variables](https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html)
diff --git a/competencies/meetings.md b/competencies/meetings.md
new file mode 100644
index 00000000..e4e75781
--- /dev/null
+++ b/competencies/meetings.md
@@ -0,0 +1,79 @@
+# Competency - Meetings
+
+Two or more people come together to do one of the following:
+Share information, Make some strategic decision, Tackle a tough problem, Cross department alignment, Retrospectives, Team planning
+
+This document talks about how do you run a successful meeting, the advanced section talks about specific types of meeting / meeting skills.
+
+## How do you prove it?
+
+* Your meeting invites have an agenda shared in advance, outlining the purpose of having the meeting and the goals of the meeting.
+* When you start a meeting you clearly articulate what the meeting is for at a high level.
+* Your meeting is structured with assigned roles, from the start of the meeting:
+ * Who is running the meeting. (Chair)
+ * Who is making sure remote participants have a voice. (Remote-connector)
+ * Who is taking notes. (Notetaker, idealy not the same as the Chair)
+* Your meetings have action items and notes.
+* Your meetings have an appropriate amount of time.
+* You book a meeting room when appropriate.
+* You check people's calendars before you book the meeting and talk to people with conflicts before scheduling.
+* Your meetings get good feedback about their usefulness.
+* Show that you can invite optional attendees and non-optional. (If in doubt, mark the attendee as optional.)
+* You've sent out a summary and notes after the meeting to the attendees.
+
+## How do you improve it?
+
+* Organize meetings, practice.
+* Ask people if they found the meeting useful.
+* Organize meeting note, making sure they aren't too long. Rather, meeting notes capture two things: outcomes/decisions, and action items. That is: what did we decide, and what are we doing next to act on those decisions?
+* Post the poll in slack after a meeting.
+```
+/poll "How was that meeting?" "I always want to be in this meeting I get enormous value from it" "I sometimes get value from this meeting... please add ideas for improvement below" "I think this meeting would be better if... please add ideas for improvement below" "I don't think I need to be in this meeting"
+```
+
+* Get familiar with the keyboard shortcuts: Toggling mute (CMD+d for mac users)
+* Use extensions like [Meet Mute](https://chrome.google.com/webstore/detail/meet-mute/dkgoclojlihiolngeagmhkjiglmoeeic?hl=en) and setup the keyboard shortcuts for toggling mute.
+
+**Running Meetings**
+
+Meetings are one of the most effective ways in which we work together. It's crucial that we ensure that we use the time well.
+
+* If you scheduled the meeting, you are the chair unless you've delegated this role to someone else
+* It is up to the chair to ensure someone is taking notes
+* It is the chair's responsibility to ensure that the meeting agenda items are covered and to be timekeeper
+* It is the responsibility of each attendee to review the agenda prior to the meeting and read the relevant material or topics.
+
+**Meeting Notes**
+Meeting notes aren't a long transcription of the meeting, or what was said. Rather, meeting notes capture two things: outcomes/decisions, and action items. That is: what did we decide, and what are we doing next to act on those decisions? See below.
+Here are the expectations for meeting notes:
+
+* Must include:
+ * Meeting topic and the agenda
+ * Attendees
+ * Date
+ * **Action items/next steps**
+ * **Decisions made**
+ * Optional: more detailed notes. Keep in mind that meeting notes can be as simple as a photo of your notebook page with your handwritten action items! (Don't overthink it).
+* Meeting notes are shared with the attendees, but also with any stakeholder on the [RACI](https://drive.google.com/open?id=1-rUFy-EBIfUtu76PEB6DZavOsu3VZYxj) chart for the project
+* Meeting notes are easy to find for anyone interested who is looking for them (ideally, without having to ask)
+* Shared same day as the meeting unless otherwise discussed with the group
+* Ask yourself: if you were on vacation for a week and returned, would you be able to know that this meeting occurred and find the notes easily?
+
+
+## Level 2
+
+Have achieved all the things for the basic competency and additionally can administer run specific types of meetings.
+
+## How do you prove it?
+
+* You can run a retrospective to gather feedback about process improvement.
+* You can run a post-mortem effectively to gather feedback about an event.
+* You can run brainstorming meetings with several people.
+
+## How do you improve it?
+
+For post-mortems learn about being a blameless facilitator: [https://extfiles.etsy.com/DebriefingFacilitationGuide.pdf](https://extfiles.etsy.com/DebriefingFacilitationGuide.pdf) "The problem comes when the pressure to fix outweighs the pressure to learn."
+
+Read the Six thinking hats - to facilitate meeting speed and helping different characters contribute. - [https://www.amazon.com/Six-Thinking-Hats-Edward-Bono/dp/0316178314](https://www.amazon.com/Six-Thinking-Hats-Edward-Bono/dp/0316178314)
+
+Run a retrospective with the engineering team.
diff --git a/Competencies/Competency-Mentoring.md b/competencies/mentoring.md
similarity index 95%
rename from Competencies/Competency-Mentoring.md
rename to competencies/mentoring.md
index 1a623eb9..1d7663a2 100644
--- a/Competencies/Competency-Mentoring.md
+++ b/competencies/mentoring.md
@@ -28,5 +28,5 @@ Mentoring has a lot of overlap with leading, but can be done at a more microscop
* Schedule time to do mentoring work. A lot of mentoring is giving over time and the mentee will rarely ask for it.
-* Volunteer for mentor positions - Ladies learning code, VicJS, Concat Meetup, HackUVic, BattleSnake, etc?.
+* Volunteer for mentor positions - Ladies learning code, Concat Meetup, BattleSnake, etc...
diff --git a/competencies/miro.md b/competencies/miro.md
new file mode 100644
index 00000000..489c04bb
--- /dev/null
+++ b/competencies/miro.md
@@ -0,0 +1,38 @@
+# Competency - Miro
+
+We use Miro as our shared whiteboarding tool. It does much more than that though.
+
+## How do you prove it?
+
+You can create a shape and duplicate it without copy/pasting.
+
+You can create 5 items and alight them to the left, and distribute them horizontally.
+
+You can lock those items.
+
+You can group and ungroup items.
+
+You can create a frame and get the sharable link for a frame.
+
+You can bulk create sticky notes.
+
+You can import a template.
+
+You can create a template.
+
+You can find an icon.
+
+Run a voting session.
+
+Create a screen share.
+
+Leave a comment and tag a user with it.
+
+Import an Asana Task board.
+
+You can link objects together with arrows.
+
+## How do you improve it?
+
+Miro is pretty intuitive for most actions. For those items that aren't, here are some tutorials:
+https://www.youtube.com/user/RealtimeBoardEng/videos
diff --git a/competencies/ml-framework-keras.md b/competencies/ml-framework-keras.md
new file mode 100644
index 00000000..45619c25
--- /dev/null
+++ b/competencies/ml-framework-keras.md
@@ -0,0 +1,45 @@
+# Competency - ML Framework - Keras
+
+Keras is an open-source neural-network library written in Python. It is capable of running on top of TensorFlow, Microsoft Cognitive Toolkit, R, Theano, or PlaidML. Designed to enable fast experimentation with deep neural networks, it focuses on being user-friendly, modular, and extensible. It was developed as part of the research effort of project ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System), and its primary author and maintainer is François Chollet, a Google engineer. In general Keras is a layer of using backend frameworks in an easier and faster manner for experiments, research, as well as production.
+
+Read more:
+- Wikipedia: https://en.wikipedia.org/wiki/Keras
+- What is Keras: https://www.infoworld.com/article/3336192/what-is-keras-the-deep-neural-network-api-explained.html
+
+## How do you prove it?
+
+- You know, in general, what is the main reason developers use Keras on top of core backend frameworks.
+
+- You know what backend framework you are using in your Keras library.
+
+- You know how to use Keras in Google Colab.
+
+- You know the differences of Keras and tf.keras, specially in production.
+
+- You know how to design, develop, and implement ML models in general in Keras on TF backend.
+
+- You know how to develop and implement Big Data and Data Science algorithms in Keras on R backend.
+
+- You know how to design and model Computer Vision deep neural networks for classification, segmentation, and feature extraction in Keras.
+
+- You know how to develop Natural Language Processing algorithms in Keras for feature extraction from text datasets and voice signals.
+
+- You know how to load a pre-trained network in Keras, modify it, and contribute to it in order to enhance its performance.
+
+- You know how to design and model CNN, RNN, MemNN, Convolutional LSTM, bi-directional LSTM, and GAN models in Keras.
+
+## How do you improve it?
+
+- Keras documentation: https://keras.io/
+
+- Keras tutorial: https://www.guru99.com/keras-tutorial.html
+
+- TF Keras overview: https://www.tensorflow.org/guide/keras/overview
+
+- Keras cheat sheet: https://www.datacamp.com/community/blog/keras-cheat-sheet
+
+- Deep Learning with Python and Keras online course by Udemy: https://www.udemy.com/course/deep-learning-with-python-and-keras
+
+- Learn Keras with edX: https://www.edx.org/learn/keras
+
+- Deep Learning with Keras in Pluralsight: https://www.pluralsight.com/courses/keras-deep-learning
diff --git a/competencies/ml-framework-mxnet.md b/competencies/ml-framework-mxnet.md
new file mode 100644
index 00000000..9aa3f20f
--- /dev/null
+++ b/competencies/ml-framework-mxnet.md
@@ -0,0 +1,58 @@
+# Competency - ML Framework - MXNet
+
+Apache MXNet is an open-source machine learning software framework used to train and deploy deep neural networks. It is scalable, allowing for fast model training, and supports a flexible programming model and multiple programming languages (including C++, Python, Java, Julia, Matlab, JavaScript, Go, R, Scala, Perl, and Wolfram Language).
+The MXNet library is portable and can scale to multiple GPUs and multiple machines. MXNet is supported by public cloud providers including Amazon Web Services (AWS) and Microsoft Azure. Amazon has chosen MXNet as its deep learning framework of choice at AWS. As of May 2020, MXNet is supported by Intel, Baidu, Microsoft, Wolfram Research, and research institutions such as Carnegie Mellon, MIT, the University of Washington, and the Hong Kong University of Science and Technology.
+You may wonder over the need of MXNet when other deep learning frameworks like TensorFlow, Torch, Keras, etc. already existed? The problem with existing deep learning frameworks is that the users need to learn another system for a different programming flavor. MXNet solves this issue, as it is a successful deep learning framework which excels in Programmability, Portability, and Scalability.
+As a high level and high performance API in MXNet, "Gluon" provides a clear, concise API for defining machine learning models using a collection of pre-built, optimized neural network components. Developers who are new to machine learning will find this interface more familiar to traditional code, since machine learning models can be defined and manipulated just like any other data structure. More seasoned data scientists and researchers will value the ability to build prototypes quickly and utilize dynamic neural network graphs for entirely new model architectures, all without sacrificing training speed.
+
+- Wikipedia: https://en.wikipedia.org/wiki/Apache_MXNet
+
+## How do you prove it?
+
+- You understand when to use MXNet over other frameworks.
+
+- You know the general differences of hardware consumption using MXNet over other frameworks.
+
+- You know how to install MXNet on your local or cloud machine using PIP, Docker, and source code.
+
+- You know how to use CUDA-enabled version of MXNet on GPU (Nvidia) machines.
+
+- You know how to get access to model zoo in MXNet, and load predefined models and networks from it.
+
+- You know how to work with Gluon APIs (GluonCV, GluonNLP, and GluonTS) in MXNet.
+
+- You know how to build, modify, and develop object detection models in MXNet.
+
+- You know how to build and develop Generative Adversarial Networks in MXNet.
+
+- You know how to load and build Neural Machine Translators with MXNet.
+
+- You know how to build and develop recurrent neural networks such as LSTM and Transformers with MXNet.
+
+- You know how to fine-tune your developed network or loaded network in MXNet.
+
+- You have a comprehensive understanding of using different optimizers in MXNet.
+
+- You know how to build and deploy custom networks using MXNet.
+
+- You know how to use MXNet in Microsoft Azure ML Studio.
+
+- You know in general how to use MXNet in AWS SageMaker.
+
+## How do you improve it?
+
+- MXNet official reference for multiple programming languages: https://mxnet.apache.org/api
+
+- Gluon API GitHub: https://github.com/gluon-api/gluon-api/
+
+- Coursera online course for MXNet and Gluon: https://www.coursera.org/lecture/aws-computer-vision-gluoncv/apache-mxnet-QBhJq
+
+- Deep Learning using MXNet by Pluralsight: https://www.pluralsight.com/courses/apache-mxnet-building-deep-learning-models
+
+- Using Gluon in AWS: https://aws.amazon.com/blogs/machine-learning/introducing-gluon-an-easy-to-use-programming-interface-for-flexible-deep-learning/
+
+- Applied DL with MXNet by O'Reilly: https://www.oreilly.com/live-training/courses/applied-deep-learning-for-coders-with-apache-mxnet/0636920252047/
+
+- What is MXNet: https://becominghuman.ai/mxnet-what-is-it-and-how-to-get-started-52efd9cb52cf
+
+- An overview on Gluon: https://www.welcome.ai/tech/deep-learning/gluon
diff --git a/competencies/ml-framework-pytorch.md b/competencies/ml-framework-pytorch.md
new file mode 100644
index 00000000..e3d6a4a4
--- /dev/null
+++ b/competencies/ml-framework-pytorch.md
@@ -0,0 +1,43 @@
+# Competency - ML Framework - PyTorch
+
+PyTorch is an open source machine learning library used for developing and training neural network based deep learning models. It is primarily developed by Facebook’s AI research group. PyTorch is written in Lua and can be used with Python as well as C++/Java. Naturally, the Python interface is more polished. PyTorch (backed by biggies like Facebook, Microsoft, SalesForce, Uber) is immensely popular in research labs. Not yet on many production servers — that are ruled by frameworks like TensorFlow (Backed by Google) — PyTorch is picking up fast.
+Unlike most other popular deep learning frameworks like TensorFlow, which use static computation graphs, PyTorch uses dynamic computation, which allows greater flexibility in building complex architectures. PyTorch uses core Python concepts like classes, structures and conditional loops — that are a lot familiar to our eyes, hence a lot more intuitive to understand. This makes it a lot simpler than other frameworks like TensorFlow that bring in their own programming style.
+
+Useful links:
+- Wikipedia:
+ - https://en.wikipedia.org/wiki/Torch_(machine_learning)
+ - https://en.wikipedia.org/wiki/PyTorch
+- GitHub: https://github.com/pytorch
+- PyTorch 60 Minute: https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
+
+## How do you prove it?
+
+- You know how to install `torch` and `torchvision` on your platform with proper hardware configurations (CPU and GPU machines).
+
+- You know how to use light torch in Docker containers for improving model performance.
+
+- You know how to import pre-written torch.nn models and develop them in your project.
+
+- You know how to use `torchvision`, `torchaudio`, and `torchtext` datasets to develop ML models.
+
+- You know how to design vision deep neural networks in torch for object classification, object segmentation, and edge detection.
+
+- You know how to design and develop NLP neural networks such as RNNs and bi-directional RNNs for text feature extraction.
+
+- You know how to design and implement noise reduction auto encoders in torch.
+
+- You know how to use torch in AWS SageMaker and Azure Machine Learning Studio.
+
+- You know how to load a pre-trained network in torch and enhance its performance using custom datasets.
+
+## How do you improve it?
+
+- PyTorch Docs: https://pytorch.org/docs/stable/index.html
+
+- Intro to Deep Learning with PyTorch by Udacity: https://www.udacity.com/course/deep-learning-pytorch--ud188
+
+- Practical Deep Learning with PyTorch online course by Udemy: https://www.udemy.com/course/practical-deep-learning-with-pytorch
+
+- Building Deep Learning Models using PyTorch by Pluralsight: https://www.pluralsight.com/courses/pytorch-building-deep-learning-models
+
+- PyTorch trilogy online courses by edX: https://www.edx.org/learn/pytorch
diff --git a/competencies/ml-framework-scikit-learn.md b/competencies/ml-framework-scikit-learn.md
new file mode 100644
index 00000000..2919bed7
--- /dev/null
+++ b/competencies/ml-framework-scikit-learn.md
@@ -0,0 +1,41 @@
+# Competency - ML Framework - Scikit Learn
+
+If you are a Python programmer or you are looking for a robust library you can use to bring machine learning into a production system then a library that you will want to seriously consider is scikit-learn. It provides a range of supervised and unsupervised learning algorithms via a consistent interface in Python. It is licensed under a permissive simplified BSD license and is distributed under many Linux distributions, encouraging academic and commercial use. The library is built upon the SciPy (Scientific Python) that must be installed before you can use scikit-learn. This stack that includes NumPy - Base n-dimensional array package, SciPy - Fundamental library for scientific computing, Matplotlib - Comprehensive 2D/3D plotting and visualization, IPython - Enhanced interactive console, Sympy - Symbolic mathematics, and Pandas - Data structures and analysis.
+
+- Wikipedia: https://en.wikipedia.org/wiki/Scikit-learn
+
+## How do you prove it?
+
+- You know the advantages of using Scikit-learn over other DL frameworks.
+
+- You know how to install scikit-learn on your local or cloud machine using PIP and Anaconda.
+
+- You know where to use `scikit-learn` and where to use `sklearn` in your code. (fun fact)
+
+- You know how to define, build, develop, and implement classification algorithms such as support vector machines, nearest neighbors, random forests, and Bayesian networks for visual and text applications.
+
+- You know how to build and develop regression algorithms such as support vector regression for numerical data.
+
+- You know how to design clustering algorithms such as k-means, spectral, fuzzy c-means, mean-shift on numerical data.
+
+- You have strong background in using dimensionality reduction algorithms such as principal component analysis.
+
+- You know how to use model selection algorithms such as cross validation and grid search on numerical and visual data.
+
+- You know how to preprocess your data using scikit-learn (feature extraction, normalization, data cleaning, etc.)
+
+- You know how to build and develop neural networks (for supervised and unsupervised applications) using scikit-learn.
+
+- You know how to use scikit-learn for parallelism and resource management in your ML application.
+
+## How do you improve it?
+
+- Scikit-learn official tutorial: https://scikit-learn.org/stable/tutorial/index.html
+
+- Scikit-learn GitHub source code: https://github.com/scikit-learn/scikit-learn
+
+- Python ML with Scikit-learn by DataCamp: https://www.datacamp.com/community/tutorials/machine-learning-python
+
+- Coursera online courses for Scikit-learn: https://www.coursera.org/collections/scikit-learn-machine-learning-projects
+
+- Scikit-learn tutorial by DataQuest: https://www.dataquest.io/blog/sci-kit-learn-tutorial/
diff --git a/competencies/ml-framework-tensorflow.md b/competencies/ml-framework-tensorflow.md
new file mode 100644
index 00000000..4cb63a65
--- /dev/null
+++ b/competencies/ml-framework-tensorflow.md
@@ -0,0 +1,55 @@
+# Competency - ML Framework - TensorFlow
+
+TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications. TensorFlow was developed by the Google Brain team for internal Google use. It was released under the Apache License 2.0 on November 9, 2015. Google created TensorFlow to replace Theano. The two libraries are in fact quite similar. Some of the creators of Theano, such as Ian Goodfellow, went on to create TensorFlow at Google before leaving for OpenAI.
+
+Useful links:
+- Wikipedia: https://en.wikipedia.org/wiki/TensorFlow
+- YouTube: https://www.youtube.com/channel/UC0rqucBdTuFTjJiefW5t-IQ
+
+## How do you prove it?
+
+- You know the reason of using TensorFlow (TF) in Machine Learning, and specially in production.
+
+- You know how to install a proper version of TF on a machine (CPU or GPU).
+
+- You know pros and cons of using TF over the other frameworks.
+
+- You know the differences of TF and TF lite, and pros and cons of each for production.
+
+- You know the pipeline of designing a general ML model in TF.
+
+- You know the differences of TF v1 and v2, as well as pros and cons of each.
+
+- You know how to use TF on GPU machines with optimum performance of your model.
+
+- You know how to implement basic ML algorithms such as Bayesian networks, decision trees, deep-belief networks, regression, etc. using TF.
+
+- You know how to grab benchmark open source datasets in TF, and develop classification models on them.
+
+- You know how to implement Convolutional Neural Networks on custom datasets in TF.
+
+- You know how to implement segmentation models such as Mask RCNN on image datasets in TF.
+
+- You know how to design and develop Auto encoders using TF.
+
+- You know how to develop edge detection models on image datasets in TF.
+
+- You know how to develop Recurrent Neural Networks on text-based datasets and time-series signals in TF.
+
+- You know, specifically, how to design, develop, and implement LSTM in TF on text datasets for NLP applications.
+
+- You know how to develop attention mechanism and memory networks in TF.
+
+- How know how to design, develop, and implement Generative Adversarial Networks using TF.
+
+## How do you improve it?
+
+- Introduction to TensorFlow: https://www.tensorflow.org/learn
+
+- TF GitHub Repo: https://github.com/tensorflow/tensorflow
+
+- Deep Learning with TensorFlow 2.0 online course by Udemy: https://www.udemy.com/course/machine-learning-with-tensorflow-for-business-intelligence
+
+- TensorFlow: Data and Deployment Specialization online course by Coursera: https://www.coursera.org/specializations/tensorflow-data-and-deployment
+
+- Pluralsight online tutorial for TF: https://www.pluralsight.com/courses/tensorflow-getting-started
diff --git a/competencies/natural-language-processing.md b/competencies/natural-language-processing.md
new file mode 100644
index 00000000..f08a86fc
--- /dev/null
+++ b/competencies/natural-language-processing.md
@@ -0,0 +1,72 @@
+# Competency - Natural Language Processing
+
+Natural language processing (NLP) is a subfield of linguistics, computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts of natural language data.
+Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation.
+
+* Wikipedia: https://en.wikipedia.org/wiki/Natural_language_processing
+
+A few examples of NLP that still are hot topics in research are:
+
+- Spell check
+- Autocomplete
+- Voice text messaging
+- Spam filters
+- Related keywords on search engines
+- Voice detection and translation, such as Siri, Alexa, or Google Assistant
+
+In any case, the computer is able to identify the appropriate word, phrase, or response by using context clues, the same way that any human would. Conceptually, it’s a fairly straightforward technology.
+Where NLP outperforms humans is in the amount of language and data it’s able to process. Therefore, its potential uses go beyond the examples above and make possible tasks that would’ve otherwise taken employees months or years to accomplish.
+
+## How do you prove it?
+
+* You can define NLP terminology.
+
+* You know the most significant components of NLP.
+
+* You know what is TF-IDF and how to implement it in at least a programming language, e.g. Python.
+
+* You know what Part of Speech Tagging is and what applications it has.
+
+* You can implement Lemmatization in a sample text dataset.
+
+* You know what Stemming in NLP is and how it can benefit text processing.
+
+* You know how to parse the context in a sample data using NLP.
+
+* You can implement feature extraction mostly on text datasets.
+
+* You know what Natural Language Toolkit (NLTK) is and how to use it for text and speech processing.
+
+* You can explain what the differences are between NLP and Conversational Interfaces.
+
+* You can define, develop, and implement Long Short-term Memory Networks for text processing and speech recognition in general.
+
+* You know what NER (Named Entity Recognition) is and where it can be used.
+
+* You know what `word2vec` function is and how it would be used for text classification.
+
+* You know what the metrics to test an NLP model are (e.g. recall, precision, and f1 score) and you can define each of them.
+
+* You are familiar with `CoreNLP`, `SpaCy`, and `TextBlob` libraries.
+
+* You can develop Convolutional Neural Networks (CNN) and Recurrent Neural Networks (RNN) for text classification, generation, and speech processing.
+
+* You know the most powerful NLP algorithm by Google, i.e. BERT (Bidirectional Encoder Representations from Transformers), and how to implement and develop it in your programming language (generally in Python).
+
+* You are familiar with `Retrieval based` and `Generative` models used for building chat bots.
+
+## How do you improve it?
+
+* NLTK book: https://www.nltk.org/book/
+
+* Natural Language Processing Specialization: https://www.deeplearning.ai/natural-language-processing-specialization/ (The most recent and helpful online course in this area)
+
+* Getting started with NLP with Python by Pluralsight: https://www.pluralsight.com/courses/python-natural-language-processing
+
+* Learn Natural Language Processing by Coursera: https://www.coursera.org/learn/language-processing
+
+* Applied Text Mining in Python: https://www.coursera.org/learn/python-text-mining
+
+* Learn NLP by Code Academy: https://www.codecademy.com/learn/natural-language-processing
+
+* NLP - Natural Language Processing with Python by Udemy: https://www.udemy.com/course/nlp-natural-language-processing-with-python/
diff --git a/Competencies/Competency-Negotiating.md b/competencies/negotiating.md
similarity index 100%
rename from Competencies/Competency-Negotiating.md
rename to competencies/negotiating.md
diff --git a/Competencies/Competency-Office-Management.md b/competencies/office-management.md
similarity index 100%
rename from Competencies/Competency-Office-Management.md
rename to competencies/office-management.md
diff --git a/Competencies/Competency-Manager-One-on-Ones.md b/competencies/one-on-ones.md
similarity index 73%
rename from Competencies/Competency-Manager-One-on-Ones.md
rename to competencies/one-on-ones.md
index c9a55f9c..e0d0c714 100644
--- a/Competencies/Competency-Manager-One-on-Ones.md
+++ b/competencies/one-on-ones.md
@@ -1,4 +1,4 @@
-# Competency - Manager One on Ones
+# Competency - One on Ones
A key facet of working and leading a team is performing one on one check-ins with
@@ -14,33 +14,26 @@ that communication is flowing in and out of your team adequately.
* Scheduled and in your calendar weekly.
-* You can be trusted to disseminate information to your direct reports
-
-* Issues from folks you're responsible for are surfaced appropriately
-
-* Team members feel comfortable chatting through issues
+* You can talk through 2 issues in the past that have been surfaced in one on ones that you have resolved before they became a disaster.
* You have a 6 month plan to help them in their careers which you reference in your one on ones
* You get good scores in your manager review.
-## How do you improve it?
+* You have done 2 one on ones with every member of your team.
-[http://randsinrepose.com/archives/the-update-the-vent-and-the-disaster/](http://randsinrepose.com/archives/the-update-the-vent-and-the-disaster/) Great
+## How do you improve it?
-blog post about how to do good one on ones.
+[http://randsinrepose.com/archives/the-update-the-vent-and-the-disaster/](http://randsinrepose.com/archives/the-update-the-vent-and-the-disaster/) Great blog post about how to do good one on ones.
Read: [The One Minute Manager](https://www.amazon.ca/Minute-Manager-Kenneth-Blanchard-Ph-D/dp/074350917X) by Ken Blanchard
Book: [Managing Humans](https://www.amazon.com/Managing-Humans-Humorous-Software-Engineering/dp/1430243147) by Michael Lopp.
-Chat about careers: [https://docs.google.com/document/d/11k-bw9yGIBb4oPLCubaL_Xng991a5KAtgJ7PqRTzAgs](https://docs.google.com/document/d/11k-bw9yGIBb4oPLCubaL_Xng991a5KAtgJ7PqRTzAgs)
-
-Learn how to give good feedback:
-
-https://docs.google.com/document/d/1B7UfY5ddD1cJ8JPxD-mEAhHkLSjbCf6L_Wgrt56BIV8/edit#
-
Some sample questions: [https://blog.cultureamp.com/great-one-on-one-meeting-questions?utm_campaign=Newsletter&utm_source=hs_email&utm_medium=email&utm_content=62891207&_hsenc=p2ANqtz-9E8qS0pFFa3z2riJA8nZ-PUT_F-TRKqqtDzHh8S-m0zzynx7gKGBMsUeSfN5DfnsfxBZ1nENruBiwQIU6KCPqJ5RuohQ&_hsmi=62896073](https://blog.cultureamp.com/great-one-on-one-meeting-questions?utm_campaign=Newsletter&utm_source=hs_email&utm_medium=email&utm_content=62891207&_hsenc=p2ANqtz-9E8qS0pFFa3z2riJA8nZ-PUT_F-TRKqqtDzHh8S-m0zzynx7gKGBMsUeSfN5DfnsfxBZ1nENruBiwQIU6KCPqJ5RuohQ&_hsmi=62896073)
Feedback: [https://blog.cultureamp.com/employee-feedback-examples](https://blog.cultureamp.com/employee-feedback-examples)
+Ensure your team members feel comfortable chatting through issues.
+
+Disseminate information to your direct reports.
diff --git a/Competencies/Competency-OpsGenie.md b/competencies/opsgenie.md
similarity index 100%
rename from Competencies/Competency-OpsGenie.md
rename to competencies/opsgenie.md
diff --git a/competencies/part-of-successful-projects.md b/competencies/part-of-successful-projects.md
new file mode 100644
index 00000000..88fb38d0
--- /dev/null
+++ b/competencies/part-of-successful-projects.md
@@ -0,0 +1,42 @@
+# Part of Successful Projects
+
+Part of your job is to move the company in the right direction and this is usually in segments of work called projects.
+While we don't expect all your projects to be a success, we do expect you to be part of successful projects.
+It is everyones responsibility to ensure that the projects you are a part of are successful. If you think a project
+is not going to be a success you should tell people about it.
+
+## How do you prove it?
+
+- You have been on 2 successful projects and can articulate why they were successful and what risks were mitigated
+during the life of the project
+
+## How do you improve it?
+
+- Get on projects and try it out.
+
+- Ask people who have been on successful projects what they think leads to success.
+
+- Learn about the general risks to project timelines.
+
+- Learn a productivity methodology like Getting Things Done (GTD)
+
+- You have experiences raising the alarm when you think a project is at risk, talking with the project sponsors and team leads effectively
+communicating what you think is at risk and how to work around the risk.
+
+## Level 2
+
+### How do you prove it?
+
+- You have been on 4 successful projects and can articulate why they were successful and what risks were mitigated
+during the life of the project
+
+- You have been on a disaster project and can articulate why it went off the rails.
+
+## Level 3
+
+### How do you prove it?
+
+- You have been on 6 successful projects and can articulate why they were successful and what risks were mitigated
+during the life of the project
+
+- You have lead 2 successful projects.
diff --git a/Competencies/Competency-Presentations.md b/competencies/presentations.md
similarity index 75%
rename from Competencies/Competency-Presentations.md
rename to competencies/presentations.md
index 59df953c..727da759 100644
--- a/Competencies/Competency-Presentations.md
+++ b/competencies/presentations.md
@@ -14,15 +14,7 @@ You receive good feedback from people attending your presentations.
Learn some speaking techniques: [https://www.ted.com/talks/julian_treasure_how_to_speak_so_that_people_want_to_listen?language=en](https://www.ted.com/talks/julian_treasure_how_to_speak_so_that_people_want_to_listen?language=en)
-# Competency - Presentations - Advanced
-
-Have achieved all the things for the basic competency and additionally can additionally ...
-
-## How do you prove it?
-
-## How do you improve it?
-
If you're about to give a presentation, and you use Apple macOS, go to the top right corner of your screen in the menubar, hold down the OPTION key while clicking the icon, and it will turn off all of your notifications (Do Not Disturb mode).
-[The Book of Tells](https://www.amazon.com/Book-Tells-Peter-Collett/dp/0553814591) - which talks about power dynamics and is applicable to meetings.
+[The Book of Tells](https://www.amazon.com/Book-Tells-Peter-Collett/dp/0553814591) - which talks about people dynamics and is applicable to meetings.
diff --git a/competencies/proactive-communication.md b/competencies/proactive-communication.md
new file mode 100644
index 00000000..7f452b7b
--- /dev/null
+++ b/competencies/proactive-communication.md
@@ -0,0 +1,36 @@
+# Competency - Proactive Communication
+
+Communication is foundational to what product management is, and being an effective PM requires continual investment into effective communication. Product managers have outstanding communication skills, coupled with proactive behaviours and positive mindset.
+
+## How do you prove it?
+
+You've gotten good feedback from meetings you run.
+
+You can show examples where you have communicated clearly.
+
+## How do you improve it?
+
+* Always communicate the "why" behind every decision. This is the most crucial thing.
+
+* Communicate early, and often. Repeat yourself until everyone remembers.
+
+* Own the success of every meeting you attend, even if you aren't the chair. If you see no one taking meeting notes, take on that role and share them with attendees. If you think a stakeholder is missing, invite them. Etc.
+
+* Reply to every email you receive and every task where you're mentioned within 24 hours. And if you don't have the answer required yet, simply respond by saying "I'll get back to you on ".
+
+* Ask how you can help the team. Seek out answers by making suggestions. This is a powerful way to build trust, stay in the loop, and keep a micro (as well as macro) view of projects.
+
+* Keep a positive outlook, and try not to have anything bad to say. This is often easier said than done, but if you have a positive attitude, it's infectious. Product management is about leadership and your optimism, positive outlook, and initiative are crucial. Another aspect of this is framing every bit of communication around a positive. Instead of saying things like, "if you missed out on yesterday's meeting", why not go with "We want to keep you updated about yesterday's meeting". The difference is subtle but important.
+
+* Own stakeholder alignment. Take the lead on fostering a productive working relationship with other teams, from sales to marketing to CS. Having open communication with other teams means you'll hear about ideas from others, and you'll work together more effectively.
+
+* Ask for feedback regularly. Ask stakeholders from your team but also from other teams.
+
+* Invest time into the basics
+
+ * Read [Non-Violent Communication](https://www.amazon.com/Nonviolent-Communication-Language-Marshall-Rosenberg/dp/1892005034)
+
+ * [Learn about why outcome > intent](https://thebias.com/2017/09/26/how-good-intent-undermines-diversity-and-inclusion/amp/)
+
+ * Check out [Camille Fournier's book about leadership](http://shop.oreilly.com/product/0636920056843.do)
+
diff --git a/Competencies/Competency-Product-Evangelism.md b/competencies/product-evangelism.md
similarity index 60%
rename from Competencies/Competency-Product-Evangelism.md
rename to competencies/product-evangelism.md
index f3c2a9aa..f187443b 100644
--- a/Competencies/Competency-Product-Evangelism.md
+++ b/competencies/product-evangelism.md
@@ -8,15 +8,15 @@ As someone who knows the product inside and out you can now write public product
Build launch materials / assets around new features.
-nd attending meetings with customers to both hear feedback and discuss upcoming features in detail.
-
## How do you improve it?
-Learn our personas and stakeholders: link
+Learn our personas and stakeholders
+
+Attend meetings with customers to both hear feedback and discuss upcoming features in detail.
-Use the product: [https://dyspatch.io](https://dyspatch.io) & [https://www.sendwithus.com](https://www.sendwithus.com)
+Use the product.
-Use the API: [https://api.dyspatch.io](https://api.dyspatch.io) & [https://support.sendwithus.com/api](https://support.sendwithus.com/api)
+Use the API
Learn what every feature in our product does and how it helps those personas.
diff --git a/Competencies/Competency-Product-Knowledge.md b/competencies/product-knowledge.md
similarity index 55%
rename from Competencies/Competency-Product-Knowledge.md
rename to competencies/product-knowledge.md
index df6120f7..51d6f11e 100644
--- a/Competencies/Competency-Product-Knowledge.md
+++ b/competencies/product-knowledge.md
@@ -16,15 +16,16 @@ As someone who knows the product inside and out you can now write public product
Build launch materials / assets around new features.
-nd attending meetings with customers to both hear feedback and discuss upcoming features in detail.
## How do you improve it?
-Learn all the APIs and how to use them: [https://docs.dyspatch.io/api/](https://docs.dyspatch.io/api/) & [https://suppport.sendwithus.com/api](https://suppport.sendwithus.com/api)
+Attend meetings with customers to both hear feedback and discuss upcoming features in detail.
-Use the front end product: [https://dyspatch.io](https://dyspatch.io) & [https://app.sendwithus.com](https://app.sendwithus.com)
+Learn all the APIs and how to use them.
-Learn curl or similar gui for making requests: [https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en)
+Use the front end product.
+
+Learn curl or similar gui for making requests:
[https://curl.haxx.se/docs/httpscripting.html](https://curl.haxx.se/docs/httpscripting.html)
@@ -34,13 +35,7 @@ Learn curl or similar gui for making requests: [https://chrome.google.com/websto
Setup personas that use the system end to end.
-Use the product to send emails that you regularly need to send pulling from a datasource of some kind (asana, text file, database, google doc etc?).
-
-Learn our personas and stakeholders: [Deck](https://docs.google.com/presentation/d/1PLRdyPAZlxOxLhJKqRFSWaJJxjp3N74OZu5vRhSZJKE/edit#slide=id.g2514256c0b_3_70)
-
-Use the product: [https://dyspatch.io](https://dyspatch.io) & [https://www.sendwithus.com](https://www.sendwithus.com)
-
-Use the API: [https://api.dyspatch.io](https://api.dyspatch.io) & [https://support.sendwithus.com/api](https://support.sendwithus.com/api)
+Learn our personas and stakeholders.
Learn what every feature in our product does and how it helps those personas.
diff --git a/Competencies/Competency-Product-Omniscience.md b/competencies/product-omniscience.md
similarity index 70%
rename from Competencies/Competency-Product-Omniscience.md
rename to competencies/product-omniscience.md
index a1beec8b..75f8f490 100644
--- a/Competencies/Competency-Product-Omniscience.md
+++ b/competencies/product-omniscience.md
@@ -14,9 +14,9 @@ Acceptance tests show that you understand all aspects of how a feature will inte
## How do you improve it?
-Learn all the APIs and how to use them: [https://docs.dyspatch.io/api/](https://docs.dyspatch.io/api/) & [https://suppport.sendwithus.com/api](https://suppport.sendwithus.com/api)
+Learn all the APIs and how to use them.
-Use the front end product: [https://dyspatch.io](https://dyspatch.io) & [https://app.sendwithus.com](https://app.sendwithus.com)
+Use the front end product.
Learn curl or similar gui for making requests: [https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en)
@@ -26,7 +26,4 @@ Learn curl or similar gui for making requests: [https://chrome.google.com/websto
[https://insomnia.rest/](https://insomnia.rest/)
-Setup personas that use the system end to end.
-
-Use the product to send emails that you regularly need to send pulling from a datasource of some kind (asana, text file, database, google doc etc?).
-
+Setup personas that use the system end to end.
\ No newline at end of file
diff --git a/Competencies/Competency-Product-Roadmap.md b/competencies/product-roadmap.md
similarity index 100%
rename from Competencies/Competency-Product-Roadmap.md
rename to competencies/product-roadmap.md
diff --git a/competencies/production-access.md b/competencies/production-access.md
new file mode 100644
index 00000000..3e852978
--- /dev/null
+++ b/competencies/production-access.md
@@ -0,0 +1,23 @@
+# Competency - Production Access Readiness
+
+Generally only robots and devops should have access to production. Production is a dangerous place where things can easily go drastically wrong.
+However, with legacy systems that don't have good automated processes behind them, sometimes it is necessary to go on to these machines and make modifications, for example during outages or failures to investigate / rectify. This competency describes what skills you need to navigate those systems safely.
+
+
+## How do you prove it?
+
+You have shadowed three production systems accesses.
+
+You always pair when making production changes and communicate what you are attempting to do, why, and what the risks and alternatives are.
+
+You can explain when you should and should not use root / super role.
+
+You can demonstrate interacting with a database in a safe way.
+
+You can explain what a table scan is, why it is dangerous, and what actions will cause one to occur.
+
+## How do you improve it?
+
+Interact with databases using extreme levels of caution, understanding that corrupted and lost data can and will be absolutely breaking to our system.
+Log in to the database using a role with the fewest grants required to do your work.
+You know which actions are locking at any level of the data (row, table, etc.) and understand the implications of performing those actions on a live database.
diff --git a/Competencies/Competency-QA-Automation.md b/competencies/qa-automation.md
similarity index 100%
rename from Competencies/Competency-QA-Automation.md
rename to competencies/qa-automation.md
diff --git a/Competencies/Competency-Recruiter.md b/competencies/recruiter.md
similarity index 92%
rename from Competencies/Competency-Recruiter.md
rename to competencies/recruiter.md
index 5711e238..348b36d6 100644
--- a/Competencies/Competency-Recruiter.md
+++ b/competencies/recruiter.md
@@ -1,6 +1,6 @@
# Competency - Recruiter
-One place to find awesome people is through awesome people. If you work at Sendwithus, chances are, you're awesome. And so we would probably be interested in the awesome people you know.
+One place to find awesome people is through awesome people. If you work here, chances are, you're awesome. And so we would probably be interested in the awesome people you know.
## How do you prove it?
diff --git a/competencies/regex.md b/competencies/regex.md
new file mode 100644
index 00000000..4469f91d
--- /dev/null
+++ b/competencies/regex.md
@@ -0,0 +1,17 @@
+# Competency - Regex
+https://xkcd.com/208/
+
+## How do you prove it?
+* Find all the occurences of a string.
+* Replace all the occurences of a word.
+* Convert CamelCase to hyphen-case.
+* Greedy match only the first occurence of a repeating set.
+* Talk about why you should / shouldn't use regex.
+
+## How do you improve it?
+* Do some tutorials.
+ * https://regexone.com/
+* Use tools to help you understand (and write) your patterns
+ * https://regex101.com/
+ * http://regexr.com/
+ * https://www.regextester.com/
diff --git a/Competencies/Competency-Relationship-Building.md b/competencies/relationship-building.md
similarity index 84%
rename from Competencies/Competency-Relationship-Building.md
rename to competencies/relationship-building.md
index 4f089c7b..a44f6c40 100644
--- a/Competencies/Competency-Relationship-Building.md
+++ b/competencies/relationship-building.md
@@ -16,5 +16,5 @@ You know when to say "no" to a request
You are able to work across all teams in the organization
-You are able to report any breaches in the Sendwithus CoC and keep any parties involved anonymous.
+You are able to report any breaches in the code of conduct and keep any parties involved anonymous.
diff --git a/competencies/remote-work.md b/competencies/remote-work.md
new file mode 100644
index 00000000..7db961c1
--- /dev/null
+++ b/competencies/remote-work.md
@@ -0,0 +1,76 @@
+# Competency - Remote Work
+
+As distinct from working from home, remote work is when your primry workspace is away from the main office.
+Like during a pandemic.
+
+- Remote work is hard! It requires a lot of discipline, time management, internal motivation.
+- Remote work is glorious! It gives you unprecedented, uninterrupted time to get work done,
+and you get to choose all the snacks.
+
+
+## How do you prove it?
+
+- You have a fast, reliable internet connection/power, show us your speed test.
+- You have a quiet area to work free from interruptions and noise.
+- You are available on slack/email/etc... during work hours. Available means different things to different roles,
+talk to your manager about their expectations for your availability.
+- You have a working headset and good audio. In conference calls people don't tell you that you're breaking up or
+they can't hear you.
+- You have a working webcam and good lighting for video. The attention needed for attending a video conference
+should be the same as meeting someone across the table.
+- You are proficient in using video conferencing apps; mute/unmute audio, turn video on/off, share screen
+- You are responsive to your colleagues. Again, responsive means different things to different roles,
+check with your manager.
+- You can explain why you should switch to a video chat, as opposed to slack, as opposed to Asana.
+When to use these mediums and when not to.
+- You know how to unblock your tasks and can describe who you go to in various situations.
+
+## How do you improve it?
+
+- Plan your entire week to the best of your ability. Planning allows you to remain focused,
+and not be distracted by the scores of personal projects at home.
+- Block off sections of your calendar to ensure you manage your weekly workload.
+- Use calendar plugin to automatically set meeting status in Slack
+- Proactively setting status in Slack for short breaks like, out to lunch, be-right-back, etc
+- Tell your team about extended break like, walk the dog be back in an hour, dental appointment be back at 2, etc
+- When you have a chance to visit the office, make it count, make it known to everyone that you are in the office.
+Pack your schedule for meeting people in person. Make a point to greet and meet, even if it is just a walk by.
+
+## Examples of remote worker schedules.
+
+### Example 1:
+On Sunday I review the week ahead, and check for meeting double bookings, and reschedule things that need to be.
+
+I pull in the work for the week that I hope to get done and schedule some large blocks of time in my calendar that
+I can do that work in.
+
+Each day, I get up at 5:30am PT to be on time for the 9am start in ET, and as much overlap with Poland as possible.
+
+I process all my inbound - capture task from slack / email into my task management in asana, and respond and
+unblock as many projects / people before the first meeting.
+
+I check my calendar and make sure I have prep time for each meeting, if I don't I do the prep time as a first step in
+the day.
+
+I check my task list for the weeks work and remind myself of the critical projects I'm responsible for.
+
+In the first gap in my calendar is where I take my shower, and I also use that time to think strategically about the
+rest of the day - "what is the best thing I could work on next". As opposed to the morning where I have mostly been
+reactive and trying to unblock as many things as possible.
+
+I finish my day at roughly 2pm PT but am available on slack till around 5pm PT for the rest of the team.
+
+### Example 2:
+I wake up at my regular time of 6am CT
+
+Instead of showering as I would when going ot the office I just go to my home office and catch up on any reminders
+I set and do some reading, I often read a chapter or two in a book, a relevant business book.
+
+My day flows from there as more people get online and discussions and meetings start.
+
+I used a free hour around lunch to go for a 30 minute run, 10 minute cooldown and shower and eat lunch
+(I typically eat leftovers and lunch is about fuel for me so it's minutes of time)
+
+Then the afternoon is all about meetings or projects, if an important project I will have blocked time.
+
+I finish my day at roughly 4pm CT depending on meetings.
diff --git a/Competencies/Competency-Research.md b/competencies/research.md
similarity index 100%
rename from Competencies/Competency-Research.md
rename to competencies/research.md
diff --git a/competencies/sass-css-preprocessor.md b/competencies/sass-css-preprocessor.md
new file mode 100644
index 00000000..9a69e411
--- /dev/null
+++ b/competencies/sass-css-preprocessor.md
@@ -0,0 +1,29 @@
+# Competency - CSS Preprocessor SASS
+
+[SASS](https://sass-lang.com/) is CSS preprocessor that allows you to write nested CSS as well as the ability to use CSS more as a programming language with reusable variables and functions.
+
+## How do you prove it?
+
+You are able to compile a sass file to a css file
+
+You are able to use SASS's inheritance to extend a component
+
+You are able to create a SASS module and use it in another SASS file
+
+You are able to define variables are use them throughout your style sheet
+
+You are able to define functions and use them throughout your style sheet
+
+## How do you improve it?
+
+Take a look at the guide on the SASS website [here](https://sass-lang.com/guide)
+
+## Key points of research
+
+Writing nested CSS
+
+Reusable components
+
+Variables
+
+Functions
diff --git a/Competencies/Competency-Security.md b/competencies/security.md
similarity index 59%
rename from Competencies/Competency-Security.md
rename to competencies/security.md
index f693f744..5ad13ded 100644
--- a/Competencies/Competency-Security.md
+++ b/competencies/security.md
@@ -20,9 +20,4 @@ You question unescorted people who you don't recognise.
## How do you improve it?
-Do the security training:
-
-Slides - [https://docs.google.com/presentation/d/1HYJ7DAiWEUdznebLn7hc9jDB-HH2QSeeku3sJgkSelo/edit](https://docs.google.com/presentation/d/1HYJ7DAiWEUdznebLn7hc9jDB-HH2QSeeku3sJgkSelo/edit)
-
-Video of those slides - [https://drive.google.com/drive/folders/1L8x37ltIonJ-3Jz9fHe2qQ6KNdD_bv2X](https://drive.google.com/drive/folders/1L8x37ltIonJ-3Jz9fHe2qQ6KNdD_bv2X)
-
+Do the PaperDuty security training: https://sudo.pagerduty.com/for_everyone/
diff --git a/Competencies/Competency-Selling.md b/competencies/selling.md
similarity index 100%
rename from Competencies/Competency-Selling.md
rename to competencies/selling.md
diff --git a/Competencies/Competency-Slack.md b/competencies/slack.md
similarity index 70%
rename from Competencies/Competency-Slack.md
rename to competencies/slack.md
index 2d7fcaa1..9c34bd6c 100644
--- a/Competencies/Competency-Slack.md
+++ b/competencies/slack.md
@@ -4,7 +4,7 @@ Slack is an instant messaging platform built for business. We use it internally
There are lots of channels and lots of noise in slack, so it is a good idea to become proficient in this tool.
-Sendwithus values transparency, so as a rule, channels are mostly public and open to everyone and where it makes sense, we try to have conversations in public channels rather than DM'ing.
+We value transparency, so as a rule, channels are mostly public and open to everyone and where it makes sense, we try to have conversations in public channels rather than DM'ing.
If there isn't a good channel to have this conversation, consider adding a new channel!
@@ -22,7 +22,7 @@ You know how to use search and advanced search.
You edit messages appropriately.
-You know how to use snippets and posts.
+You know how to use snippets.
You know how to pin items and what they're useful for.
@@ -32,21 +32,30 @@ You have appropriately set notification settings for channels.
Channels you create have a purpose set as part of the creation.
+You know how to use reminders.
+
You think about the useful lifespan of a channel and set a reminder in slack to check whether this channel is still useful.
## How do you improve it?
-Join the #slack-fu channel and ask questions.
-
Create your own channel and try things out and see what happens.
Learn keyboard shortcuts: [https://get.slack.help/hc/en-us/articles/201374536-Slack-keyboard-shortcuts](https://get.slack.help/hc/en-us/articles/201374536-Slack-keyboard-shortcuts)
-Add an emoji to the slack interface - [https://sendwithus.slack.com/customize/emoji](https://sendwithus.slack.com/customize/emoji)
+Add an emoji to the slack interface
-# Slack (Advanced)
+# Slack Level 2
## How do you prove it?
+You've built a slack integration with webhooks or you've built a slack application.
+You've built a custom action in slack.
+You can administer slack effectively
+- Single/Multi channel guests and set appropriate expiration on those guests.
+- Slack Migrations
## How do you improve it?
+Go to the admin panel and play.
+Try building a slack application.
+
+
diff --git a/Competencies/Competency-Social-Media.md b/competencies/social-media.md
similarity index 95%
rename from Competencies/Competency-Social-Media.md
rename to competencies/social-media.md
index d43a185a..24d606b1 100644
--- a/Competencies/Competency-Social-Media.md
+++ b/competencies/social-media.md
@@ -4,7 +4,7 @@ We use social media (Twitter, Facebook, Instagram, LinkedIn) for employer brandi
## How do you prove it?
-You draft tweets, Facebook, Instagram, and LinkedIn posts to promote Sendwithus and Dyspatch.
+You draft tweets, Facebook, Instagram, and LinkedIn posts to promote the company.
Posts focus on employer brand, community outreach, marketing, and internal culture.
diff --git a/Competencies/Competency-Sprint-Planning.md b/competencies/sprint-planning.md
similarity index 100%
rename from Competencies/Competency-Sprint-Planning.md
rename to competencies/sprint-planning.md
diff --git a/competencies/sql.md b/competencies/sql.md
new file mode 100644
index 00000000..127697e7
--- /dev/null
+++ b/competencies/sql.md
@@ -0,0 +1,36 @@
+# Competency - SQL
+
+Structured Query Language is a domain-specific language used in programming and primarily designed for managing data held in a relational database management system (RDBMS) such as MySQL or PostgreSQL. This competency is geared to the actual SQL language and not SQL relational databases. Complementary to this competency, you should also achieve competency in the RDBMS or other system (systems outside of RDBMS, like Hive and Spark use SQL ) you are using SQL on. Learning the language is only the first step.
+
+
+Wikipedia: [https://en.wikipedia.org/wiki/SQL](https://en.wikipedia.org/wiki/SQL)
+
+## How do you prove it?
+
+You can demonstrate that you can create a set of sql commands to create a simple database and Create/Read/Update/Delete (CRUD) data.
+
+You can explain the difference between databases that use SQL and the language SQL.
+
+You can explain the difference between a database and table.
+
+You can explain the difference between different data types (IE: CHAR, VARCHAR, and TEXT).
+
+You can draw a venn diagram of the different kinds of JOINS in SQL (LEFT,RIGHT,INNER,FULL OUTER)
+
+You can explain how to optimize a query and how to use tools like EXPLAIN or equivalent execution plan tools.
+
+You can pull data out and aggregate it for specific business reasons.
+
+You can explain keys, foreign keys, joins, normalization & denormalization.
+
+
+## How do you improve it?
+
+Practice! Start by downloading a database management application such as [Sequel Pro](https://www.sequelpro.com/) for mac or [MySQL Workbench](https://www.mysql.com/products/workbench/) for windows. Of course you can also do everything through the command line! See a list of commonly used commands in this [cheet sheet](https://www.mysqltutorial.org/mysql-cheat-sheet.aspx)
+
+Do the tutorial: [https://www.w3schools.com/sql/](https://www.w3schools.com/sql/)
+
+Build a database and do something with it.
+
+Learn how to debug queries and use explain. [https://explain.depesz.com/](https://explain.depesz.com/)
+
diff --git a/competencies/technical-breadth-aws-services.md b/competencies/technical-breadth-aws-services.md
new file mode 100644
index 00000000..d6cb2538
--- /dev/null
+++ b/competencies/technical-breadth-aws-services.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth AWS Services
+
+AWS does many things, you should know a breadth of them to correctly choose the right service for your architecture.
+
+## How do you prove it?
+
+Talk about 5 AWS services and what they're good for.
+
+## How do you improve it?
+
+Read about AWS services
+
diff --git a/competencies/technical-breadth-azure-services.md b/competencies/technical-breadth-azure-services.md
new file mode 100644
index 00000000..6e478cdf
--- /dev/null
+++ b/competencies/technical-breadth-azure-services.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth Azure Services
+
+Microsofts cloud offering.
+
+## How do you prove it?
+
+Talk about 5 Azure services and what they're good for.
+
+## How do you improve it?
+
+Read about Azure services
+
diff --git a/competencies/technical-breadth-cloud-providers.md b/competencies/technical-breadth-cloud-providers.md
new file mode 100644
index 00000000..81c71b7a
--- /dev/null
+++ b/competencies/technical-breadth-cloud-providers.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth Cloud Providers
+
+Main cloud providers are AWS, GCP and Azure.
+
+## How do you prove it?
+
+Talk about the differences between two cloud providers
+
+## How do you improve it?
+
+Learn services in both, pricing differences, implementation differences.
+
diff --git a/competencies/technical-breadth-databases.md b/competencies/technical-breadth-databases.md
new file mode 100644
index 00000000..8c26befd
--- /dev/null
+++ b/competencies/technical-breadth-databases.md
@@ -0,0 +1,13 @@
+# Competency - Technical Breadth Databases
+
+There are lots of ways of storing data, be sure to know many ways so you can select the best fit.
+
+## How do you prove it?
+
+Talk about the differences between database vendors.
+Talk about the difference between database types (nosql / sql / columnar)
+
+## How do you improve it?
+
+Learn some databases
+
diff --git a/competencies/technical-breadth-gcp-services.md b/competencies/technical-breadth-gcp-services.md
new file mode 100644
index 00000000..b64f5ea3
--- /dev/null
+++ b/competencies/technical-breadth-gcp-services.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth GCP Serices
+
+GCP has a wealth of services, make sure you know many so that you can choose the best fit for your architecture.
+
+## How do you prove it?
+
+Talk about 5 GCP services and what they're good for.
+
+## How do you improve it?
+Learn Google Compute Platform services
+
+
diff --git a/competencies/technical-breadth-languages.md b/competencies/technical-breadth-languages.md
new file mode 100644
index 00000000..ecb9fb42
--- /dev/null
+++ b/competencies/technical-breadth-languages.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth Languages
+
+Knowing more than one type of language will give you many benefits.
+
+## How do you prove it?
+
+Talk about the differences between classes of language, (type-safe, recursive, etc..)
+Talk about the performance characteristics of different languages and what they're good for.
+
+## How do you improve it?
+
+Read up on lots of different languages
diff --git a/competencies/technical-breadth-programming-patterns.md b/competencies/technical-breadth-programming-patterns.md
new file mode 100644
index 00000000..a49d4e55
--- /dev/null
+++ b/competencies/technical-breadth-programming-patterns.md
@@ -0,0 +1,14 @@
+# Competency - Technical Breadth Programming Patterns
+
+Knowing patterns for good software design will help you build better software.
+
+## How do you prove it?
+
+Talk about 5 programming patterns and what they're good for
+
+## How do you improve it?
+
+Gang of Four: Patterns
+
+Other patterns
+
diff --git a/competencies/technical-breadth-scaling.md b/competencies/technical-breadth-scaling.md
new file mode 100644
index 00000000..ce09e2bb
--- /dev/null
+++ b/competencies/technical-breadth-scaling.md
@@ -0,0 +1,12 @@
+# Competency - Technical Breadth Scaling
+
+Scaling your software is critical up front thinking.
+
+## How do you prove it?
+
+Talk about two paradigms for ensuring systems scale.
+
+## How do you improve it?
+
+Learn about scale in software architecture
+
diff --git a/Competencies/Competency-Breadth-of-Standards.md b/competencies/technical-breadth-standards.md
similarity index 100%
rename from Competencies/Competency-Breadth-of-Standards.md
rename to competencies/technical-breadth-standards.md
diff --git a/competencies/technical-breadth-ui-frameworks.md b/competencies/technical-breadth-ui-frameworks.md
new file mode 100644
index 00000000..3da3052d
--- /dev/null
+++ b/competencies/technical-breadth-ui-frameworks.md
@@ -0,0 +1,14 @@
+# Competency - Technical Breadth UI Frameworks
+
+UI frameworks change fast and staying on top of them is a challenge.
+
+## How do you prove it?
+
+Talk about when you would and wouldn't use a UI framework.
+
+Talk about the difference between 3 UI frameworks and what they're good for.
+
+## How do you improve it?
+
+Learn all the frameworks! This list will be out of date by the time I finish this sentence... Angular, React, etc...
+
diff --git a/Competencies/Competency-Breadth-of-Browsers.md b/competencies/technicalbreadth-browsers.md
similarity index 100%
rename from Competencies/Competency-Breadth-of-Browsers.md
rename to competencies/technicalbreadth-browsers.md
diff --git a/Competencies/Competency-Testing.md b/competencies/testing.md
similarity index 96%
rename from Competencies/Competency-Testing.md
rename to competencies/testing.md
index cf1f613c..53359bc5 100644
--- a/Competencies/Competency-Testing.md
+++ b/competencies/testing.md
@@ -4,7 +4,7 @@ Testing, in development terms, really is about confidence in your code, and the
A developer should write code with testing in mind and see testing as an integral part of developing code, not as a separate step or afterthought.
-*If you have good tests, you will get good rests. ~ Will*
+*If you have good tests, you will get good rests. ~ anonymous*
## How do you prove it?
diff --git a/competencies/time-management.md b/competencies/time-management.md
new file mode 100644
index 00000000..4ee0848c
--- /dev/null
+++ b/competencies/time-management.md
@@ -0,0 +1,22 @@
+# Competency - Time Management
+
+There is lots of work to do and you will be asked to do more work than you have time. However, it is your responsibility
+to recognise that you have limited time and what to do when your workload is greater than your available time.
+
+## How do you prove it?
+
+- Your calendar has chunks of time for commited large tasks of work.
+- Your calendar is always up to date.
+- Your holidays are planned out in advance and you have dealt with the meetings that happen on those days appropriately.
+- You are able to guage how much work you will complete in a week and have examples of when you had to push back against new
+tasks.
+- You have a method for tracking projects so that they don't dangle when tasks are completed.
+- You can talk about examples of effectively delegating tasks to others.
+- You don't regularly work weekends or after hours or when you do it is specifically on tasks that will free up more time in the future.
+
+## How do you improve it?
+
+Learn Getting things Done (GTD) or similar methodologies for dealing with inbound work and information.
+
+Learn how to communicate effectively to push back against work or ask for help from others.
+
diff --git a/Competencies/Competency-Triage.md b/competencies/triage.md
similarity index 100%
rename from Competencies/Competency-Triage.md
rename to competencies/triage.md
diff --git a/competencies/trust.md b/competencies/trust.md
new file mode 100644
index 00000000..1212e6d2
--- /dev/null
+++ b/competencies/trust.md
@@ -0,0 +1,25 @@
+# Competency - Trust
+
+Trust is the foundation of any working relationship. Trust allows coworkers to work on projects and tasks together and know that the other is doing exactly what they need to.
+
+This competency is how you build trust in a team.
+
+## How do you prove it?
+
+Your peer reviews / manager reviews prove this out.
+
+You can show examples of cross department communication and building openess.
+
+You have admitted failure and shown learning and growth from it.
+
+You have listened empathically and without blame when somebody else is admitting a failure.
+
+You never lose your temper (being angry is fine, but acting angrily is not)
+
+## How do you improve it?
+
+Work with other departments.
+
+Learn how to communicate empathically.
+
+Be dependendable and do the things you say you will.
diff --git a/competencies/ui-framework-angular.md b/competencies/ui-framework-angular.md
new file mode 100644
index 00000000..1c82e731
--- /dev/null
+++ b/competencies/ui-framework-angular.md
@@ -0,0 +1,11 @@
+# UI Framework - Angular
+
+Popular UI framework from Google with TDD and component based architecture.
+
+## How do you prove it?
+
+You can build a website in Angular
+
+## How do you improve it?
+
+Read the angular docs.
\ No newline at end of file
diff --git a/competencies/ui-framework-ember.md b/competencies/ui-framework-ember.md
new file mode 100644
index 00000000..c78ae82a
--- /dev/null
+++ b/competencies/ui-framework-ember.md
@@ -0,0 +1,11 @@
+# UI Framework - Ember
+
+Popular UI framework with component based architecture.
+
+## How do you prove it?
+
+You can build a website in Ember
+
+## How do you improve it?
+
+Read the Ember docs.
\ No newline at end of file
diff --git a/competencies/ui-framework-marko.md b/competencies/ui-framework-marko.md
new file mode 100644
index 00000000..f5881cf9
--- /dev/null
+++ b/competencies/ui-framework-marko.md
@@ -0,0 +1,11 @@
+# UI Framework - Marko
+
+Popular UI framework from Ebay with component based architecture.
+
+## How do you prove it?
+
+You can build a website in Marko
+
+## How do you improve it?
+
+Read the Marko docs.
\ No newline at end of file
diff --git a/competencies/ui-framework-mithril.md b/competencies/ui-framework-mithril.md
new file mode 100644
index 00000000..dc422649
--- /dev/null
+++ b/competencies/ui-framework-mithril.md
@@ -0,0 +1,36 @@
+# UI Framework - Mithril
+
+Mithril is a small (~8kb) UI framework. Its main benefit is its simplicity by being just plain javascript. It has a built-in router and XHR!
+
+## How do you prove it?
+
+Prove it! By building a website (or component of a website) in Mithril. This may include the following concepts:
+
+- Virtual DOM
+- you can talk about the up/downsides and comparisons to other frameworks.
+- The component lifecycle
+- Managing component state (ie. two-way data binding, XHR)
+- Passing data between components
+- Routing
+- Show how you would test the components
+- Show how you would do UI testing (with something like Cypress.io)
+
+## How do you improve it?
+
+Build something! But first, check out the [Mithril Docs](https://mithril.js.org/). It's one (of the only?) reference you'll need if you are already familiar with another framework such as React.js
+
+Check out these sections:
+
+[Getting Started](https://mithril.js.org/index.html#getting-started) - contains a brief overview and sample code
+[Installation](https://mithril.js.org/installation.html) - set up your first project
+[Simple App](https://mithril.js.org/simple-application.html) - step by step walkthrough of building a simple App
+[Examples](https://mithril.js.org/examples.html) - a list of small open-sourced projects you can view the source of to see how they're built
+[Key Concepts](https://mithril.js.org/vnodes.html) - Vnodes, Components, Livecycle methods
+[API](https://mithril.js.org/api.html) - reference the API docs while unsure of a method
+[ospec](https://github.com/MithrilJS/mithril.js/tree/master/ospec) - testing framework
+
+
+## Getting Help
+
+[mithril.js on Stackoverflow](https://stackoverflow.com/questions/tagged/mithril.js)
+[Gitter.im community](https://gitter.im/mithriljs/mithril.js)
diff --git a/competencies/ui-framework-react-native.md b/competencies/ui-framework-react-native.md
new file mode 100644
index 00000000..0a423a93
--- /dev/null
+++ b/competencies/ui-framework-react-native.md
@@ -0,0 +1,21 @@
+# UI Framework - React Native
+
+React Native combines the best parts of native development with React, a best-in-class JavaScript library for building user interfaces. To build applications for iOS and Android.
+
+## How do you prove it?
+
+* You can build an app on a virtual device (iOS and Android)
+* You can demostrate your app on a physical device (iOS and/or Android)
+* You can navigate to more than 1 other page/screen within the app
+* You can show a state change
+* You can store data on the device and retreive it
+* You can pull data from an API and display it
+
+## How do you improve it?
+
+* [Learn the Basics](https://reactnative.dev/docs/tutorial)
+* [Read the Docs](https://reactnative.dev/docs/getting-started)
+* [Use a styling cheat sheet](https://github.com/vhpoet/react-native-styling-cheat-sheet)
+* [Pimp your app with stylish icons](https://github.com/oblador/react-native-vector-icons)
+* Use some of the resources in [this awesome collection of React Native resources](https://github.com/jondot/awesome-react-native/blob/master/README.md)
+* [Read about Context](https://reactjs.org/docs/context.html)
\ No newline at end of file
diff --git a/competencies/ui-framework-react.md b/competencies/ui-framework-react.md
new file mode 100644
index 00000000..ecad5be6
--- /dev/null
+++ b/competencies/ui-framework-react.md
@@ -0,0 +1,35 @@
+# UI Framework - React
+
+React is a popular UI library built by Facebook. It lets you build UIs from small and isolated pieces of code called components.
+
+React is just the view. It does not contain any models or controllers.
+
+React is declarative. Your components are written around your application's state and React will only update and render the components it needs to.
+
+Common components are exported and imported so that you are not writing duplicate code. This forms a component hierarchy where each component has its state and data flows one-way down the component hierarchy.
+
+## How do you prove it?
+
+You can build a website in React
+
+You can explain the difference between a class component & a functional component
+
+You can explain the difference between props, state, and children
+
+You can explain life cycle methods and/or provide an example of one
+
+You can explain when you would use a Fragment
+
+You can explain what Context is
+
+You can explain why you should use className instead of class
+
+You can explain the need for a build tool and provide an example of one
+
+
+## How do you improve it?
+
+Check out the official [docs](https://reactjs.org/docs/getting-started.html) and their [tutorial](https://reactjs.org/tutorial/tutorial.html) of building a tic-tac-toe game.
+
+Check out [React Resources](https://reactresources.com/) for a comprehensive list of links to blogs/articles on almost any React topic
+
diff --git a/competencies/ui-framework-vue.md b/competencies/ui-framework-vue.md
new file mode 100644
index 00000000..3975f041
--- /dev/null
+++ b/competencies/ui-framework-vue.md
@@ -0,0 +1,33 @@
+# UI Framework - Vue (v3)
+
+Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications.
+
+## How do you prove it?
+
+You can build a website in Vue
+
+You know how to utilize .vue files and why you would want to
+
+You can explain the component lifecycle mothods and why you might want to use them
+
+You can explain what directives are - including shorthand syntax, modifiers and dynamic arguments
+
+You understand template syntax and its limitations
+
+You can explain the difference between component props, data, computeds and methods
+
+You can explain what events are and the cases where you would use them
+
+## How do you improve it?
+
+Utilize the VSCode [Vetur extension](https://marketplace.visualstudio.com/items?itemName=octref.vetur)
+
+Add routing to a website
+
+Install [Vue Chrome extension](https://chrome.google.com/webstore/detail/vuejs-devtools/ljjemllljcmogpfapbkkighbhhppjdbg) to assist with debugging
+
+Utilize third party components and directives
+
+Learn more about the composition API
+
+Read the Vue [docs](https://v3.vuejs.org/guide)
\ No newline at end of file
diff --git a/Competencies/Competency-User-Audits.md b/competencies/user-audits.md
similarity index 68%
rename from Competencies/Competency-User-Audits.md
rename to competencies/user-audits.md
index 2b84c0bf..3538064c 100644
--- a/Competencies/Competency-User-Audits.md
+++ b/competencies/user-audits.md
@@ -4,9 +4,9 @@ All of our systems need to be audited regularly to make sure that only the corre
## How do you prove it?
-Audit spot checks reveal no users that should not exist in your system.
+Audit spot checks reveal no users that should not exist in systems you manage.
-Audit spot checks reveal no users with incorrect permissions to that system.
+Audit spot checks reveal no users with incorrect permissions in those systems.
Elevated permissions for a user have an electronic audit trail to validate when they were given access, why they needed this access, and when the access will be revoked / reduced.
@@ -14,3 +14,4 @@ Elevated permissions for a user have an electronic audit trail to validate when
Audit your systems on a regular basis.
+Keep track of who has what permissions and why.
diff --git a/competencies/vision-and-strategy.md b/competencies/vision-and-strategy.md
new file mode 100644
index 00000000..5d54cb19
--- /dev/null
+++ b/competencies/vision-and-strategy.md
@@ -0,0 +1,19 @@
+# Vision and Strategy
+
+Your ability to think about the future and organize your resources to get you there.
+
+## How do you prove it?
+
+- You have medium term roadmap documents that talk to the future state you wish to get to.
+
+- You have successfully migrated from a current state into a planned future state.
+
+- You can talk about the pitfalls of organization transition.
+
+## How do you improve it?
+
+You read a lot of articles related to the business of the company and our competitors.
+This information is used to synthensize possible future states of your teams, or products or revenue.
+
+Learn Wardley maps and use it as a way of having strategy conversations with peers.
+
diff --git a/Competencies/Competency-Wardley-Maps.md b/competencies/wardley-maps.md
similarity index 100%
rename from Competencies/Competency-Wardley-Maps.md
rename to competencies/wardley-maps.md
diff --git a/competencies/web-api-service-worker.md b/competencies/web-api-service-worker.md
new file mode 100644
index 00000000..1bd4fea7
--- /dev/null
+++ b/competencies/web-api-service-worker.md
@@ -0,0 +1,10 @@
+# Web API - Service Worker
+>Service workers essentially act as proxy servers that sit between web applications, the browser, and the network (when available). - [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
+
+## How do you prove it?
+* You can talk about the advantages of a service worker, its restrictions, and provide some example use cases for using a service worker.
+* You can explain the _Service Worker Lifecycle_
+* Give a code walkthrough/demo of a service worker you have added to a project.
+
+## How do you improve it?
+* Read the MDN [Using Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers) docs.
diff --git a/competencies/web-api-web-worker.md b/competencies/web-api-web-worker.md
new file mode 100644
index 00000000..2c842ba5
--- /dev/null
+++ b/competencies/web-api-web-worker.md
@@ -0,0 +1,11 @@
+# Web API - Web Worker
+>Web Workers make it possible to run a script operation in a background thread separate from the main execution thread of a web application. - [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API)
+
+## How do you prove it?
+* You can talk about the advantages of a web worker, its restrictions, and provide some example use cases for using web workers.
+* You understand the difference between a `SharedWorker` and a dedicated `Worker`.
+* Give a code walkthrough/demo of a web worker you have added to a project.
+* You understand how to communicate with your web worker from the main thread and can demonstrate code which does so.
+
+## How do you improve it?
+* Read the MDN [Using Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers) docs.
diff --git a/competencies/webpack.md b/competencies/webpack.md
new file mode 100644
index 00000000..8757e6cd
--- /dev/null
+++ b/competencies/webpack.md
@@ -0,0 +1,33 @@
+# Competency - Webpack
+
+Webpack is a popular bundling tool that lets you bundle your JavaScript applications. It can be extended to support many different assets such as images, fonts and stylesheets.
+
+## How do you prove it?
+
+You can setup a new project with webpack.
+
+You can view a webpack config file and understand the configuration.
+
+You understand loaders and how to add and configure them.
+
+You can setup webpack dev server with hot reloading.
+
+You know how to analyze a bundle.
+
+You can configure a bundle to use code splitting.
+
+You can ensure your bundle is compatible with any specified browser by utilizing a transpiler (Babel).
+
+
+## How do you improve it?
+
+Understand the concepts - https://webpack.js.org/concepts/
+
+Read the Guides - https://webpack.js.org/guides/
+
+Read some articles and tutorials:
+https://www.robinwieruch.de/webpack-setup-tutorial/
+https://www.valentinog.com/blog/webpack/
+
+Take a course:
+https://www.udemy.com/course/webpack-from-beginner-to-advanced/
\ No newline at end of file
diff --git a/competencies/writing-competencies.md b/competencies/writing-competencies.md
new file mode 100644
index 00000000..6fb45f24
--- /dev/null
+++ b/competencies/writing-competencies.md
@@ -0,0 +1,29 @@
+# Competency - Writing Competencies
+
+Write competencies for various skills & talents useful to you and your fellow team members.
+
+This competency requires:
+
+* Good articulation of competency description and purpose.
+
+* Good sense of meaningful competency "prove it" requirements.
+
+* A desire to share competencies with your team members.
+
+## How do you prove it?
+
+* Understand the "How do you prove it" and "How do you improve it" sections.
+
+* Understand how to add competencies to the various roles.
+
+* Have written at least 3 competencies.
+
+* Have created at least 3 meaningful PRs to existing competencies.
+
+## How do you improve it?
+
+Take time to notice competencies you have that do not already exist in the competency system.
+
+As you notice them, think about the important parts of that competency, and how it could be proven and improved upon.
+
+Then, write competencies!
diff --git a/competencies/writing.md b/competencies/writing.md
new file mode 100644
index 00000000..efa967ab
--- /dev/null
+++ b/competencies/writing.md
@@ -0,0 +1,33 @@
+# Competency - Writing
+
+Being able to communicate well is one of the most important skills you can develop.
+Your great ideas do you no good if no one else understands them. Whether you are
+writing documentation or delivering a presentation, the following are essential:
+
+## How do you prove it?
+
+* You have 3 examples of long form communication that show examples from the improve it section.
+
+## How do you improve it?
+
+* **Know Your Audience** - Who you are communicating to should have a significant impact
+on how you communicate.
+ * How much do they already know?
+ * Are they technical or business focused?
+ * What level of detail are they interested in? What questions will they have?
+ * What is the outcome you are looking for?
+ * How long should it take to go through this?
+
+* **Keep It Succinct** - No matter what you are communicating, keep it as simple as possible
+(but no simpler). Present insights, not just raw data. Don't make your audience have to
+do work in order to understand your point.
+
+* **Make It Pretty** - No one likes reading a wall of text. Use bolding/underlining/colors
+to call out important points. If visualizations can be used to better present information,
+use them. Use (properly labelled) charts if presenting a lot of numbers.
+
+* **Tell A Story** - Whatever you are communicating will be more engaging if it fits into a
+narrative. Once you know your audience, the narrative you construct should relate to
+their context and answer questions they will have. Each piece of information presented
+should be geared to achieving the goal of your documentation.
+* Solicit feedback (and incorporate it)
diff --git a/Competencies/Competency-Zoom.md b/competencies/zoom.md
similarity index 74%
rename from Competencies/Competency-Zoom.md
rename to competencies/zoom.md
index 15da7f8d..d27dba05 100644
--- a/Competencies/Competency-Zoom.md
+++ b/competencies/zoom.md
@@ -4,13 +4,19 @@ We use zoom as our video communication platform.
## How do you prove it?
+You can start a meeting quickly.
+
+You can find the meeting link in a meeting you have started.
+
+You can mute people on the line.
+
+You can share your screen.
+
+You can make someone else on the call the presenter.
+
## How do you improve it?
Install the Zoom Chrome Scheduler, that adds a "Zoom" button when you're making a calendar event and will dump in your meeting details: [https://chrome.google.com/webstore/detail/zoom-scheduler/kgjfgplpablkjnlkjmjdecgdpfankdle?hl=en-US](https://chrome.google.com/webstore/detail/zoom-scheduler/kgjfgplpablkjnlkjmjdecgdpfankdle?hl=en-US)
There is an option to unmute the mic when you hold down space which is useful if you're in a loud environment to stop background noise flooding the call.
-Learn how the microphones should be setup
-
-https://docs.google.com/document/d/13M0ZkX4AjNd3424Pvp9T2NmPFKyfdyxV5jQIYM9IsEE/edit
-
diff --git a/competencySyncScript.gs b/competencySyncScript.gs
deleted file mode 100644
index fe70f58f..00000000
--- a/competencySyncScript.gs
+++ /dev/null
@@ -1,635 +0,0 @@
-//Competency Sync Script
-
-//////////////////////////////////////////////////////////////////////////////////////////////
-//Config:
-var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
-
-//Get config values from spreadsheet:
-var personalAccessToken = readFromCell(sheet, 2, 1);
-var emailAddress = readFromCell(sheet, 4, 1);
-var repoName = readFromCell(sheet, 6, 1);
-var driveFolderNames = getRowContents(8, 1);
-var githubFolderNames = getRowContents(10, 1);
-var excludedFileNames = getRowContents(12, 1);
-var branchName = readFromCell(sheet, 14, 1);
-var wordToExclude = "Private";
-
-//////////////////////////////////////////////////////////////////////////////////////////////
-//Main:
-function main() {
- var errors = [];
- //var githubRepoFilesDataUrl = "https://api.github.com/repos/sendwithus/" + repoName + "/contents?ref=master&access_token=" + personalAccessToken;
-
- //Creates branch if none exists with config name:
- if (branchExists(branchName) == false) {
- createBranch(branchName);
- }
-
- for (n=0; n 0) {
- body += "The script encountered the following errors: \n";
- for (var i=0; i=0; pathIndex--) {
- path += "/" + pathPoints[pathIndex].toString();
- }
- return path;
-}
-
-function substrFoundCaseInsensitive(substr, str) {
- return (str.toLowerCase().indexOf(substr.toLowerCase()) !== -1);
-}
-
-//////////////////////////////////////////////////////////////////////////////////////////////
-//Triggers:
-function triggers() {
- //Trigger to update Competency Docs every week
- ScriptApp.newTrigger('main')
- .timeBased()
- .everyWeeks(1)
- .onWeekDay(ScriptApp.WeekDay.FRIDAY)
- .create();
-}
-
-//////////////////////////////////////////////////////////////////////////////////////////////
-//Markdown:
-function convertToMarkdown(doc) {
- var numChildren = doc.getActiveSection().getNumChildren();
- var text = "";
- var inSrc = false;
- var inClass = false;
- var globalImageCounter = 0;
- var globalListCounters = {};
- // edbacher: added a variable for indent in src
block. Let style sheet do margin.
- var srcIndent = "";
-
- var attachments = [];
-
- // Walk through all the child elements of the doc.
- for (var i = 0; i < numChildren; i++) {
- var child = doc.getActiveSection().getChild(i);
-
- //Remove any links to internal documents:
- var childLinkUrl = child.asText().getLinkUrl();
- if (childLinkUrl != null) {
- if (isLinkToInternalDoc(childLinkUrl)) {
- //Remove link
- child.asText().editAsText().insertText(0, "").setLinkUrl("");
- }
- }
-
- var result = processParagraph(i, child, inSrc, globalImageCounter, globalListCounters);
- globalImageCounter += (result && result.images) ? result.images.length : 0;
- if (result!==null) {
- if (result.sourcePretty==="start" && !inSrc) {
- inSrc=true;
- text+="
\n\n";
- } else if (inClass) {
- text+=result.text+"\n\n";
- } else if (inSrc) {
- text+=(srcIndent+escapeHTML(result.text)+"\n");
- } else if (result.text && result.text.length>0) {
- text+=result.text+"\n\n";
- }
-
- if (result.images && result.images.length>0) {
- for (var j=0; j/g, '>');
-}
-
-// Process each child element (not just paragraphs).
-function processParagraph(index, element, inSrc, imageCounter, listCounters) {
- // First, check for things that require no processing.
- if (element.getNumChildren()==0) {
- return null;
- }
- // Punt on TOC.
- if (element.getType() === DocumentApp.ElementType.TABLE_OF_CONTENTS) {
- return {"text": "[[TOC]]"};
- }
-
- // Set up for real results.
- var result = {};
- var pOut = "";
- var textElements = [];
- var imagePrefix = "image_";
-
- // Handle Table elements. Pretty simple-minded now, but works for simple tables.
- // Note that Markdown does not process within block-level HTML, so it probably
- // doesn't make sense to add markup within tables.
- if (element.getType() === DocumentApp.ElementType.TABLE) {
- textElements.push("
\n");
- var nCols = element.getChild(0).getNumCells();
- for (var i = 0; i < element.getNumChildren(); i++) {
- textElements.push("
\n");
- // process this row
- for (var j = 0; j < nCols; j++) {
- textElements.push("
" + element.getChild(i).getChild(j).getText() + "
\n");
- }
- textElements.push("
\n");
- }
- textElements.push("
\n");
- }
-
- // Process various types (ElementType).
- for (var i = 0; i < element.getNumChildren(); i++) {
- var t=element.getChild(i).getType();
-
- if (t === DocumentApp.ElementType.TABLE_ROW) {
- // do nothing: already handled TABLE_ROW
- } else if (t === DocumentApp.ElementType.TEXT) {
- var txt=element.getChild(i);
- pOut += txt.getText();
- textElements.push(txt);
- } else if (t === DocumentApp.ElementType.INLINE_IMAGE) {
- //We deleted this!
- } else if (t === DocumentApp.ElementType.PAGE_BREAK) {
- // ignore
- } else if (t === DocumentApp.ElementType.HORIZONTAL_RULE) {
- textElements.push('* * *\n');
- } else if (t === DocumentApp.ElementType.FOOTNOTE) {
- textElements.push(' (NOTE: '+element.getChild(i).getFootnoteContents().getText()+')');
- } else {
- throw "Paragraph "+index+" of type "+element.getType()+" has an unsupported child: "
- +t+" "+(element.getChild(i)["getText"] ? element.getChild(i).getText():'')+" index="+index;
- }
- }
-
- if (textElements.length==0) {
- // Isn't result empty now?
- return result;
- }
-
- // evb: Add source pretty too. (And abbreviations: src and srcp.)
- // process source code block:
- if (/^\s*---\s+srcp\s*$/.test(pOut) || /^\s*---\s+source pretty\s*$/.test(pOut)) {
- result.sourcePretty = "start";
- } else if (/^\s*---\s+src\s*$/.test(pOut) || /^\s*---\s+source code\s*$/.test(pOut)) {
- result.source = "start";
- } else if (/^\s*---\s+class\s+([^ ]+)\s*$/.test(pOut)) {
- result.inClass = "start";
- result.className = RegExp.$1;
- } else if (/^\s*---\s*$/.test(pOut)) {
- result.source = "end";
- result.sourcePretty = "end";
- result.inClass = "end";
- } else {
-
- prefix = findPrefix(inSrc, element, listCounters);
-
- var pOut = "";
- for (var i=0; i):
- if (gt === DocumentApp.GlyphType.BULLET
- || gt === DocumentApp.GlyphType.HOLLOW_BULLET
- || gt === DocumentApp.GlyphType.SQUARE_BULLET) {
- prefix += "* ";
- } else {
- // Ordered list ():
- var key = listItem.getListId() + '.' + listItem.getNestingLevel();
- var counter = listCounters[key] || 0;
- counter++;
- listCounters[key] = counter;
- prefix += counter+". ";
- }
- }
- }
- return prefix;
-}
-
-function processTextElement(inSrc, txt) {
- if (typeof(txt) === 'string') {
- return txt;
- }
-
- var pOut = txt.getText();
- if (! txt.getTextAttributeIndices) {
- return pOut;
- }
-
- var attrs=txt.getTextAttributeIndices();
- var lastOff=pOut.length;
-
- for (var i=attrs.length-1; i>=0; i--) {
- var off=attrs[i];
- var url=txt.getLinkUrl(off);
- var font=txt.getFontFamily(off);
- if (url) { // start of link
- if (i>=1 && attrs[i-1]==off-1 && txt.getLinkUrl(attrs[i-1])===url) {
- // detect links that are in multiple pieces because of errors on formatting:
- i-=1;
- off=attrs[i];
- url=txt.getLinkUrl(off);
- }
- pOut=pOut.substring(0, off)+'['+pOut.substring(off, lastOff)+']('+url+')'+pOut.substring(lastOff);
- } else if (font) {
- if (!inSrc && font===font.COURIER_NEW) {
- while (i>=1 && txt.getFontFamily(attrs[i-1]) && txt.getFontFamily(attrs[i-1])===font.COURIER_NEW) {
- // detect fonts that are in multiple pieces because of errors on formatting:
- i-=1;
- off=attrs[i];
- }
- pOut=pOut.substring(0, off)+'`'+pOut.substring(off, lastOff)+'`'+pOut.substring(lastOff);
- }
- }
- if (txt.isBold(off)) {
- var d1 = d2 = "**";
- if (txt.isItalic(off)) {
- // edbacher: changed this to handle bold italic properly.
- d1 = "**_"; d2 = "_**";
- }
- pOut=pOut.substring(0, off)+d1+pOut.substring(off, lastOff)+d2+pOut.substring(lastOff);
- } else if (txt.isItalic(off)) {
- pOut=pOut.substring(0, off)+'*'+pOut.substring(off, lastOff)+'*'+pOut.substring(lastOff);
- }
- lastOff=off;
- }
- return pOut;
-}
diff --git a/development.md b/development.md
deleted file mode 100644
index 79ec1b20..00000000
--- a/development.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Development
-
-## What the script is:
-`competencySyncScript.gs` is what makes this project work. The script is written in Google Apps Script, a language based off of JavaScript that is specific to the G Suite products. The script takes configuration values from the Google Spreadsheet to which it is attached. You are free to use the script for your own projects. Follow the instructions below to start syncing your Google Drive documents to GitHub.
-
-## What the script does:
-The script's job is to go through the entire process of syncing your Drive files to GitHub. It first gets the contents of all files in the configured Google Drive folders. If a file already exists in the GitHub repo, any changes will be updated, or, if the file does not exist, a new file will be created in GitHub. It then commits all new files and changed files to the specified branch name. After all commits have been made, a pull request is created to merge the branch to `master`. An email will be sent to the configured address with a link to the pull request in GitHub. Don't worry if you delete the branch after merging - the script will create it again.
-
-## How to use the script:
-To use `competencySyncScript.gs`, first create a Google Spreadsheet, following the guidelines and mock spreadsheet below. Once you have your spreadsheet set up, you will need to attach the script. In your spreadsheet, go to Tools > Script editor and paste in the contents of the script. If this is a new spreadsheet, run the `triggers()` function in your script editor. This will install the trigger in your script, which will run your script once a week. Google will then prompt you to authorize the script to access your Google Drive. When that's all done, you're ready to go! Since the script runs on a time-based trigger, the only work you have to do is merge the pull request when you get the weekly email. If you want to run the script manually, you can run `main()` in the script editor.
-
-## GitHub Personal Access Token
-A GitHub personal access token is a key that allows a user to access their GitHub information throught the GitHub API. In order for the script to work, you will need to create a GitHub personal access token. Click on the icon in the top right corner of your GitHub homepage, then click Settings > Developer settings > Personal access tokens > Generate new token. Make sure to store your token somewhere secure, such as a password manager.
-
-## Spreadsheet Configuration
-| | A | B | C |
-|----|-------------------------------------|------------------------|-------|
-| 1 | Github Personal access token: | |
-| 2 | *Github Personal access token** | |
-| 3 | Email: | |
-| 4 | *Email address** | |
-| 5 | Repo name: | |
-| 6 | *Repo name** | |
-| 7 | Source Google Drive folder name(s): | |
-| 8 | *Folder name 1** | *Folder name 2* | *...* |
-| 9 | Destination GitHub Folder Name(s): |
-| 10 | *Folder name 1** | *Folder name 2* | *...* |
-| 11 | Excluded File Name(s): |
-| 12 | *Excluded file name 1* | *Excluded file name 1* | *...* |
-| 13 | Branch name: |
-| 14 | *branch name** |
-
-Notes about spreadsheet configuration:
-- The spreadsheet must contain values for each cell in the mock spreadsheet below marked with *.
-- The folder names in row (i.e. the contents of a Google Drive folder in row 8 will go into the GitHub folder with the name specified in the corresponding column in row 10). This means that for each value in row 8, there must be a value in the corresponding column in row 10.
-- If a row in the mock spreadsheet above has a cell with `...`, you can add as many values as needed to that row.
diff --git a/docs/base.html b/docs/base.html
new file mode 100644
index 00000000..a9c374a1
--- /dev/null
+++ b/docs/base.html
@@ -0,0 +1,305 @@
+
+
+Base
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Base
+
+
General skills needed to excel at Searchspring
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
\ No newline at end of file
diff --git a/docs/engineering-azure-devops.html b/docs/engineering-azure-devops.html
new file mode 100644
index 00000000..bcdb5b13
--- /dev/null
+++ b/docs/engineering-azure-devops.html
@@ -0,0 +1,345 @@
+
+
+Engineering - Azure DevOps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Azure DevOps
+
+
+
+
What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+
Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
+
+
Engineering - Junior DevOps skills
+
+
linux networking programming security trust
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-base.html b/docs/engineering-base.html
new file mode 100644
index 00000000..41417845
--- /dev/null
+++ b/docs/engineering-base.html
@@ -0,0 +1,307 @@
+
+
+Engineering - Base
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Base
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
\ No newline at end of file
diff --git a/docs/engineering-developer.html b/docs/engineering-developer.html
new file mode 100644
index 00000000..88f35c9d
--- /dev/null
+++ b/docs/engineering-developer.html
@@ -0,0 +1,343 @@
+
+
+Engineering - Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Developer
+
+
+
+
What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
coding feature flags github actions deployments oauth sql testing linux qa automation fire handling docker launch darkly machine learning big data athena elasticsearch level 1 kubernetes customer empathy part of successful projects prometheus grafana make tdd web api service worker web api web worker
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
DB (1 of)
db mysql db postgresql db redshift
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-devops.html b/docs/engineering-devops.html
new file mode 100644
index 00000000..c063ff25
--- /dev/null
+++ b/docs/engineering-devops.html
@@ -0,0 +1,345 @@
+
+
+Engineering - DevOps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - DevOps
+
+
+
+
What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+
Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+
Skills that are important to this role
+
+
architecture blameless postmortems capacity planning cicd cloud providers clustering config management customer empathy deployments diagrams disaster recovery docker elasticsearch level 1 fire handling fire response fire triaging kubernetes
Language (2 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-director.html b/docs/engineering-director.html
new file mode 100644
index 00000000..461ce484
--- /dev/null
+++ b/docs/engineering-director.html
@@ -0,0 +1,362 @@
+
+
+Engineering - Director
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Director
+
+
+
+
What it’s like to be an Engineering Director
+
+
We believe in a servant leadership, with directors helping to enable their leads to build the best teams they can to produce effective, well tested software.
+Directors are responsible for ensuring psychological safety of the engineering teams to make bold choices and to fail fearlessly and quickly.
+They are responsible for growing their team leads in the skills they need to be effective managers and technical architects for the system.
+While not responsible for each individual architectural decision, you are responsible for ensuring that the product has an architecture that promotes low maintenance, reliability and resilliance.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+Along with your product and team responsibilities, you are also responslible for defining and maintaining SLO’s for all parts of the product.
+You will be responsible, along with the CTO, for executing against security and compliance initiatives.
+You are responsible for organizing the sharing of knowledge and technologies between teams and driving technology adoption.
+You are responsible for ensuring the engineering teams are continuing to grow their skillsets.
+
+
+
+
+
+
Why you might like it
+
+
You thrive on enabling the accomplishments of others and delight in watching a team of people solve a problem. You enjoy feeling ownership of every aspect of product development from TDD to Monitoring. You’re not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+You have excellent technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You’re excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
one on ones writing competencies interviewing leading career development vision and strategy part of successful projects: level 3 time management getting things done wardley maps trust user audits meetings: level 2 fire handling fire triaging
language c sharp: level 2 language clojure: level 2 language go: level 2 language javascript node: level 2 language javascript: level 2 language php: level 2 language python: level 2 language r: level 2 language ruby: level 2 language scala: level 2 language typescript: level 2
coding feature flags github actions deployments oauth sql testing linux qa automation fire handling docker launch darkly machine learning big data athena elasticsearch level 1 kubernetes customer empathy part of successful projects prometheus grafana make tdd web api service worker web api web worker
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
DB (1 of)
db mysql db postgresql db redshift
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-front-end-developer.html b/docs/engineering-front-end-developer.html
new file mode 100644
index 00000000..42da5e48
--- /dev/null
+++ b/docs/engineering-front-end-developer.html
@@ -0,0 +1,345 @@
+
+
+Engineering - Front End Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Front End Developer
+
+
+
+
What it’s like to be a Front End Developer
+
+
In this role, you will build software that utilizes technologies such as Javascript, React and Angular. Specifically, you, along with your team, will be developing our customer portal system, our client side interfaces, and client side libraries that act as a front end for our search API. There are an abundance of challenges, from building user interfaces for robust data configuration, to reporting visualizations, to internal tools that help every other employee in the company get the job done.
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
language javascript node language typescript front end coding qa automation testing cypress webpack feature flags browser dev tools
deployments linux fire handling customer empathy part of successful projects
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-internal-application-developer.html b/docs/engineering-internal-application-developer.html
new file mode 100644
index 00000000..a6ec8ae7
--- /dev/null
+++ b/docs/engineering-internal-application-developer.html
@@ -0,0 +1,356 @@
+
+
+Engineering - Internal Application Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Internal Application Developer
+
+
+
+
What it’s like to be a Internal Application Developer
+
+
This role reports to the CTO in an operations capacity and supports a large array of stake holders within the company.
+
+
Projects include:
+
+
+
automating HR functions like onboarding. Designing spreadsheets that answer business problems and then building software that
+aggregates the needed data from systems across the organization.
+
+
Aggregating data from systems such as Salesforce, internal MySQL databases, Drift, Google Analytics, Intercom, Zendesk, Chargify, Airtable and others.
+
+
Writing bots that help people find information from within slack.
+
+
Building reports with the goal of developing business insights.
+
+
+
This is a role where you have to wear a lot of hats to make meaningful progress.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating solutions that solve problems for a wide variety of folks. You like designing new reporting outputs. You form opinions based on what you’ve built and desire to participate in making business decisions.
+
+
Why we might like you
+
+
You enjoy working with others and are a strong communicator with an analytical mind. You’re self-motivated and able to take time to research the best ways to
+make things work now and in the future with minimal maintenance work. You relish jumping in to the unknown and understand all the data in a system thoroughly and teasing out the value
+to bring real world value.
+
+
+
+
Skills that are important to this role
+
+
google sheets: level 2 excel: level 2 sql soap rest etl oauth testing tdd linux language go
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-junior-azure-devops.html b/docs/engineering-junior-azure-devops.html
new file mode 100644
index 00000000..edb438e8
--- /dev/null
+++ b/docs/engineering-junior-azure-devops.html
@@ -0,0 +1,341 @@
+
+
+Engineering - Junior Azure DevOps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Junior Azure DevOps
+
+
+
+
What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+
Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+
Skills that are important to this role
+
+
azure networking programming security trust
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-junior-devops.html b/docs/engineering-junior-devops.html
new file mode 100644
index 00000000..c51adaf2
--- /dev/null
+++ b/docs/engineering-junior-devops.html
@@ -0,0 +1,341 @@
+
+
+Engineering - Junior DevOps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Junior DevOps
+
+
+
+
What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+
Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+
Skills that are important to this role
+
+
linux networking programming security trust
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-magento-developer.html b/docs/engineering-magento-developer.html
new file mode 100644
index 00000000..79a7a466
--- /dev/null
+++ b/docs/engineering-magento-developer.html
@@ -0,0 +1,345 @@
+
+
+Engineering - Magento 2 Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Magento 2 Developer
+
+
+
+
What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team. As our magento specialist you also have a bunch of questions and requests from others in the company about upgrading magento, testing environments for magento and other requests about that platform.
+
+
You maintain our magento environments, adding e2e (MFTF) tests where needed, and training other people how to use those environments.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
magento language php coding feature flags github actions deployments sql testing linux qa automation fire handling docker machine learning big data kubernetes customer empathy part of successful projects prometheus grafana make web api service worker web api web worker
IDE (1 of)
ide intellij ide vim ide visual studio code
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-ml-developer.html b/docs/engineering-ml-developer.html
new file mode 100644
index 00000000..dc3a17d1
--- /dev/null
+++ b/docs/engineering-ml-developer.html
@@ -0,0 +1,344 @@
+
+
+Engineering - Machine Learning Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Machine Learning Developer
+
+
+
+
What it’s like to be an ML Developer
+
+
As an ML developer, your role comprises of two main parts; research and coding. For most projects you should make a comprehensive research on the most recent and relevant state-of-the-art models which can be helpful. It can be either reconstructing the model from published academic papers or designing the model from scratch.
+
+
You should have a strong background in mathematics as the whole machine learning science is built upon mathematical and statistical models. You have strong understanding of big data and data science, as they are essential requirements for your role. In most of the projects you may need to go over the present data, clean them, sort them, and make them compatible with ML models to be trained on. You build code and contribute to the current projects, and whenever you are stuck, or you need ideas from others, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You should always be ready to provide a proof of concept and present it as a demo to the product owner and upon approval from them, deploy into staging for internal and external testing, and when everything is successful in staging env, you deploy the service to production. Creating a machine learning service is always a loop, as you need to monitor the service after deploying and often times try to enhance and improve the model by retraining it. You always should be scared of data drifting and be confident that your model is working properly.
+You always should document your built services and micro services as internal docs for the team and blog posts for clients and users. You are responsible for writing up tests for your code, such as unit tests, integration, stress tests, etc. For every project you should plot the project diagram in the most accurate way in Miro in order for other team mates to be able to learn it and contribute to it.
+
+
Again, you always research, and if in some steps of your project you are stuck and no one in the team is not able to help, you do external research in the open source world.
+
+
+
+
+
+
Why you might like it
+
+
You love AI and ML new technologies and solving problems in novel ways, and you enjoy building intelligent services and automate them in eCommerce world.
+
+
Why we might like you
+
+
You enjoy working with others and contribute to the company products. You always learn new machine learning technologies and teach them to the other team members. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
coding feature flags deployments sql testing linux qa automation fire handling docker kubernetes customer empathy big data computer vision natural language processing deep learning jupyter part of successful projects
ML Framework (2 of)
ml framework keras ml framework mxnet ml framework pytorch ml framework scikit learn ml framework tensorflow
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-qa-automation-developer.html b/docs/engineering-qa-automation-developer.html
new file mode 100644
index 00000000..f3b5f6aa
--- /dev/null
+++ b/docs/engineering-qa-automation-developer.html
@@ -0,0 +1,344 @@
+
+
+Engineering - QA Automation Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - QA Automation Developer
+
+
+
+
What it’s like to be a QA Automation Engineer
+
+
In this role you’ll to help enable and encourage our developers to design and implement tests in an efficient way by providing them with the right tools, frameworks and infrastructure. We use cypress.io as our e2e framework and you will help train our developers in the use of this tool and how to structure their work to allow for good e2e tests so they can become capable in this area. You’ll also be responsible for ensuring the build systems runs all our tests in a way that helps our software development process and ensures our product quality.
+A percentage of your time will also be building product. You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+
+
+
+
+
Why you might like it
+
+
You want to build beautiful code that solves complex ecommerce problems. You want to help a team of smart developers get better at testing and you love being surrounded by motivated people who enjoy sharing and helping each other.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
coding feature flags github actions deployments oauth sql testing linux qa automation fire handling docker launch darkly machine learning big data athena elasticsearch level 1 kubernetes customer empathy part of successful projects prometheus grafana make tdd web api service worker web api web worker
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
DB (1 of)
db mysql db postgresql db redshift
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-senior-developer.html b/docs/engineering-senior-developer.html
new file mode 100644
index 00000000..fc07bab1
--- /dev/null
+++ b/docs/engineering-senior-developer.html
@@ -0,0 +1,346 @@
+
+
+Engineering - Senior Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Senior Developer
+
+
+
+
What it’s like to be a Senior Developer
+
+
A senior developers primary job is to create code and architect solutions.
+You set aside time each week to learn about new technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
+
+
+
+
Why you might like it
+
+
You enjoy building beautiful code that solves complex ecommerce problems. You share your work others and collaborate to get to working solutions that are
+better than something you would come up with purely on your own.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
language c sharp: level 2 language clojure: level 2 language go: level 2 language javascript node: level 2 language javascript: level 2 language php: level 2 language python: level 2 language r: level 2 language ruby: level 2 language scala: level 2 language typescript: level 2
coding feature flags github actions deployments oauth sql testing linux qa automation fire handling docker launch darkly machine learning big data athena elasticsearch level 1 kubernetes customer empathy part of successful projects prometheus grafana make tdd web api service worker web api web worker
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
DB (1 of)
db mysql db postgresql db redshift
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-senior-devops.html b/docs/engineering-senior-devops.html
new file mode 100644
index 00000000..4aa81e55
--- /dev/null
+++ b/docs/engineering-senior-devops.html
@@ -0,0 +1,349 @@
+
+
+Engineering - Senior DevOps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Senior DevOps
+
+
+
+
What it’s like to be a Senior DevOps Engineer
+
+
As a Sr. DevOps engineer, you are able to craft solid and maintainable custom solutions to fill business needs. You understand the financial impact of decisions in which you are part; you are able to make business cases for the solutions you bring to the table. You proactively seek out new solutions to improve the performance, cost efficiency and reliability of our systems. You actively seek to fill gaps in the team. You pursue building relationships with members of other departments to facilitate better communication.
+
+
You solved work/life balance issues, and have found a path that will not cause burnout. You have found your fulfillment in the field and know what you love about the job.
+
+
+
+
+
+
Why you might like it
+
+
At this point you know what you love about DevOps, but what you will love about working here is the impact you will have and the level of trust you will be afforded. We hire professionals, and treat them as such. You will have the opportunity to work with brilliant peers who are highly collaborative.
+
+
Why we might like you
+
+
You facilitate collaboration with co-workers. You have the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations. You enjoy mentoring and present yourself as an approachable resource to others.
language c sharp: level 2 language clojure: level 2 language go: level 2 language javascript node: level 2 language javascript: level 2 language php: level 2 language python: level 2 language r: level 2 language ruby: level 2 language scala: level 2 language typescript: level 2
+
+
Engineering - DevOps skills
+
+
architecture blameless postmortems capacity planning cicd cloud providers clustering config management customer empathy deployments diagrams disaster recovery docker elasticsearch level 1 fire handling fire response fire triaging kubernetes
Language (2 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-senior-front-end-developer.html b/docs/engineering-senior-front-end-developer.html
new file mode 100644
index 00000000..77f31ba9
--- /dev/null
+++ b/docs/engineering-senior-front-end-developer.html
@@ -0,0 +1,345 @@
+
+
+Engineering - Senior Front End Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Senior Front End Developer
+
+
+
+
What it’s like to be a Senior Front End Developer
+
+
A senior front end developers primary job is to create code and architect solutions that run primarily on a web browser.
+You set aside time each week to learn about new web technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
+
+
+
+
Why you might like it
+
+
You enjoy building beautiful user interfaces and intuitive user experiences. You write elegant code that is both easy to read and easy to adjust. You share your work others and collaborate to get to working solutions that are better than something you would come up with purely on your own.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
git: level 2 github: level 2 github actions browser dev tools: level 2 sass css preprocessor web api service worker web api web worker
Language (3 of)
language c sharp: level 2 language clojure: level 2 language go: level 2 language javascript node: level 2 language javascript: level 2 language php: level 2 language python: level 2 language r: level 2 language ruby: level 2 language scala: level 2 language typescript: level 2
deployments linux fire handling customer empathy part of successful projects
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-senior-ui-developer.html b/docs/engineering-senior-ui-developer.html
new file mode 100644
index 00000000..a189a4c2
--- /dev/null
+++ b/docs/engineering-senior-ui-developer.html
@@ -0,0 +1,347 @@
+
+
+Engineering - Senior UI Developer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Senior UI Developer
+
+
+
+
What it’s like to be a Senior UI Developer
+
+
In this role, you will build and design software that leads to seamless interaction between humans and computers by utilizing technologies such as HTML, CSS, Javascript, front-end frameworks and design software, to concepts such as UI, UX design and patterns. You will be working with a small-sized team on our customer portal system, our client-side interfaces, and client-side libraries that act as a front end for our search API. There are an abundance of challenges, from high level sketches to architecture feasibility, to diving into the code of various front end frameworks.
+
+
As a UI developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+
You build code. When you are stuck or need to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
coding front end documentation testing cypress presentations mentoring meetings customer empathy part of successful projects: level 2
IDE (1 of)
ide intellij ide vim ide visual studio code
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
sass css preprocessor responsive design modern css flexbox/grid human computer interaction ui patterns browser dev tools
+
+
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/engineering-team-lead.html b/docs/engineering-team-lead.html
new file mode 100644
index 00000000..7088bc90
--- /dev/null
+++ b/docs/engineering-team-lead.html
@@ -0,0 +1,355 @@
+
+
+Engineering - Team Lead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Engineering - Team Lead
+
+
+
+
What it’s like to be a Team Lead
+
+
We believe in a servant leadership, with team leads helping to enable their teams build the best software they can in the fastest and safest way possible.
+Team leads are responsible for managing their team as well as leading them. Leading the way in which software is built and helping the developers grow in their careers.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+
+
+
+
+
+
Why you might like it
+
+
You want to build a successful team and look after the people in it. You enjoy working with people to achieve larger results than individuals could have on their own.
+
+
You’re not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+
+
You have strong technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You’re excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
one on ones writing competencies interviewing leading career development vision and strategy part of successful projects: level 3 time management getting things done wardley maps trust user audits meetings: level 2 fire handling fire triaging
language c sharp: level 2 language clojure: level 2 language go: level 2 language javascript node: level 2 language javascript: level 2 language php: level 2 language python: level 2 language r: level 2 language ruby: level 2 language scala: level 2 language typescript: level 2
coding feature flags github actions deployments oauth sql testing linux qa automation fire handling docker launch darkly machine learning big data athena elasticsearch level 1 kubernetes customer empathy part of successful projects prometheus grafana make tdd web api service worker web api web worker
Language (1 of)
language c sharp language clojure language go language javascript node language javascript language php language python language r language ruby language scala language typescript
IDE (1 of)
ide intellij ide vim ide visual studio code
DB (1 of)
db mysql db postgresql db redshift
+
+
Engineering - Base skills
+
+
git github kanban regex research encoding
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/hire-base.html b/docs/hire-base.html
new file mode 100644
index 00000000..a5d40996
--- /dev/null
+++ b/docs/hire-base.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/hire-engineering-azure-devops.html b/docs/hire-engineering-azure-devops.html
new file mode 100644
index 00000000..9e2ecf20
--- /dev/null
+++ b/docs/hire-engineering-azure-devops.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+Engineering - Azure DevOps
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-base.html b/docs/hire-engineering-base.html
new file mode 100644
index 00000000..22264fc7
--- /dev/null
+++ b/docs/hire-engineering-base.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/hire-engineering-developer.html b/docs/hire-engineering-developer.html
new file mode 100644
index 00000000..f83437a6
--- /dev/null
+++ b/docs/hire-engineering-developer.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+Engineering - Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-devops.html b/docs/hire-engineering-devops.html
new file mode 100644
index 00000000..efb8cca0
--- /dev/null
+++ b/docs/hire-engineering-devops.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+Engineering - DevOps
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-director.html b/docs/hire-engineering-director.html
new file mode 100644
index 00000000..68525f5e
--- /dev/null
+++ b/docs/hire-engineering-director.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+Engineering - Director
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be an Engineering Director
+
+
We believe in a servant leadership, with directors helping to enable their leads to build the best teams they can to produce effective, well tested software.
+Directors are responsible for ensuring psychological safety of the engineering teams to make bold choices and to fail fearlessly and quickly.
+They are responsible for growing their team leads in the skills they need to be effective managers and technical architects for the system.
+While not responsible for each individual architectural decision, you are responsible for ensuring that the product has an architecture that promotes low maintenance, reliability and resilliance.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+Along with your product and team responsibilities, you are also responslible for defining and maintaining SLO’s for all parts of the product.
+You will be responsible, along with the CTO, for executing against security and compliance initiatives.
+You are responsible for organizing the sharing of knowledge and technologies between teams and driving technology adoption.
+You are responsible for ensuring the engineering teams are continuing to grow their skillsets.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You thrive on enabling the accomplishments of others and delight in watching a team of people solve a problem. You enjoy feeling ownership of every aspect of product development from TDD to Monitoring. You’re not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+You have excellent technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You’re excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-front-end-developer.html b/docs/hire-engineering-front-end-developer.html
new file mode 100644
index 00000000..a6fb912d
--- /dev/null
+++ b/docs/hire-engineering-front-end-developer.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+Engineering - Front End Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Front End Developer
+
+
In this role, you will build software that utilizes technologies such as Javascript, React and Angular. Specifically, you, along with your team, will be developing our customer portal system, our client side interfaces, and client side libraries that act as a front end for our search API. There are an abundance of challenges, from building user interfaces for robust data configuration, to reporting visualizations, to internal tools that help every other employee in the company get the job done.
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-internal-application-developer.html b/docs/hire-engineering-internal-application-developer.html
new file mode 100644
index 00000000..24b0f10b
--- /dev/null
+++ b/docs/hire-engineering-internal-application-developer.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+Engineering - Internal Application Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Internal Application Developer
+
+
This role reports to the CTO in an operations capacity and supports a large array of stake holders within the company.
+
+
Projects include:
+
+
+
automating HR functions like onboarding. Designing spreadsheets that answer business problems and then building software that
+aggregates the needed data from systems across the organization.
+
+
Aggregating data from systems such as Salesforce, internal MySQL databases, Drift, Google Analytics, Intercom, Zendesk, Chargify, Airtable and others.
+
+
Writing bots that help people find information from within slack.
+
+
Building reports with the goal of developing business insights.
+
+
+
This is a role where you have to wear a lot of hats to make meaningful progress.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating solutions that solve problems for a wide variety of folks. You like designing new reporting outputs. You form opinions based on what you’ve built and desire to participate in making business decisions.
+
+Why we might like you
+
+
You enjoy working with others and are a strong communicator with an analytical mind. You’re self-motivated and able to take time to research the best ways to
+make things work now and in the future with minimal maintenance work. You relish jumping in to the unknown and understand all the data in a system thoroughly and teasing out the value
+to bring real world value.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-junior-azure-devops.html b/docs/hire-engineering-junior-azure-devops.html
new file mode 100644
index 00000000..daaab3c1
--- /dev/null
+++ b/docs/hire-engineering-junior-azure-devops.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+Engineering - Junior Azure DevOps
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-junior-devops.html b/docs/hire-engineering-junior-devops.html
new file mode 100644
index 00000000..9ee634eb
--- /dev/null
+++ b/docs/hire-engineering-junior-devops.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+Engineering - Junior DevOps
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a DevOps Engineer
+
+
DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+
The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
If you love puzzle solving, you’ll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+Why we might like you
+
+
You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-magento-developer.html b/docs/hire-engineering-magento-developer.html
new file mode 100644
index 00000000..fcf1c21c
--- /dev/null
+++ b/docs/hire-engineering-magento-developer.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+Engineering - Magento 2 Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team. As our magento specialist you also have a bunch of questions and requests from others in the company about upgrading magento, testing environments for magento and other requests about that platform.
+
+
You maintain our magento environments, adding e2e (MFTF) tests where needed, and training other people how to use those environments.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-ml-developer.html b/docs/hire-engineering-ml-developer.html
new file mode 100644
index 00000000..2f9a56fb
--- /dev/null
+++ b/docs/hire-engineering-ml-developer.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+Engineering - Machine Learning Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be an ML Developer
+
+
As an ML developer, your role comprises of two main parts; research and coding. For most projects you should make a comprehensive research on the most recent and relevant state-of-the-art models which can be helpful. It can be either reconstructing the model from published academic papers or designing the model from scratch.
+
+
You should have a strong background in mathematics as the whole machine learning science is built upon mathematical and statistical models. You have strong understanding of big data and data science, as they are essential requirements for your role. In most of the projects you may need to go over the present data, clean them, sort them, and make them compatible with ML models to be trained on. You build code and contribute to the current projects, and whenever you are stuck, or you need ideas from others, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You should always be ready to provide a proof of concept and present it as a demo to the product owner and upon approval from them, deploy into staging for internal and external testing, and when everything is successful in staging env, you deploy the service to production. Creating a machine learning service is always a loop, as you need to monitor the service after deploying and often times try to enhance and improve the model by retraining it. You always should be scared of data drifting and be confident that your model is working properly.
+You always should document your built services and micro services as internal docs for the team and blog posts for clients and users. You are responsible for writing up tests for your code, such as unit tests, integration, stress tests, etc. For every project you should plot the project diagram in the most accurate way in Miro in order for other team mates to be able to learn it and contribute to it.
+
+
Again, you always research, and if in some steps of your project you are stuck and no one in the team is not able to help, you do external research in the open source world.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love AI and ML new technologies and solving problems in novel ways, and you enjoy building intelligent services and automate them in eCommerce world.
+
+Why we might like you
+
+
You enjoy working with others and contribute to the company products. You always learn new machine learning technologies and teach them to the other team members. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-qa-automation-developer.html b/docs/hire-engineering-qa-automation-developer.html
new file mode 100644
index 00000000..8c4f51a9
--- /dev/null
+++ b/docs/hire-engineering-qa-automation-developer.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+Engineering - QA Automation Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a QA Automation Engineer
+
+
In this role you’ll to help enable and encourage our developers to design and implement tests in an efficient way by providing them with the right tools, frameworks and infrastructure. We use cypress.io as our e2e framework and you will help train our developers in the use of this tool and how to structure their work to allow for good e2e tests so they can become capable in this area. You’ll also be responsible for ensuring the build systems runs all our tests in a way that helps our software development process and ensures our product quality.
+A percentage of your time will also be building product. You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You want to build beautiful code that solves complex ecommerce problems. You want to help a team of smart developers get better at testing and you love being surrounded by motivated people who enjoy sharing and helping each other.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-senior-developer.html b/docs/hire-engineering-senior-developer.html
new file mode 100644
index 00000000..6d917d13
--- /dev/null
+++ b/docs/hire-engineering-senior-developer.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+Engineering - Senior Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Senior Developer
+
+
A senior developers primary job is to create code and architect solutions.
+You set aside time each week to learn about new technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You enjoy building beautiful code that solves complex ecommerce problems. You share your work others and collaborate to get to working solutions that are
+better than something you would come up with purely on your own.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-senior-devops.html b/docs/hire-engineering-senior-devops.html
new file mode 100644
index 00000000..02045e41
--- /dev/null
+++ b/docs/hire-engineering-senior-devops.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+Engineering - Senior DevOps
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Senior DevOps Engineer
+
+
As a Sr. DevOps engineer, you are able to craft solid and maintainable custom solutions to fill business needs. You understand the financial impact of decisions in which you are part; you are able to make business cases for the solutions you bring to the table. You proactively seek out new solutions to improve the performance, cost efficiency and reliability of our systems. You actively seek to fill gaps in the team. You pursue building relationships with members of other departments to facilitate better communication.
+
+
You solved work/life balance issues, and have found a path that will not cause burnout. You have found your fulfillment in the field and know what you love about the job.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
At this point you know what you love about DevOps, but what you will love about working here is the impact you will have and the level of trust you will be afforded. We hire professionals, and treat them as such. You will have the opportunity to work with brilliant peers who are highly collaborative.
+
+Why we might like you
+
+
You facilitate collaboration with co-workers. You have the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations. You enjoy mentoring and present yourself as an approachable resource to others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-senior-front-end-developer.html b/docs/hire-engineering-senior-front-end-developer.html
new file mode 100644
index 00000000..05b510c9
--- /dev/null
+++ b/docs/hire-engineering-senior-front-end-developer.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+Engineering - Senior Front End Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Senior Front End Developer
+
+
A senior front end developers primary job is to create code and architect solutions that run primarily on a web browser.
+You set aside time each week to learn about new web technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You enjoy building beautiful user interfaces and intuitive user experiences. You write elegant code that is both easy to read and easy to adjust. You share your work others and collaborate to get to working solutions that are better than something you would come up with purely on your own.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-senior-ui-developer.html b/docs/hire-engineering-senior-ui-developer.html
new file mode 100644
index 00000000..32ff0292
--- /dev/null
+++ b/docs/hire-engineering-senior-ui-developer.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+Engineering - Senior UI Developer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Senior UI Developer
+
+
In this role, you will build and design software that leads to seamless interaction between humans and computers by utilizing technologies such as HTML, CSS, Javascript, front-end frameworks and design software, to concepts such as UI, UX design and patterns. You will be working with a small-sized team on our customer portal system, our client-side interfaces, and client-side libraries that act as a front end for our search API. There are an abundance of challenges, from high level sketches to architecture feasibility, to diving into the code of various front end frameworks.
+
+
As a UI developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+
You build code. When you are stuck or need to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-engineering-team-lead.html b/docs/hire-engineering-team-lead.html
new file mode 100644
index 00000000..344caf86
--- /dev/null
+++ b/docs/hire-engineering-team-lead.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+Engineering - Team Lead
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Team Lead
+
+
We believe in a servant leadership, with team leads helping to enable their teams build the best software they can in the fastest and safest way possible.
+Team leads are responsible for managing their team as well as leading them. Leading the way in which software is built and helping the developers grow in their careers.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You want to build a successful team and look after the people in it. You enjoy working with people to achieve larger results than individuals could have on their own.
+
+
You’re not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+
+
You have strong technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You’re excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-product-vp-of-product.html b/docs/hire-product-vp-of-product.html
new file mode 100644
index 00000000..8df0833a
--- /dev/null
+++ b/docs/hire-product-vp-of-product.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+Product - VP of Product
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be the VP of Product
+
+
In this role, you will build and lead the product to to build software. Specifically, you, along with a small sized team, will help dictate what we build based on what our customer needs and wants. There are an abundance of challenges, from keeping up competitors, to meeting customers needs, to working with the engineering team to get the job done.
+
+
As the leader of product you will lead the team to build great products. You will interact with sales, marketing, and customers to help lead you to what to build. You will be part of the senior leadership team and contribute to the overall strategy of the company. You will be or become an expert in ecommerce and know search backwards and forwards. You will help evaluate new products to either build or buy.
+
+
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love building great products and have a passion for ecommerce. You enjoy working with talented engineers that take your idea and make it a reality.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor product owners and product managers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
+
+Skills or experience that are important to this role
+
+
You have been in a general management or founder role and were directly responsible for the overall business results of a product that you owned; You have worked for a high-growth technology company and directly led the product management function for products/services targeted to the middle/enterprise market; or
+You have directly (or as part of a core team) launched/relaunched a product that has gone through product-market-fit, followed by explosive market adoption; or you have >4 years in product management at a blue-chip tech company and have demonstrated accelerated career progression (by scope and responsibility)
+
+About Searchspring
+
+
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-sales-sales-engineer.html b/docs/hire-sales-sales-engineer.html
new file mode 100644
index 00000000..c0562c94
--- /dev/null
+++ b/docs/hire-sales-sales-engineer.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+Sales - Sales Engineer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Sales Engineer
+
+
The primary goal of a sales engineer is to ensure the success of the technical side of the sale. Working along side
+an account executive together you will figure out the strategy to win each deal. During presentations and customer
+meetings you will be responsible for answering technical questions and giving demos that are tailored to the customer
+pulling from your knowledge of our 1,800+ customer base.
+When not presenting to customers you will be responsible for building custom demonstrations for high net worth prospects,
+tackling and managing RFPs and security questionnaires.
+When not doing either of those, you are thinking about how to improve our presales process, and building technical relationsips
+with your prospects.
+Every conversation you have is a story, conveying your expertise about the problem, a solution to the problem, that ends in
+value to the customer.
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
Sales Engineering blends a myriad of technical and sales skills together and generally stretches the technical ability of a
+sales focused engineer, or the sales skills of a technical sales engineer.
+In this role you’ll be presenting multiple times a day to a wide range of roles and personality types.
+You’ll meet, present to and talk with a wide array of people from engineers to CEO’s of fortune 500 companies as well as
+dealing with product and document data from many verticals within the ecommerce landscape.
+You’ll experience the rush of closing large deals and the financial rewards that come with that and you’ll travel all
+over the US to meet customers in person.
+
+Why you might not like it
+
+
The sales engineer role is a rollercoaster both emotionally and with regard to deal flow. There are incredibly busy periods during the quarter where you will be expected
+to work long hours to ensure POCs and presentations are ready as well as days where you’ll have many presentations crammed
+in to the work day. There will also be periods during the quarter with very little to do and these times are where you should
+sharpen your skills and prepare for the next avalanche of deals.
+You’ll spend long hours creating beautiful document responses to RFPs or a custom demo on a deal that you may then lose.
+
+Why we might like you
+
+
You’re a high energy individual with a technical background and are unflappable in the face of adversity and challenge.
+You can talk articulately and clearly, conveying meaning about technical concepts to non-technical people.
+You enjoy coding and presenting, explaining, and showing value as you do.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/hire-solutions-engineer.html b/docs/hire-solutions-engineer.html
new file mode 100644
index 00000000..2330511a
--- /dev/null
+++ b/docs/hire-solutions-engineer.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+Implementations - Solutions Engineer
+
+
Welcome to Searchspring, we’re happy you’re applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+
At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that’s the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+
We don’t want brilliance without empathy. We don’t want creators who don’t share. We don’t want rock stars that
+don’t contribute to the community.
+
+What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
The following technologies are currently being used here, you don’t need to know them all, but you should definitely know what they are.
+
+
Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+
Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+
Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp’s Shape Up methodology. https://basecamp.com/shapeup
+
+
Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc…)
+
+Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+What you need
+
+
At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
+
+What’s in it for you
+
+
+
$1,000 education budget
+
Company-paid health, dental, and vision insurance
+
+
Start-up environment with a proven playbook
+
+
Casual dress and fun work atmosphere
+
+
You’ll be part of a small, powerful team
+
+
The chance to work with innovative and progressive technology
+
+
Minimum bureaucracy environment
+
+
Medical and dependent care flexible spending accounts
+
+
Company Short Term Disability coverage
+
+
Company-paid Life and AD&D coverage with option to purchase additional coverage
+
+
Open PTO policy
+
+
9 paid public holidays each year
+
401(k) plan in the US
+
+
+
+
+
We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
+
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 00000000..bbe41f53
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,16 @@
+
+ Competency Base Role Definitions
+
+
+
+
+
+
This application displays a list of role definitions and competencies that are needed in that role. You can sign in to google drive to attach a spreadsheet to a role that will track progress of an employee through that role.
In this role, you will build and lead the product to to build software. Specifically, you, along with a small sized team, will help dictate what we build based on what our customer needs and wants. There are an abundance of challenges, from keeping up competitors, to meeting customers needs, to working with the engineering team to get the job done.
+
+
As the leader of product you will lead the team to build great products. You will interact with sales, marketing, and customers to help lead you to what to build. You will be part of the senior leadership team and contribute to the overall strategy of the company. You will be or become an expert in ecommerce and know search backwards and forwards. You will help evaluate new products to either build or buy.
+
+
+
+
+
Why you might like it
+
+
You love building great products and have a passion for ecommerce. You enjoy working with talented engineers that take your idea and make it a reality.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor product owners and product managers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills or experience that are important to this role
+
+
You have been in a general management or founder role and were directly responsible for the overall business results of a product that you owned; You have worked for a high-growth technology company and directly led the product management function for products/services targeted to the middle/enterprise market; or
+You have directly (or as part of a core team) launched/relaunched a product that has gone through product-market-fit, followed by explosive market adoption; or you have >4 years in product management at a blue-chip tech company and have demonstrated accelerated career progression (by scope and responsibility)
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/sales-sales-engineer.html b/docs/sales-sales-engineer.html
new file mode 100644
index 00000000..a3800ad2
--- /dev/null
+++ b/docs/sales-sales-engineer.html
@@ -0,0 +1,358 @@
+
+
+Sales - Sales Engineer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sales - Sales Engineer
+
+
+
+
What it’s like to be a Sales Engineer
+
+
The primary goal of a sales engineer is to ensure the success of the technical side of the sale. Working along side
+an account executive together you will figure out the strategy to win each deal. During presentations and customer
+meetings you will be responsible for answering technical questions and giving demos that are tailored to the customer
+pulling from your knowledge of our 1,800+ customer base.
+When not presenting to customers you will be responsible for building custom demonstrations for high net worth prospects,
+tackling and managing RFPs and security questionnaires.
+When not doing either of those, you are thinking about how to improve our presales process, and building technical relationsips
+with your prospects.
+Every conversation you have is a story, conveying your expertise about the problem, a solution to the problem, that ends in
+value to the customer.
+
+
+
+
Why you might like it
+
+
Sales Engineering blends a myriad of technical and sales skills together and generally stretches the technical ability of a
+sales focused engineer, or the sales skills of a technical sales engineer.
+In this role you’ll be presenting multiple times a day to a wide range of roles and personality types.
+You’ll meet, present to and talk with a wide array of people from engineers to CEO’s of fortune 500 companies as well as
+dealing with product and document data from many verticals within the ecommerce landscape.
+You’ll experience the rush of closing large deals and the financial rewards that come with that and you’ll travel all
+over the US to meet customers in person.
+
+
Why you might not like it
+
+
The sales engineer role is a rollercoaster both emotionally and with regard to deal flow. There are incredibly busy periods during the quarter where you will be expected
+to work long hours to ensure POCs and presentations are ready as well as days where you’ll have many presentations crammed
+in to the work day. There will also be periods during the quarter with very little to do and these times are where you should
+sharpen your skills and prepare for the next avalanche of deals.
+You’ll spend long hours creating beautiful document responses to RFPs or a custom demo on a deal that you may then lose.
+
+
Why we might like you
+
+
You’re a high energy individual with a technical background and are unflappable in the face of adversity and challenge.
+You can talk articulately and clearly, conveying meaning about technical concepts to non-technical people.
+You enjoy coding and presenting, explaining, and showing value as you do.
+
+
+
+
Skills that are important to this role
+
+
presenting presentations rfp creation poc creation documentation coding front end customer empathy github meetings research language javascript
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/seedling.png b/docs/seedling.png
new file mode 100644
index 00000000..4011a802
Binary files /dev/null and b/docs/seedling.png differ
diff --git a/docs/solutions-engineer.html b/docs/solutions-engineer.html
new file mode 100644
index 00000000..95898a87
--- /dev/null
+++ b/docs/solutions-engineer.html
@@ -0,0 +1,339 @@
+
+
+Implementations - Solutions Engineer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Implementations - Solutions Engineer
+
+
+
+
What it’s like to be a Developer
+
+
As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+
You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+
Why you might like it
+
+
You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+
Why we might like you
+
+
You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+
Skills that are important to this role
+
+
shopify data
+
+
Base skills
+
+
human empathy communication community builder recruiter slack asana miro 1password security computers email calendar google drive expense tracking remote work
This application displays a list of role definitions and competencies that are needed in that role. You can sign in to google drive to attach a spreadsheet to a role that will track progress of an employee through that role.
", result)
+}
diff --git a/roles/base.md b/roles/base.md
new file mode 100644
index 00000000..76f67ace
--- /dev/null
+++ b/roles/base.md
@@ -0,0 +1,24 @@
+# Base
+
+General skills needed to excel at Searchspring
+
+
+Human
+Empathy
+Communication
+Community builder
+Recruiter
+Slack
+Asana
+Miro
+1Password
+Security
+Computers
+Email
+Calendar
+Google Drive
+Expense Tracking
+Remote Work
+
+
+
diff --git a/roles/engineering-azure-devops.md b/roles/engineering-azure-devops.md
new file mode 100644
index 00000000..5d6b3566
--- /dev/null
+++ b/roles/engineering-azure-devops.md
@@ -0,0 +1,62 @@
+# Engineering - Azure DevOps
+
+
+## What it's like to be a DevOps Engineer
+DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
+## Why you might like it
+If you love puzzle solving, you'll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+## Why we might like you
+You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+## Skills that are important to this role
+
+
+Architecture
+Blameless Postmortems
+Capacity Planning
+CICD
+Cloud Providers
+Clustering
+Config Management
+Customer Empathy
+Deployments
+Diagrams
+Disaster Recovery
+Docker
+SQL Server
+Azure Application Insights
+PowerShell
+Nginx
+Github Actions
+Appveyor
+Selenium
+Fire Handling
+Fire Response
+Fire Triaging
+Kubernetes
+Metrics
+Networking:2
+Secrets Management
+Security
+3 of Technical Breadth
+2 of Language:1
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-base.md b/roles/engineering-base.md
new file mode 100644
index 00000000..195b71af
--- /dev/null
+++ b/roles/engineering-base.md
@@ -0,0 +1,12 @@
+# Engineering - Base
+
+
+Git
+Github
+Kanban
+Regex
+Research
+Encoding
+
+
+
diff --git a/roles/engineering-developer-2.md b/roles/engineering-developer-2.md
new file mode 100644
index 00000000..c902d61f
--- /dev/null
+++ b/roles/engineering-developer-2.md
@@ -0,0 +1,62 @@
+# Engineering - Developer 1
+
+
+## What it's like to be a Developer
+As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Coding
+Feature Flags
+Github Actions
+Deployments
+OAuth
+SQL
+Testing
+Linux
+QA Automation
+Fire Handling
+Docker
+Launch Darkly
+Machine Learning
+Big Data
+Athena
+Elasticsearch Level 1
+Kubernetes
+Customer Empathy
+Part of Successful Projects:1
+Prometheus
+Grafana
+Make
+TDD
+Web API Service Worker
+Web API Web Worker
+1 of Language
+1 of IDE
+1 of DB
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-developer-3.md b/roles/engineering-developer-3.md
new file mode 100644
index 00000000..405162a5
--- /dev/null
+++ b/roles/engineering-developer-3.md
@@ -0,0 +1,46 @@
+# Engineering - Developer 3
+
+
+## What it's like to be Developer 3
+A senior developer's primary job is to create code and architect solutions.
+You set aside time each week to learn about new technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
+
+
+
+## Why you might like it
+You enjoy building beautiful code that solves complex ecommerce problems. You share your work others and collaborate to get to working solutions that are
+better than something you would come up with purely on your own.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Architecture:2
+Git:2
+Github:2
+Deployments:2
+Diagrams
+Documentation
+Presentations
+Mentoring
+Meetings
+Part of Successful Projects:2
+2 of Language:2
+5 of Technical Breadth
+1 of UI Framework
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-devops-1.md b/roles/engineering-devops-1.md
new file mode 100644
index 00000000..339f19da
--- /dev/null
+++ b/roles/engineering-devops-1.md
@@ -0,0 +1,38 @@
+# Engineering - DevOps 1
+
+
+## What it's like to be a DevOps Engineer
+DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
+## Why you might like it
+If you love puzzle solving, you'll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+## Why we might like you
+You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+## Skills that are important to this role
+
+
+Linux
+Networking
+Programming
+Security
+Trust
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/engineering-devops-2.md b/roles/engineering-devops-2.md
new file mode 100644
index 00000000..7d9cb35c
--- /dev/null
+++ b/roles/engineering-devops-2.md
@@ -0,0 +1,62 @@
+# Engineering - DevOps 2
+
+
+## What it's like to be a DevOps Engineer
+DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must be able to understand how to administer systems and write software to do so. You must be able to program in several languages and have the ability to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
+## Why you might like it
+If you love puzzle solving, you'll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+## Why we might like you
+You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+## Skills that are important to this role
+
+
+Architecture
+Blameless Postmortems
+Capacity Planning
+CICD
+Cloud Providers
+Clustering
+Config Management
+Customer Empathy
+Deployments
+Diagrams
+Disaster Recovery
+Docker
+Elasticsearch Level 1
+Fire Handling
+Fire Response
+Fire Triaging
+Kubernetes
+2 of Language:1
+Linux:2
+Prometheus
+Grafana
+Metrics
+Networking:2
+Rundeck
+Secrets Management
+Security
+Sumologic
+Trust
+3 of Technical Breadth
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-devops-3.md b/roles/engineering-devops-3.md
new file mode 100644
index 00000000..a192cdeb
--- /dev/null
+++ b/roles/engineering-devops-3.md
@@ -0,0 +1,56 @@
+# Engineering - DevOps 3
+
+
+## What it's like to be a DevOps Engineer 3
+As an experienced DevOps engineer, you are able to craft solid and maintainable custom solutions to fill business needs. You understand the financial impact of decisions in which you are part; you are able to make business cases for the solutions you bring to the table. You proactively seek out new solutions to improve the performance, cost efficiency and reliability of our systems. You actively seek to fill gaps in the team. You pursue building relationships with members of other departments to facilitate better communication.
+
+You solved work/life balance issues, and have found a path that will not cause burnout. You have found your fulfillment in the field and know what you love about the job.
+
+
+
+
+
+
+## Why you might like it
+At this point you know what you love about DevOps, but what you will love about working here is the impact you will have and the level of trust you will be afforded. We hire professionals, and treat them as such. You will have the opportunity to work with brilliant peers who are highly collaborative.
+
+## Why we might like you
+You facilitate collaboration with co-workers. You have the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations. You enjoy mentoring and present yourself as an approachable resource to others.
+
+
+
+## Skills that are important to this role
+
+
+Architecture:2
+Blameless Postmortems:2
+Capacity Planning:2
+CICD:2
+Cloud Providers:2
+Clustering:2
+Deployments:2
+Diagrams:2
+Disaster Recovery:2
+Docker:2
+Elasticsearch:2
+Git:2
+Github:2
+Kubernetes:2
+Linux:3
+Metrics:2
+Networking:3
+Research:2
+Rundeck:2
+Security:2
+Sumologic:2
+6 of Technical Breadth:2
+5 of Language:2
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-director.md b/roles/engineering-director.md
new file mode 100644
index 00000000..4d1a5779
--- /dev/null
+++ b/roles/engineering-director.md
@@ -0,0 +1,48 @@
+# Engineering - Director
+
+
+## What it's like to be an Engineering Director
+We believe in a servant leadership, with directors helping to enable their leads to build the best teams they can to produce effective, well tested software.
+Directors are responsible for ensuring psychological safety of the engineering teams to make bold choices and to fail fearlessly and quickly.
+They are responsible for growing their team leads in the skills they need to be effective managers and technical architects for the system.
+While not responsible for each individual architectural decision, you are responsible for ensuring that the product has an architecture that promotes low maintenance, reliability and resilliance.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+Along with your product and team responsibilities, you are also responslible for defining and maintaining SLO's for all parts of the product.
+You will be responsible, along with the CTO, for executing against security and compliance initiatives.
+You are responsible for organizing the sharing of knowledge and technologies between teams and driving technology adoption.
+You are responsible for ensuring the engineering teams are continuing to grow their skillsets.
+
+
+
+
+
+## Why you might like it
+You thrive on enabling the accomplishments of others and delight in watching a team of people solve a problem. You enjoy feeling ownership of every aspect of product development from TDD to Monitoring. You're not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+You have excellent technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You're excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Managing managers
+Risk Evaluation
+Compliance
+Technical RFPs
+Security Reviews
+Vendor selection
+Technology Evangelism
+Process Management
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-front-end-developer.md b/roles/engineering-front-end-developer.md
new file mode 100644
index 00000000..61c6b309
--- /dev/null
+++ b/roles/engineering-front-end-developer.md
@@ -0,0 +1,53 @@
+# Engineering - Front End Developer
+
+
+## What it's like to be a Front End Developer
+In this role, you will build software that utilizes technologies such as Javascript, React and Angular. Specifically, you, along with your team, will be developing our customer portal system, our client side interfaces, and client side libraries that act as a front end for our search API. There are an abundance of challenges, from building user interfaces for robust data configuration, to reporting visualizations, to internal tools that help every other employee in the company get the job done.
+
+As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Language Javascript Node
+Language Typescript
+Front End
+Coding
+QA Automation
+Testing
+Cypress
+Webpack
+Feature Flags
+Browser Dev Tools
+2 of UI Framework
+1 of IDE
+Deployments
+Linux
+Fire Handling
+Customer Empathy
+Part of Successful Projects:1
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/engineering-internal-application-developer.md b/roles/engineering-internal-application-developer.md
new file mode 100644
index 00000000..bbe77ed1
--- /dev/null
+++ b/roles/engineering-internal-application-developer.md
@@ -0,0 +1,57 @@
+# Engineering - Internal Application Developer
+
+
+## What it's like to be a Internal Application Developer
+This role reports to the CTO in an operations capacity and supports a large array of stake holders within the company.
+
+Projects include:
+
+- automating HR functions like onboarding. Designing spreadsheets that answer business problems and then building software that
+aggregates the needed data from systems across the organization.
+
+- Aggregating data from systems such as Salesforce, internal MySQL databases, Drift, Google Analytics, Intercom, Zendesk, Chargify, Airtable and others.
+
+- Writing bots that help people find information from within slack.
+
+- Building reports with the goal of developing business insights.
+
+This is a role where you have to wear a lot of hats to make meaningful progress.
+
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating solutions that solve problems for a wide variety of folks. You like designing new reporting outputs. You form opinions based on what you've built and desire to participate in making business decisions.
+
+## Why we might like you
+You enjoy working with others and are a strong communicator with an analytical mind. You're self-motivated and able to take time to research the best ways to
+make things work now and in the future with minimal maintenance work. You relish jumping in to the unknown and understand all the data in a system thoroughly and teasing out the value
+to bring real world value.
+
+
+
+## Skills that are important to this role
+
+
+Google Sheets:2
+Excel:2
+SQL
+SOAP
+Rest
+ETL
+OAuth
+Testing
+TDD
+Linux
+Language Go
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-junior-azure-devops.md b/roles/engineering-junior-azure-devops.md
new file mode 100644
index 00000000..7785b6b1
--- /dev/null
+++ b/roles/engineering-junior-azure-devops.md
@@ -0,0 +1,38 @@
+# Engineering - Junior Azure DevOps
+
+
+## What it's like to be a DevOps Engineer
+DevOps is the marriage of development and systems operations. Modern systems administration has been largely codified in software these days and requires in equal parts an understanding of systems architecture and software development. You must learn to understand how to administer systems and write software to do so. You must learn to pick up new languages quickly. You must also be able to rapidly learn new technologies as you are constantly being required to implement and administer new systems.
+
+The job also requires a lot of on call availability. You are the first line of defense, keeping systems available and dealing with unforeseen issues. This job will impact your social life, and requires effort to learn to maintain a work/life balance. This challenge is fulfilling but not enjoyed by everyone. If you are the type of person who needs to go incommunicado while not at work, this role is not for you.
+
+
+
+
+
+
+## Why you might like it
+If you love puzzle solving, you'll find lots of it in this role. In this career path you’ll be a perpetual student at every level. There are always new skills to acquire, and real cases to employ them. This job gives you the opportunity to work with bleeding edge technologies in a real world environment. You will have a clear and tangible impact participating in the design and building of elegant solutions to create a beautiful system.
+
+## Why we might like you
+You have a strong drive to collaborate with others. You possess the ability to express your ideas and defend them. You demonstrate humility, empathy and professionalism; the ability to admit when you’re wrong, understanding when others make mistakes, and the comportment to deal with others in a respectful way in both situations.
+
+
+
+## Skills that are important to this role
+
+
+Azure
+Networking
+Programming
+Security
+Trust
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/engineering-magento-developer.md b/roles/engineering-magento-developer.md
new file mode 100644
index 00000000..e0d9f084
--- /dev/null
+++ b/roles/engineering-magento-developer.md
@@ -0,0 +1,59 @@
+# Engineering - Magento 2 Developer
+
+
+## What it's like to be a Developer
+As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team. As our magento specialist you also have a bunch of questions and requests from others in the company about upgrading magento, testing environments for magento and other requests about that platform.
+
+You maintain our magento environments, adding e2e (MFTF) tests where needed, and training other people how to use those environments.
+
+You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Magento
+Language PHP
+Coding
+Feature Flags
+Github Actions
+Deployments
+SQL
+Testing
+Linux
+QA Automation
+Fire Handling
+Docker
+Machine Learning
+Big Data
+Kubernetes
+Customer Empathy
+Part of Successful Projects:1
+Prometheus
+Grafana
+Make
+Web API Service Worker
+Web API Web Worker
+1 of IDE
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-ml-developer.md b/roles/engineering-ml-developer.md
new file mode 100644
index 00000000..236ec77d
--- /dev/null
+++ b/roles/engineering-ml-developer.md
@@ -0,0 +1,55 @@
+# Engineering - Machine Learning Developer
+
+
+## What it's like to be an ML Developer
+As an ML developer, your role comprises of two main parts; research and coding. For most projects you should make a comprehensive research on the most recent and relevant state-of-the-art models which can be helpful. It can be either reconstructing the model from published academic papers or designing the model from scratch.
+
+You should have a strong background in mathematics as the whole machine learning science is built upon mathematical and statistical models. You have strong understanding of big data and data science, as they are essential requirements for your role. In most of the projects you may need to go over the present data, clean them, sort them, and make them compatible with ML models to be trained on. You build code and contribute to the current projects, and whenever you are stuck, or you need ideas from others, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You should always be ready to provide a proof of concept and present it as a demo to the product owner and upon approval from them, deploy into staging for internal and external testing, and when everything is successful in staging env, you deploy the service to production. Creating a machine learning service is always a loop, as you need to monitor the service after deploying and often times try to enhance and improve the model by retraining it. You always should be scared of data drifting and be confident that your model is working properly.
+You always should document your built services and micro services as internal docs for the team and blog posts for clients and users. You are responsible for writing up tests for your code, such as unit tests, integration, stress tests, etc. For every project you should plot the project diagram in the most accurate way in Miro in order for other team mates to be able to learn it and contribute to it.
+
+Again, you always research, and if in some steps of your project you are stuck and no one in the team is not able to help, you do external research in the open source world.
+
+
+
+
+
+## Why you might like it
+You love AI and ML new technologies and solving problems in novel ways, and you enjoy building intelligent services and automate them in eCommerce world.
+
+## Why we might like you
+You enjoy working with others and contribute to the company products. You always learn new machine learning technologies and teach them to the other team members. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Coding
+Feature Flags
+Deployments
+SQL
+Testing
+Linux
+QA Automation
+Fire Handling
+Docker
+Kubernetes
+Customer Empathy
+Big Data
+Computer Vision
+Natural Language Processing
+Deep Learning
+Jupyter
+Part of Successful Projects:1
+2 of ML Framework
+1 of Language
+1 of IDE
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-qa-automation-developer.md b/roles/engineering-qa-automation-developer.md
new file mode 100644
index 00000000..05587711
--- /dev/null
+++ b/roles/engineering-qa-automation-developer.md
@@ -0,0 +1,45 @@
+# Engineering - QA Automation Developer
+
+
+## What it's like to be a QA Automation Engineer
+In this role you'll to help enable and encourage our developers to design and implement tests in an efficient way by providing them with the right tools, frameworks and infrastructure. We use cypress.io as our e2e framework and you will help train our developers in the use of this tool and how to structure their work to allow for good e2e tests so they can become capable in this area. You'll also be responsible for ensuring the build systems runs all our tests in a way that helps our software development process and ensures our product quality.
+A percentage of your time will also be building product. You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+
+
+
+
+## Why you might like it
+You want to build beautiful code that solves complex ecommerce problems. You want to help a team of smart developers get better at testing and you love being surrounded by motivated people who enjoy sharing and helping each other.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Testing:2
+QA Automation
+Architecture
+Git:2
+Github:2
+Coding:2
+Deployments
+Cypress
+Diagrams
+Documentation
+Presentations
+Mentoring
+Part of Successful Projects:2
+5 of Technical Breadth
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/engineering-senior-front-end-developer.md b/roles/engineering-senior-front-end-developer.md
new file mode 100644
index 00000000..f4defe39
--- /dev/null
+++ b/roles/engineering-senior-front-end-developer.md
@@ -0,0 +1,49 @@
+# Engineering - Senior Front End Developer
+
+
+## What it's like to be a Senior Front End Developer
+A senior front end developers primary job is to create code and architect solutions that run primarily on a web browser.
+You set aside time each week to learn about new web technologies and help less senior programmers get better, through pair programming and knowledge sharing.
+You present technology choices and research tasks to the development team to build consensus around a specific technology.
+
+
+
+
+
+## Why you might like it
+You enjoy building beautiful user interfaces and intuitive user experiences. You write elegant code that is both easy to read and easy to adjust. You share your work others and collaborate to get to working solutions that are better than something you would come up with purely on your own.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Git:2
+Github:2
+Github Actions
+Browser Dev Tools:2
+SASS CSS Preprocessor
+Web API Service Worker
+Web API Web Worker
+3 of Language:2
+4 of Technical Breadth
+3 of UI Framework
+1 of Design Tool
+Diagrams
+Documentation
+Presentations
+Mentoring
+Meetings
+Part of Successful Projects:2
+
+
+
+
+
+
+
+
+
diff --git a/roles/engineering-senior-ui-developer.md b/roles/engineering-senior-ui-developer.md
new file mode 100644
index 00000000..19670fbf
--- /dev/null
+++ b/roles/engineering-senior-ui-developer.md
@@ -0,0 +1,60 @@
+# Engineering - Senior UI Developer
+
+
+## What it's like to be a Senior UI Developer
+
+In this role, you will build and design software that leads to seamless interaction between humans and computers by utilizing technologies such as HTML, CSS, Javascript, front-end frameworks and design software, to concepts such as UI, UX design and patterns. You will be working with a small-sized team on our customer portal system, our client-side interfaces, and client-side libraries that act as a front end for our search API. There are an abundance of challenges, from high level sketches to architecture feasibility, to diving into the code of various front end frameworks.
+
+As a UI developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+You set aside time each week to learn about new technologies and help less senior programmers get better, though pair programming and knowledge sharing.
+
+You build code. When you are stuck or need to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Coding
+Front End
+Documentation
+Testing
+Cypress
+Presentations
+Mentoring
+Meetings
+Customer Empathy
+Part of Successful Projects:2
+1 of IDE
+1 of Language
+2 of UI Framework
+1 of Design Tool
+1 of CSS Framework
+SASS CSS Preprocessor
+Responsive design
+Modern CSS flexbox/grid
+Human-computer interaction
+UI patterns
+Browser Dev Tools
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/engineering-team-lead.md b/roles/engineering-team-lead.md
new file mode 100644
index 00000000..7b40a388
--- /dev/null
+++ b/roles/engineering-team-lead.md
@@ -0,0 +1,52 @@
+# Engineering - Team Lead
+
+
+## What it's like to be a Team Lead
+We believe in a servant leadership, with team leads helping to enable their teams build the best software they can in the fastest and safest way possible.
+Team leads are responsible for managing their team as well as leading them. Leading the way in which software is built and helping the developers grow in their careers.
+You set aside time each week for your direct reports, and in this 1:1 you discuss career development, work issues, life issues impacting work.
+A portion of your monthly workload will be interviewing, screening and reference checks on candidates for Searchspring.
+
+
+
+
+
+## Why you might like it
+You want to build a successful team and look after the people in it. You enjoy working with people to achieve larger results than individuals could have on their own.
+
+You're not afraid of dealing with conflict, and can approach difficult situations with candor and humility.
+
+You have strong technical and analytical skills, with an advanced knowledge of computer software languages, platforms and current methodologies. You're excited to share this knowledge with others, and constantly set a good example with solid software engineering principles.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+One on Ones
+Writing Competencies
+Interviewing
+Leading
+Career Development
+Vision and Strategy
+Part of Successful Projects:3
+Time Management
+Getting Things Done
+Wardley Maps
+Trust
+User Audits
+Meetings:2
+Fire Handling
+Fire Triaging
+
+
+
+
+
+
+
+
+
diff --git a/roles/product-vp-of-product.md b/roles/product-vp-of-product.md
new file mode 100644
index 00000000..cafffb4c
--- /dev/null
+++ b/roles/product-vp-of-product.md
@@ -0,0 +1,31 @@
+# Product - VP of Product
+
+
+
+## What it’s like to be the VP of Product
+
+
+In this role, you will build and lead the product to to build software. Specifically, you, along with a small sized team, will help dictate what we build based on what our customer needs and wants. There are an abundance of challenges, from keeping up competitors, to meeting customers needs, to working with the engineering team to get the job done.
+
+As the leader of product you will lead the team to build great products. You will interact with sales, marketing, and customers to help lead you to what to build. You will be part of the senior leadership team and contribute to the overall strategy of the company. You will be or become an expert in ecommerce and know search backwards and forwards. You will help evaluate new products to either build or buy.
+
+
+
+
+## Why you might like it
+You love building great products and have a passion for ecommerce. You enjoy working with talented engineers that take your idea and make it a reality.
+
+## Why we might like you
+You enjoy working with others and helping mentor product owners and product managers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills or experience that are important to this role
+You have been in a general management or founder role and were directly responsible for the overall business results of a product that you owned; You have worked for a high-growth technology company and directly led the product management function for products/services targeted to the middle/enterprise market; or
+You have directly (or as part of a core team) launched/relaunched a product that has gone through product-market-fit, followed by explosive market adoption; or you have >4 years in product management at a blue-chip tech company and have demonstrated accelerated career progression (by scope and responsibility)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/roles/sales-sales-engineer.md b/roles/sales-sales-engineer.md
new file mode 100644
index 00000000..88ad8534
--- /dev/null
+++ b/roles/sales-sales-engineer.md
@@ -0,0 +1,69 @@
+# Sales - Sales Engineer
+
+
+## What it's like to be a Sales Engineer
+The primary goal of a sales engineer is to ensure the success of the technical side of the sale. Working along side
+an account executive together you will figure out the strategy to win each deal. During presentations and customer
+meetings you will be responsible for answering technical questions and giving demos that are tailored to the customer
+pulling from your knowledge of our 1,800+ customer base.
+When not presenting to customers you will be responsible for building custom demonstrations for high net worth prospects,
+tackling and managing RFPs and security questionnaires.
+When not doing either of those, you are thinking about how to improve our presales process, and building technical relationsips
+with your prospects.
+Every conversation you have is a story, conveying your expertise about the problem, a solution to the problem, that ends in
+value to the customer.
+
+
+
+## Why you might like it
+Sales Engineering blends a myriad of technical and sales skills together and generally stretches the technical ability of a
+sales focused engineer, or the sales skills of a technical sales engineer.
+In this role you'll be presenting multiple times a day to a wide range of roles and personality types.
+You'll meet, present to and talk with a wide array of people from engineers to CEO's of fortune 500 companies as well as
+dealing with product and document data from many verticals within the ecommerce landscape.
+You'll experience the rush of closing large deals and the financial rewards that come with that and you'll travel all
+over the US to meet customers in person.
+
+## Why you might not like it
+The sales engineer role is a rollercoaster both emotionally and with regard to deal flow. There are incredibly busy periods during the quarter where you will be expected
+to work long hours to ensure POCs and presentations are ready as well as days where you'll have many presentations crammed
+in to the work day. There will also be periods during the quarter with very little to do and these times are where you should
+sharpen your skills and prepare for the next avalanche of deals.
+You'll spend long hours creating beautiful document responses to RFPs or a custom demo on a deal that you may then lose.
+
+## Why we might like you
+You're a high energy individual with a technical background and are unflappable in the face of adversity and challenge.
+You can talk articulately and clearly, conveying meaning about technical concepts to non-technical people.
+You enjoy coding and presenting, explaining, and showing value as you do.
+
+
+
+
+## Skills that are important to this role
+
+
+Presenting
+Presentations
+RFP creation
+POC creation
+Documentation
+Coding
+Front End
+Customer Empathy
+GitHub
+Meetings
+Research
+language javascript
+1 of UI Framework
+1 of IDE
+1 of CSS Framework
+1 of Design Tool
+
+
+
+
+
+
+
+
+
diff --git a/roles/solutions-engineer.md b/roles/solutions-engineer.md
new file mode 100644
index 00000000..7478dbe6
--- /dev/null
+++ b/roles/solutions-engineer.md
@@ -0,0 +1,35 @@
+# Implementations - Solutions Engineer
+
+
+## What it's like to be a Developer
+As a developer, you spend the first few minutes of the day, reviewing your inbox, asana tasks, outstanding code reviews to make sure you’re not blocking anyone on your team.
+
+You build code. When you are stuck, or needing to bounce ideas off another, you drag over a colleague to show off what you built and get feedback and input. You are eager to accept feedback and improve your design of the code. You demo to the product owner and deploy into production. You do some documentation and write some more tests. You have a discussion about tech choices. You get stuck on something and ask for help. You design something new and pull people up to the whiteboard to get to the bottom of it.
+
+You find an issue you don’t know how to fix and you research intensely amassing information from tens of sources collating information and learning about the problem domain to ultimately make a decision about direction. You show your decision to a trusted team member.
+
+
+
+
+
+## Why you might like it
+You love learning new technologies and solving problems in novel ways. You enjoy creating software with a team of peers.
+
+## Why we might like you
+You enjoy working with others and helping mentor developers at all skill levels. You are a strong communicator who takes the time to interact with people across different disciplines. You have a keen sense of community and are always looking for new ways to expand the work of others.
+
+
+
+## Skills that are important to this role
+
+
+Shopify Data
+
+
+
+
+
+
+
+
+
diff --git a/runlocal.sh b/runlocal.sh
new file mode 100755
index 00000000..a360d68d
--- /dev/null
+++ b/runlocal.sh
@@ -0,0 +1,2 @@
+#! /bin/bash
+rm -f docs/*.html && go run main.go && http-server docs
\ No newline at end of file
diff --git a/snippets/basecamp.snippet b/snippets/basecamp.snippet
new file mode 100644
index 00000000..4d185e8e
--- /dev/null
+++ b/snippets/basecamp.snippet
@@ -0,0 +1,3 @@
+Development teams are aligned behind a specific part of the product and we develop
+software using Basecamp's Shape Up methodology. https://basecamp.com/shapeup
+
diff --git a/snippets/benefits.snippet b/snippets/benefits.snippet
new file mode 100644
index 00000000..8f82663a
--- /dev/null
+++ b/snippets/benefits.snippet
@@ -0,0 +1,18 @@
+## What’s in it for you
+
+- $1,000 education budget
+- Company-paid health, dental, and vision insurance
+- Start-up environment with a proven playbook
+- Casual dress and fun work atmosphere
+- You’ll be part of a small, powerful team
+- The chance to work with innovative and progressive technology
+- Minimum bureaucracy environment
+- Medical and dependent care flexible spending accounts
+- Company Short Term Disability coverage
+- Company-paid Life and AD&D coverage with option to purchase additional coverage
+- Open PTO policy
+- 9 paid public holidays each year
+- 401(k) plan in the US
+
+
+
\ No newline at end of file
diff --git a/snippets/distributed.snippet b/snippets/distributed.snippet
new file mode 100644
index 00000000..601c0929
--- /dev/null
+++ b/snippets/distributed.snippet
@@ -0,0 +1,2 @@
+Our offices are split between five geographic areas in many different time zones so you will need to become
+adept at distributed working and familiar with the tools that facilitate this. (Miro, Slack, Google Meet, etc...)
\ No newline at end of file
diff --git a/snippets/equitable-workplace.snippet b/snippets/equitable-workplace.snippet
new file mode 100644
index 00000000..2ffd84ab
--- /dev/null
+++ b/snippets/equitable-workplace.snippet
@@ -0,0 +1,4 @@
+We are proud to foster a workplace free from discrimination. We strongly believe that diversity of experience,
+perspectives, and background will lead to a better environment for our employees and a better product for our
+users and our customers. This is something we value deeply and we encourage everyone to come be a part of changing
+the way the world shops online.
diff --git a/snippets/searchspring-overview.snippet b/snippets/searchspring-overview.snippet
new file mode 100644
index 00000000..b800cb0a
--- /dev/null
+++ b/snippets/searchspring-overview.snippet
@@ -0,0 +1,6 @@
+## About Searchspring
+Our technology helps over 1,500 retailers across 10+ retail verticals create engaging shopping
+experiences for their customers. Our new Relevancy Platform provides retailers with the tools to make their
+marketing/merchandising teams more effective, deliver a contextually relevant customer shopping experience
+across all devices, and empowers employees across all departments with actionable insights. If you love retail,
+eCommerce and have a passion for developing solutions to complex problems, come join us.
\ No newline at end of file
diff --git a/snippets/technologies.snippet b/snippets/technologies.snippet
new file mode 100644
index 00000000..c6b051d2
--- /dev/null
+++ b/snippets/technologies.snippet
@@ -0,0 +1,10 @@
+The following technologies are currently being used here, you don't need to know them all, but you should definitely know what they are.
+
+
+Coding: Mostly Typescript/Javascript/Node.js, Golang with some maintenance of Java, Python, Clojure, Scala, PHP
+
+Back End: ElasticSearch, MySQL, Redis, Redshift, RDS, Lambda
+
+Front End: React, Cypress.io, Mithril.js, Redux, Ospec, Karma, Jasmine,
+
+DevOps: AWS, Kubernetes, Docker, Jenkins, Cloud Build, Prometheus, Grafana, Loki
diff --git a/snippets/welcome.snippet b/snippets/welcome.snippet
new file mode 100644
index 00000000..d3213603
--- /dev/null
+++ b/snippets/welcome.snippet
@@ -0,0 +1,9 @@
+Welcome to Searchspring, we're happy you're applying! We think the most important thing about Searchspring, about working
+anywhere, in fact, is the people and how they interact.
+
+At Searchspring we foster an environment of caring, helpful, considerate and empathic people. We think that's the best
+environment to foster excellence and its one of the things we care most about in our hiring process. If you are empathic and able to talk with humility and encourage others to thrive, we want to hear from you!
+
+We don't want brilliance without empathy. We don't want creators who don't share. We don't want rock stars that
+don't contribute to the community.
+
diff --git a/snippets/what-you-need.snippet b/snippets/what-you-need.snippet
new file mode 100644
index 00000000..286c5d48
--- /dev/null
+++ b/snippets/what-you-need.snippet
@@ -0,0 +1,7 @@
+## What you need
+
+At Searchspring we use a competency based management system to hire and train people.
+For this role there are skills that you are expected to have and skills that you will be expected to learn.
+Each of the skills below link to a GitHub page describing that skill, and how you learn it, and how we
+expect you to prove that you have it. Some of these maybe not be 100% filled in - please feel free to create a
+pull request and submit how you think this skill should be defined.
\ No newline at end of file
diff --git a/test1.md b/test1.md
new file mode 100644
index 00000000..c2ccbe19
--- /dev/null
+++ b/test1.md
@@ -0,0 +1,11 @@
+# test 1
+
+## Test document with sub skills
+
+breakdancing
+
+
+## comment that shouldn't appear
+
+
+a
\ No newline at end of file
diff --git a/test2.md b/test2.md
new file mode 100644
index 00000000..d0c94a43
--- /dev/null
+++ b/test2.md
@@ -0,0 +1,9 @@
+# test 2
+
+## Test document with sub skills
+
+figure skating
+
+
+
+
\ No newline at end of file
diff --git a/test3.md b/test3.md
new file mode 100644
index 00000000..fb6a7cae
--- /dev/null
+++ b/test3.md
@@ -0,0 +1,5 @@
+# test 3
+
+
+kung fu
+
\ No newline at end of file