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

IC2 Engineer (Code Craftsperson)

"I'm in the sweet spot of my career, designing features that solve real problems and shaping the future of our software."

  • Role: Engineers at this level are expected to delve deeper into the foundational code and provide leadership in project development.

  • Responsibilities:

    • Design, implement, and maintain software systems and components.

    • Lead larger projects independently.

    • Take full ownership and responsibility for designated projects and functionalities.

  • Leadership: IC2s not only contribute but also guide and help in the growth of IC1s, but they serve as points of reference for certain projects or modules.

  • Learning: You should be diving into more complex concepts like design patterns, IoC, safe refactoring, introduction of seams, architectural patterns, etc.

  • Expertise: You're now producing more solid code. The beginner mistakes you used to make are now fading away as you hone your craft.

  • Path to IC3 Engineer:

    • Typical timeframe

      • 2-4 years

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

      • You do not need to work on Foundation team to move to IC3.

    • Lead by example

      • Be a role model for junior and mid-level engineers by consistently delivering high-quality work, following best practices, and actively participating in code reviews and knowledge sharing.

    • Initiate and drive projects

      • Take the initiative to propose and lead technical projects that will have a substantial impact on the team. This demonstrates your ability to set and achieve technical objectives.

    • Deepen technical expertise

      • Continue to expand your technical knowledge and expertise in your chosen domain. Specialize in areas that are relevant to our team and company's goals.

PreviousIC1 Engineer (Code Cadet)NextIC3 Engineer (Code Connoisseur)

Last updated 1 year ago

Was this helpful?

🏆
⛰️
👷‍♀️