LogoLogo
  • 👋Cal.com Handbook
  • The Company
    • ❓What is Cal.com?
    • 📈Mission, Vision and Values
    • 🅰️Glossary
    • 📈Organization Chart
  • HR & Careers
    • 👷Contract-to-hire trials
    • 🛫Onboarding
    • 🏆IC Levels
      • ⛰️Engineering Levels
        • 🕵️IC1 Engineer (Code Cadet)
        • 👷‍♀️IC2 Engineer (Code Craftsperson)
        • 🧘‍♀️IC3 Engineer (Code Connoisseur)
        • 🧙‍♂️IC4 Engineer (Code Wizard)
    • 💡Sharing your views
    • 💸Bonus & Equity Structure
  • Policies
    • 🏖️Vacations
    • 💳Expenses
    • 🗣️Communications
  • Engineering
    • 🔔Managing Notifications
    • ⭐Valuable Bookmarks
    • 🐛How to report issues
    • 💻How we work on Tickets
    • 🔥What to do during Emergencies
    • ✅PR Reviews
    • ☑️Self-reviews
    • 📚Keeping Docs up-to-date
    • 🌐HTTPS & Subdomains
    • 🎯Best practices
      • Data fetching
      • Avoid Prop Drilling
      • Prefer defaultHandler for simple API handlers
      • Prefer inferred types over explicit ones
      • Prefer early returns
      • Avoid comparing multiple values with `includes`
      • Validate using zod instead of type casting
      • Prefer Composition over Prop Drilling
      • Prefer ternaries over Short Circuiting “&&” for React Components
      • Don't modularize prematurely
      • Only select data you need
      • Disallowing the use of unrestricted Metadata fields
      • E2E Tests Best Practices
    • 💻Codebase
      • 🔓Keeping the lock file in sync
      • 🚫Git Private Submodules
      • 🏎️Monorepo / Turborepo
      • 🌝Deploying to Production
      • ☁️Deployment
      • 💻Debug Desktop App
      • 🚩Enabling/Disabling Features
    • 🔺Resolving failed migration on Vercel Preview
    • 🔦Cal.com Status Page
  • Customer Success
    • 💟Tone
  • Marketing
    • 🎬Media
    • ☝️How to add a new Tip to Sidebar
  • 🤲Sales
    • Operations Stack
Powered by GitBook
On this page

Was this helpful?

  1. HR & Careers
  2. IC Levels
  3. Engineering Levels

IC1 Engineer (Code Cadet)

"I'm in the early stages of my engineering journey, but I'm eager to learn, write code, and make a difference one issue at a time."

  • Role: Junior engineers are essential to our engineering team and play a major role in developing and maintaining our software.

  • Responsibilities:

    • Contribute to code development, adding new features to the software.

    • Review Pull Requests

    • Fix bugs and contribute across various functionalities.

    • Contribute to our team's goal of increasing automated tests (unit, integration and E2E).

  • Ownership: While IC1s make significant contributions, they have limited formal responsibility of the design and longevity of the software. They sometimes work closely under the guidance of more experienced engineers.

  • Learning:

    • You should be hungry to learn and grow in the software engineering field. This includes lots of research, reading, building PoCs and exploration so you are exposed to new ideas.

    • It's ok to ask questions. In fact, we want you to! This is a sign that you are trying to take in as much information as possible to get better.

    • Don't wait hours to ask for help if you are stuck on a problem. It will not be looked down upon. Instead, jot down a list of things you've tried so far so you have this to present to the person who are asking help from.

  • Path to IC2 Engineer:

    • Typical timeframe

      • 1-2 years

      • You need to consistently demonstrate skills of an IC2 in order to be promoted.

    • Expand your skill set

      • Become more of an expert in the code base and contribute to larger projects.

      • Write code that is solid. No obvious bugs should come out of your code.

    • Show initiative

      • Demonstrate your ability to tackle more complex problems and take on leadership responsibilities within your team. This might involve mentoring other junior engineers, providing technical guidance, or helping with project planning.

PreviousEngineering LevelsNextIC2 Engineer (Code Craftsperson)

Last updated 1 year ago

Was this helpful?

🏆
⛰️
🕵️