Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.
/ jedi-order Public archive

Bunch's Jedi Order, aka Engineering Levels

Notifications You must be signed in to change notification settings

12grapes/jedi-order

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

Bunch

Engineering Levels at Bunch ☄️🚀🌌

At Bunch, we like space and movies like Star Wars (especially our CEO). So instead of your regular "Junior, Senior" positions, we go for slightly more original ones. That doesn't mean we take your growth lightly, just that we like having fun 😊

The Jedi Order

To give you some background, here's a manuscript of the Jedi Order, annotated by Yoda and Anakin themselves! 🤓

Jedi Order

How this fits into Bunch

We follow a similar structure to help people move up in the Jedi Order at Bunch. We want to be as transparent as possible with everyone, and would love to get your feedback even if you're not planning on joining us (just open a Pull Request 🎁). You can find more details on what each of these criterias mean below.

Youngling (aka Intern)

  • Main programming language: R2D2 (Beginner)
  • Secondary programming language: None
  • Problem solving and initiative: Level 1+
  • Impact & efficiency: Improve your own efficiency
  • Ownership: involved in 1 area
  • Culture background: Know O'Reilly's Six dimensions model
  • Customer Focus: Know our customers

Padawan (aka Junior Engineer)

  • Main programming language: Han Solo (Proficient)
  • Secondary programming language: Young Anakin (Hustler)
  • Problem solving and initiative: Level 3+
  • Impact & efficiency: Improve the efficiency of the team
  • Ownership: involved in 2 areas
  • Culture background: Read the O'Reilly Paper on Parsing Organizational Culture
  • Customer Focus: Intercom rotations & know our customers

Jedi Knight (aka Engineer)

  • Main programming language: Luke Skywalker (Advanced)
  • Secondary programming language: Han Solo (Proficient)
  • Problem solving and initiative: Level 4+
  • Impact & efficiency: Improve the efficiency of the whole Engineering team
  • Ownership: involved in 3 area
  • Culture background: Oreilly Model + have read 10 key papers (HBR or others)
  • Customer Focus: Intercom rotations, know our customers and be involved in UX (doing interviews, etc.)

Jedi Master (aka Senior Engineer)

  • Main programming language: Master Yoda (Sensei)
  • Secondary programming language: Luke Skywalker (Advanced)
  • Problem solving and initiative: Level 5
  • Impact & efficiency: Improve the efficiency of the whole Company
  • Ownership: Own 1 area, involved in 3 others
  • Culture background: Oreilly Model + have read 10 most key papers (HBR or others) + contribute to the DB proactively
  • Customer Focus: All of the previous, and in addition, take initiatives on customer research, such as doing interviews in groups around you to proactively collect feedback and different point of views, then share them with the team

Recap table (TL;DR)

Because, who doesn't like tables? 😅

Rank Tech Skills (Main/Secondary) Problem Solving Impact & efficiency Ownership Culture background Customer focus
Youngling R2D2 / None Level 1+ Improve yourself Involved in 1 area Know the O'Reilly model Know our Customers
Padawan Han Solo / Young Anakin Level 3+ Improve the team Involved in 2 areas Read O'Reilly's whitepaper Intercom rotation
Jedi Knight Luke Skywalker / Han Solo Level 4+ Improve the Engineering team Involved in 3 areas Read 10+ culture whitepapers Be involved in UX
Jedi Master Master Yoda / Han Solo Level 5 Improve the Company Own 1, involved in 3 other areas Contribute to the whitepapers Database Take initiatives on customer research

In more details

Here's what each of these criterias mean, in more details:

  • Culture backgorund is to ensure that every Engineer at Bunch has knowledge on the science we use to build our product. We are not working on a simple Domain, and understanding it will make every engineer at Bunch more impactful.

  • Customer-orientation (one of the dimensions of the O'Reilly model) is the main focus of Bunch. We want everyone in the team to know and feel what our customers need in order to delight them.

  • Ownership is what you are involved in. It can include typical things such as Backend or Frontend, to more "out of your role" topics, such as Growth, BI, Recruitment and so on.

  • Tech skills are related to programming languages, and you can find a more complete description right beneath.

  • Problem solving and initiatives is one way to know how helpful your are to the whole organization, we go in further details here.

  • Impact and Efficiency is where Problem solving skills come together with ownership: it is your ability to identify issues around you and take the initiative to fix them in order to improve the overall efficiency (either of yourself, or others)

Tech skills

For each programming language that you know, you can be:

R2D2 (Beginner)

  • Know the standard language libraries
  • Be able to create Basic Programs/web pages/scripts
  • Know the gotcha's, common mistakes of the language
  • You work mostly with GUI

Young Anakin (Hustler)

  • HTTP requests: how to make them and process them
  • Data Types & Structures: primitives, classes, arrays/lists, maps/hashtables/dictionaries
  • 3rd party libraries/tools knowledge, related to what you work mostly with (eg: pandas, numpy, scikit, lodash, mongoose, SQLAlchemy, ramda, etc.)
  • Basic knowledge on scripting (if you see a script, you can understand what it does)

Han Solo (Proficient)

  • Fully Autonomous on 1 framework
  • Unit testing with at least framework
  • OWASP top 10 & Ethical Hacking 101 theory
  • REST APIs principles
  • You use CLI tools to optimize your dev environment

Luke Skywalker (Advanced)

  • Autonomous on 2 frameworks or more
  • Unit testing with 2 different frameworks
  • You know how to write integration tests
  • You can estabilsh, share & automate (through linters) design/coding guidelines
  • Knowledge on the language's runtime internals
  • You can scaffold new projects from scratch
  • Dev-ops & CI/CD, you know how to ship and run what you build
  • Ethical Hacking 101 practice (workshop)

Master Yoda (Sensei)

  • Teach all of the above through workshops/katas and share your knowledge in meetups/conference
  • Get involved in new technology standards of the industry
  • Participate in mentorship programs
  • Be able to animate Ethical Hacking workshops
  • Autonomous on 4+ frameworks, including frontend and backend
  • Unit testing with any framework of the language
  • Put Integration and E2E tests in place

Problem Solving

The definition of problem solving comes from this great blog post from Daniel Debow. It presents a pyramid of how can you be most helpful in your ownership areas. I summarized his article below for conciseness, however I would recommend you to have a read, the examples he shares are very insightful.

  • Level 1: you tell your boss “there is a problem”
  • Level 2: you tell your boss you’ve found a problem and investigated some causes
  • Level 3: you say to your boss, “Here’s the problem, here are some possible causes, and here are some possible solutions.”
  • Level 4: “Here’s the problem, here’s what I think caused it, here are some possible solutions, and here’s the solution I think we should pick.”
  • Level 5: this is where you say to your boss, “I identified a problem, figured out what caused it, researched how to fix it, and I fixed it. Just wanted to keep you in the loop.”

Releases

No releases published

Packages

No packages published