Skip to main content

Getting Started with CodeTogether HQ

CodeTogether HQ is a powerful tool designed to shine a light into the black box of coding. Understanding the prerequisites and training requirements for CodeTogether HQ is essential for a smooth implementation.

HQ Respects Privacy

Privacy is a cornerstone of CodeTogether HQ. The system only tracks activity for projects that are specifically configured within HQ. When working on personal projects or any project not configured in HQ, rest assured that no tracking occurs. Additionally, HQ does not track or reveal precise activities; for example, there's no way to see which specific actions were taken at 2 p.m. yesterday. The focus is on understanding how work is approached in a general sense, allowing for improved decision-making through machine learning algorithms.

Prerequisites

CodeTogether HQ is designed to be compatible with a wide range of Integrated Development Environments (IDEs), ensuring that developers can continue to use their preferred tools. The following IDEs and their variations are supported:

  • Visual Studio Code (including variations like Code - OSS)
  • Visual Studio
  • Eclipse IDE (including variations like Rational software)
  • IntelliJ (including variations like PhpStorm, PyCharm, etc.)

In terms of connectivity, HQ is highly flexible and requires minimal bandwidth, making it suitable for both in-office and globally distributed teams.

Model Training

Training to completely unlock CodeTogether HQ functionality typically takes about two weeks. During this period, HQ observes how work flows across the project. It requires a sufficient amount of engineering work to be performed across the project for accurate analysis. Once enough data is collected, HQ employs machine learning algorithms to look for anomalies in regular work patterns. This helps identify bottlenecks, inefficiencies, and areas that may require additional attention or resources.

Getting Started

The initial setup of CodeTogether HQ is a straightforward process.

Step 1: Log In

  1. Deployment—Once the system is deployed, whether on-premises or as Software as a Service (SaaS), proceed to the next step.
  2. Landing Page—Open the landing page for the CodeTogether HQ Portal.
  3. Authentication—Log in using either your corporate Single Sign-On (SSO) service or, if configured, a separate Kayako SSO instance.
    Authenticate

Step 2: Register Emails

  1. Email Confirmation—Upon login, the portal prompts you to confirm your email addresses.
  2. Git Commits—Ensure that every email address you use in Git commits for repositories you are collaborating on is registered in the system.
    Register Emails

Step 3: Set Up Project

  1. Project Configuration—If a project is not yet configured in the system, you are prompted to do so.
    Configure Project
  2. CodeTogether HQ—Follow the on-screen instructions to complete the project setup.
    Create Project
  3. Register URLs—Register the Git repository URLs used in the project.
  4. Add Members—Navigate to the project settings to add committers on the project.
tip

For very large projects, you can use the HQ CLI available after extension installation on the IDE. The CLI can automatically extract project URLs and project members from recent Git commits, simplifying setup for large teams.

Step 4: Install IDE Plugins/Extensions

  1. Download HQ—Download the appropriate files for your IDE(s) from the portal under User Settings > IDE Setup.
    • VS Code, Visual Studio, and IntelliJ—A file is provided for download.
    • Eclipse—A URL for an update site is provided to configure inside Eclipse. Download
  2. Pre-Configuration—The download comes pre-configured to work with your company's CodeTogether HQ instance.
  3. Multiple IDEs—If you use multiple IDEs, install the HQ client on each one.
  4. First-Time Authentication—For the first IDE on a given system, authenticate with your SSO service from within the IDE. Complete authentication in your browser.

Step 5: Track Tasks

  1. Task Prompt—When working on code for HQ-registered projects, HQ automatically prompts you to confirm which task you are working on.
  2. Task Selection—Choose either a new or a previously worked-on task.
  3. Time Tracking—HQ automatically tracks the engineering time spent on the task.
  4. Complexity Understanding—Unlike simple metrics like lines of code, HQ understands the complexity involved in tasks, even if it takes days of debugging for a single-line fix.
  5. Pause on Actions—The system pauses the active task when it detects actions like changing branches or commits.
  6. Status Bar—You can check if a task is active in the status bar of your IDE.

The HQ Portal

CodeTogether HQ offers a robust portal interface divided into three primary areas: the Project dashboard, the Activity dashboard, and the Daily Logs. Each dashboard serves a unique purpose and provides different insights into your project. HQ Portal

Project Dashboard

The Project dashboard employs machine learning algorithms to identify patterns of work and hotspots within the product. It serves as a dashboard for managers and technical leads to get a high-level overview of the project's health.

Activity Dashboard

The Activity dashboard is designed to help teams understand where work is progressing. It provides real-time updates on various tasks and can be an invaluable tool during daily stand-up meetings.

Daily Logs

Daily Logs facilitate mentoring and offer better visibility into distributed work across projects. For each developer, the daily log tracks day-to-day activities and can be a useful tool for understanding how work is approached.

Working with HQ

CodeTogether HQ is a multifaceted tool that offers various dashboards and logs to improve project management, facilitate daily calls, and enhance team collaboration. HQ provides actionable insights into work patterns, task complexities, and daily activities.

Improving Daily Calls

Open the Activity dashboard during daily calls for more productive meetings. It allows team members to apply a quick "sniff test" to see if the updates align with the work displayed on the dashboard. This immediate feedback helps reveal any disconnects or inconsistencies at an early stage, enabling timely corrective actions.

Understanding Hotspots

The Project dashboard is particularly useful for managers and technical leads in identifying project "hotspots." By registering different components of the product, HQ can pinpoint areas that are:

  • Hardest to start or where tasks are unclear.
  • Consistently delivered after scheduled estimates.
  • Resulting in the most code churn during solution development.

Using Task Insights

When tasks are actively being worked on, HQ can detect specific situations that may benefit from earlier coordination with a peer. These situations could include:

  • Extensive investigation, such as browsing through source code for an extended period.
  • Heavy code churn, where a solution is continually being rewritten.
  • Deep debugging, requiring a significant amount of time to find the solution.

Using the Daily Log

The Daily Log is especially useful during mentoring or guidance calls. It provides a day-to-day record of activities, serving as a mechanism to review the flow of work. If any disconnects are discovered, it's easy to jump into a CodeTogether Live coding session for real-time review and collaboration.

Updates

Keeping your CodeTogether HQ system up-to-date is crucial for taking advantage of new features and improvements. The update process varies depending on your deployment model—SaaS or On-Premises.

SaaS Updates

If you are using CodeTogether HQ as a Software as a Service (SaaS), the backend is automatically updated whenever new releases are available. This ensures that you always have access to the latest features and security patches without any manual intervention.

On-Premises Updates

For On-Premises deployments, updates are handled through new Docker images. These images can be updated in your OpenShift or other container management software. This allows you to control when and how updates are applied, giving you more control over your environment.

IDE Client Updates

The IDE clients used by CodeTogether HQ automatically update themselves. This ensures that you are always using the most current and secure version of the software, without having to manually download and install updates.

Daemon Updates

CodeTogether HQ utilizes a Daemon that is shared across IDEs on a system. This Daemon is also automatically updated by one of the IDE clients, ensuring that all components of your CodeTogether HQ setup are kept up-to-date.

Need Help?

If you encounter any issues or have questions about CodeTogether HQ, there are several avenues for support:

  • System Administrator—Your first point of contact is your system administrator, who can assist with most common issues.
  • HQ Support Team—For more specialized assistance, you can reach out to the CodeTogether HQ team at support@codetogether.com.