Software Engineer

The Software Engineer (C#, Language Server & Extensions) will lead our initiative to relaunch BimlExpress as a VSCode extension backed by a new C# Language Server. This includes implementing robust IntelliSense features, autocompletion, and quick info for BimlScript, as well as developing a corresponding Visual Studio add-in. A significant portion of the existing BimlExpress codebase can be adapted, but the front-end extension/add-in code will need to be largely rewritten from scratch. The current Visual Studio BimlExpress add-in will also be refactored to use this new Language Server. The position will be based in Sri Lanka and will collaborate closely with the US-based product team

Responsibilities:

    • Language Server Development:
    • Design, develop, and maintain a new C# Language Server powering code autocompletion, hover information, syntax checks, and other IntelliSense features for BimlScript.
    • Integrate existing BimlExpress logic where possible while refactoring and improving code performance and maintainability.
    • Collaborate with product managers and domain experts to define requirements for advanced code analysis and completion rules.

    • VSCode Extension Creation:
    • Develop a new VSCode extension in TypeScript to interface with the C# Language Server.
    • Implement user-friendly UI/UX components such as code snippets, hover tooltips, and inline documentation.
    • Ensure seamless integration, testing, and debugging within the VSCode environment.

    • Visual Studio Add-In Development:
    • Create a Visual Studio add-in that leverages the same Language Server functionality, maintaining a unified codebase.
    • Adapt and reuse existing BimlExpress logic where possible while building new components and interfaces.
    • Maintain consistency in user experience across both VSCode and Visual Studio.

    • Code Review & Best Practices:
    • Conduct peer code reviews, enforce coding standards, and optimize existing code for performance and security.
    • Assist in maintaining a clean, maintainable code structure that supports both the extension and add-in development tracks.

    • Testing and Debugging:
    • Implement and maintain unit tests, integration tests, and end-to-end tests to ensure reliability.
    • Debug and resolve issues related to language server communication, IDE-specific functionalities, and overall software performance.

    • Projects:
    • Collaborate with cross-functional teams (product management, QA, design) to meet project requirements and deadlines.
    • Contribute to continuous integration and continuous delivery (CI/CD) pipelines as part of an agile development process.

To be successful in this role, you will have:

    • Essential:
    • Systems/Software:
    • C#/.NET with a strong background in modern .NET frameworks.
    • TypeScript experience, especially for VSCode extensions or similar.
    • Language Server Protocol (LSP) knowledge for IntelliSense/auto-completion functionality.
    • Visual Studio extension or add-in development, or other IDE extension experience.
    • Version control (Git) and familiarity with CI/CD (Azure DevOps, GitHub Actions, or similar).

    • Experience:
    • A minimum of 3–5 years of professional software development experience.
    • Proven experience designing, implementing, debugging, profiling, and tuning high-performance developer tools or similar software.
    • Ability to write clean, maintainable code and review contributions from peers thoroughly.
    • Excellent communication skills for an international, distributed team.

    • Nice to Have:
    • Familiarity with Biml, SSIS, ADF, or data warehousing concepts.
    • DevOps experience (Azure, Docker) for hosting or containerizing solutions.
    • Tertiary degree in Computer Science, Engineering, or related field.

Similar Jobs