Skip to content

bitnob/bitnob-product-team-bible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Bitnob-Product-Bible

The Bible for Building products at Bitnob. This document is a living document that outlines how we build products at Bitnob, we take our work seriously, building software is a craft for us, not todos to be cleared. Therefore we find joy in building beautiful and quality software, we thrive at hacking the most difficult problems and making them humanly usable.

In order to achieve this, there are a set of principles we follow that has helped us stay as one team and to enjoy doing the work that we do. As we evolve, we tweak these principles to ensure that it reflects our current realities. Systems thinking is important to us and you will find that most of the principles feed into a systems thinking framework. For clarity, engineering at Bitnob is a combination of Design and Software Engineering, this is because design is very much part of the process and in fact plays a very important role in how the eventual software is designed.

1. Autonomy

As an engineer at Bitnob, you are expected to be able to operate with a high-degree of autonomy, the expectations grow as you move higher up the ranks. From an entry-level, we solve for glimpses of this in candidates, where we see this we work together to help you grow your confidence level by having you do a lot of peer programming with seniors. Automony comes with a lot of responsibilities which include research, no one will be sitting to break down every single task you need to do.

2. Quality and Excellence

You must want to be the best in the world at what you do, at least in the eye of that customer no one should solve that problem better for them than you will. To the customer, you should be a hero and to your peers you should be an inspiration. Internally, you must hold yourself to very high standards. Every single time, every little detail must get the best of your creativity.

3. Collaboration

Peer programming is the life-blood of engineering at Bitnob. In the early days we used to have what we call "Night Market", during the day when customers and other departments are very active, we aren't able to do a lot of work on our code, in the night, anyone drops a google meet link calling for Nigth Market where anyone joins, sometimes people from other departments join to watch the engineers code and ask questions, people peer program with one another. This was also a great way for new engineers to get onboarded faster. Over time it has evolved of course to people having their own private Night Markets working on problems together without the distraction of formal meetings. A key part of collaboration is also managing other stakeholders with empathy, at their worst periods, you shouldn't pile on them but try to help them get back to their best. It's not your responsibility to push them out of the company.

Engineering collaborates with operations, marketing and the customer experience department to build products, this respect and willingness to listen to and take feedback from other departments has always resulted in much better outputs, anytime we strayed from this, engineering flopped. Collaborate, be useful and helpful to everyone.

4. Impact

How impactful is this thing you're working on? What optimizations can you make that increases the efficiency of the system? Is this going to improve our processes? How much time does it save us? Software is meant to solve problems, be clear about what your end goal is. Importantly, document your wins as often as you can, on the bad days, reading them is something you can hold on to to know that you're great but even the best have their bad days.

Things to do as a new engineer to make your integration easier in order for you to get your first quick win

We are eager to have you get your quick win. Quick wins helps you gain confidence and a rapid succession of quick wins helps you settle in faster and does a lot of good to your confidence. Finding yourself in Bitnob means you are one of the best engineers around, therefore our goal is to quickly see you get that first smile! Here are do's and don'ts to get a quick win.

  1. In your first week, join as many meetings as you can and have fun. Don't stress yourself no one is having any wild expectations of you to dive in.
  2. Leave your videos on for all your meetings
  3. Ask for an intercom account, observe all the conversations the customer experience team has with customers
  4. Read through the conversations, you will find a lot of useful conversations that could provide insights into whatever we're messing up with or how certain issues are resolved.
  5. If you can be brave enough to request to answer your some support questions under guidance, it will do you a lot of good
  6. We focus a lot on customer experience because we optimize to please the customer regardless of our roles, historically the most respected engineers in Bitnob are those who resolve customer issues.
  7. Notice we haven't spoken about code, don't bother writing any code too early. Join as many peer programming sessions as much as you can and ask questions.
  8. Someone will be on hand to spend time with you onboarding you on the codebase or figma to ensure you're properly set up
  9. Ask for any SOP documents that can help you
  10. Read our values 1000 times. Yes do this. Please sir/ma.
  11. Some people have a documented "How to work with me" you can read, ask in the general channel for who has one you can read, Bernard always has one, start there lol.
  12. Notes - Take notes like a crazy person, scribble anything you can. Don't depend on your memory, this notes will be your bedrock.

If you do these, trust me you have earned your first wins, many wins without knowing. You don't need to write a line of code to earn those wins. Code is just an output in our system, interconnection and finding a place in the system is the most important thing.

Don't

  1. Scoff at anyone's work even if you think it can be improved, in fact best to hold yourself from saying that too early. Wisdom is profitable to direct, take note of what you can or suggest to improve for later.
  2. Assume you can skip doing support work or spending time in operations meetings and succeeding as an engineer, we have no product managers, no one will do all the task breakdown work for you.
  3. Be unavailable without any form of communication
  4. Lie, don't lie even if you ever feel the need to. If you feel the urge to remind yourself that no one is gonna pick up a cane to beat you, if you do lie, that will be the first of many. Resist the urge.

By the time you have done the 12 things above, you're sure to have a strong start. Always remember that there are many problems to solve and sections to own, you will have a fair idea of the things that interest you the most or where you can make the whole system better, then slot in there.

Side Note - Why these?

Who we work with and what we work on are the most important things for us. Money is very important to us, that is why we work on Bitcoin, the people we work with are important to us that is why who you are is very important to us, our system is greater than any individual and frankly we wouldn't want to spend time dealing with a people issue, our time is better spent working on important problems with people we love and respect.

Performance Reviews Engineering Performance Reviews will measure

Engineering performance reviews are indexed for the following which will be mostly 60% peer reviews and 40% managerial reviews. This is because you work more closely with your peers from your team and other teams and they have a genuine say about how much contribution you make to the team. Think of a football team, every player on the pitch knows who makes life easier or more difficult for them on the pitch, are you a player your teammates always feel energized to have on the pitch or not? Most company systems will make you optimize to please management, our system optimizes for you to earn the respect of your peers because there's no "manager" here[no ones job is just to manage people], everyone works as a peer.

1. Autonomy Index

  • Definition: The ability of an engineer to complete tasks and solve problems independently, without needing excessive guidance or intervention from others.
  • High Performance: Completes complex tasks independently, seeks guidance only for highly challenging issues, proactively identifies and solves problems.
  • Moderate Performance: Handles routine tasks independently, occasionally requires help for more complex issues, shows some proactive problem-solving abilities.
  • Needs Improvement: Frequently relies on others for routine tasks, struggles with independent problem-solving, often needs guidance.

2. Ambiguity Resolution Score

  • Definition: The capacity of an engineer to make effective decisions and progress in situations with incomplete information or unclear objectives.
  • High Performance: Demonstrates strong decision-making in ambiguous situations, maintains progress with minimal guidance, adapts quickly to changing priorities.
  • Moderate Performance: Makes some progress in ambiguous situations, occasionally struggles with decision-making, adapts to changes with guidance.
  • Needs Improvement: Often paralyzed or significantly slowed down by ambiguity, frequently seeks out clear direction, struggles with adapting to changes.

3. Impact and Efficiency Rating

  • Definition: The ability to deliver projects on time while making a tangible impact on business goals or user satisfaction, balancing speed and quality.
  • High Performance: Consistently meets or exceeds project deadlines, delivers work that significantly impacts business/user metrics, excellent balance of speed and quality.
  • Moderate Performance: Generally meets deadlines, projects have moderate impact, good balance of speed and quality with occasional lapses.
  • Needs Improvement: Misses deadlines, projects have little to no measurable impact, struggles with balancing speed and quality.

4. Collaboration and Mentorship Quotient

  • Definition: The degree to which an engineer supports team members, contributes to knowledge sharing, and actively participates in team initiatives.
  • High Performance: Regularly assists team members, actively shares knowledge, and significantly contributes to team initiatives beyond individual tasks.
  • Moderate Performance: Occasionally helps team members, participates in knowledge sharing, contributes to team initiatives as required.
  • Needs Improvement: Rarely assists team members, limited participation in knowledge sharing, minimal involvement in team initiatives.

Important read on engineering progression in Bitnob

https://bitnob.notion.site/Bitnob-Engineering-Progression-Framework-7fdb39a542584d999dcb293499daa52f

About

The Bible for Building products at Bitnob

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published