🏡 Return back to the handbook home page
⛰️ Why are we here?
🚀 Vision and mission
📖 Useful industry resources
💥 How we’re building the team
💛 Operating principes
📍 Where are the team based
🗺️ Where we hire and why
📅 Company cadence
🧍 Weekly standups
✋ Biweekly all hands
🎯 Biweekly happy hours
🗣️ Communication
💪 How we’ll support you?
🛫 Company onboarding
⭐ Benefits
🤝 Share options
💬 Sharing your view
💵 Compensation
📗 Policies
💳 Expenses
🏖️ Vacations
🧒 Caregiver policy
🛠️ Engineering at Junction
🔰 Engineering values
🌀 Engineering cycles
🎯 API design guidelines
🕛 Managing issues
📞 On call
🚀 Progression
Base expectations for all engineers at any level
- You exhibit our Values.
- Stay on top of errors occurring in your areas. To do this you need to make sure your alerts and notifications are properly configured so you immediately know when critical errors happen. If a customer is notifying us of an issue before this has happened this is a serious issue.
- Maintain a list of improvements, refactors and fixes needed in your area and bring these to sprint planning and work with the Head of Product to ensure these are slotted in when appropriate.
You are active in Notion & Slack with your teammates. We work in async across different time zones. We fully expect team members to manage their time; block deep work and mark it as such in Slack. We expect you to be responsive in hours outside of deep work contribute to discussions and follow up with insights where needed.
You consistently post your weekly stand-up in Notion on Mondays. We intentionally avoid daily stand-ups to reduce the number of meetings. However, everyone needs to be aware of each other's work. This way, tasks can be properly prioritized and planned. Failing to post your weekly stand-up undermines the team's ability to work efficiently in an asynchronous manner.
You write code that is tested. You should not be introducing code that isn't backed by some level of automated tests. It's risky and prevents us from building stable systems. If you need assistance getting new code under tests, reach out to more senior engineers for help
The 5 verticals 🏛️
Engineers are evaluated against 5 verticals:
- Leadership
- Leading by example.
- Instigating change.
- Understanding what drives people.
- Developing processes.
- Showing initiative.
- Helps other team members via mentorship.
- Technical Skills
- Breadth of experience (applications, services, domains, technologies, stacks).
- Knowledge of best practices.
- Testing.
- Refactoring and codebase improvements.
- Tooling and awareness of progress in the industry.
- Communication
- Written and oral communication.
- Explaining work to peers and non-technical stakeholders.
- Proactive communication.
- Developing and improving communication channels.
- Show empathy and avoid blaming.
- Delivery
- Size and scope of the deliverables.
- Understanding when to get support.
- Showing initiative
- Business Knowledge
- What we do at Junction.
- The difference between Lab Tests and Wearables.
- How a piece of work connects to the business.
Levels
1️⃣ Junior Engineer
Junior engineers are the foundation of our engineering team and play an essential role in developing and maintaining our software.
Typical timeframe: 1-2 years
1. Leadership
- Demonstrates initiative by identifying simple issues within their immediate scope of work and suggesting potential solutions.
- Offers help to peers when possible and seeks guidance proactively.
2. Technical Skills
- Basic proficiency in a limited set of technologies with a focus on learning and applying best practices under supervision.
- Understands the importance of code quality and participates in code reviews with guidance.
3. Communication