Software Engineer
Colombo
IT /
Full Time /
Remote
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.