Language Server Engineer (LSE) - Job Description Contract - Remote Responsibilities:
- Design, develop, and maintain high-performance and scalable language servers for multiple programming languages.
- Deepen your knowledge of different language specifications and their intricacies.
- Contribute to the development and improvement of core language server functionalities, including code completion, syntax highlighting, error checking, and refactoring.
- Integrate seamlessly with various editors and IDEs through established protocols and APIs.
- Implement efficient caching and indexing mechanisms to optimize performance and resource usage.
- Write clean, maintainable, and well-documented code following established coding standards.
- Conduct extensive testing and debugging to ensure robust and reliable language server operation.
- Stay up-to-date with the latest advancements in language server technologies and language evolution.
- Contribute to open-source projects and communities related to language servers.
- Collaborate effectively with cross-functional teams, including developers, product managers, and designers.
- Identify and propose improvements to the overall architecture and design of the language server ecosystem.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or related field (Master's preferred).
- Strong experience in programming languages with expertise in at least one language like C++, Java, Python, or Go.
- Familiarity with common language server protocols (e.g., LSP, JSONRPC) and APIs.
- Experience with performance optimization techniques and data structures.
- Solid understanding of software design principles and best practices.
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and collaboration skills.
- Experience with building and deploying language servers.
- Knowledge of different editor/IDE integration methods.
Familiarity with CI/CD pipelines and automated testing too