Epirocposted 18 days ago
Providence, RI
Machinery Manufacturing

About the position

The Software Engineer takes on more complex development tasks with moderate supervision, leveraging C# and .NET to build scalable systems. This role emphasizes concurrent programming, API development, and messaging protocol expertise.

Responsibilities

  • Design and develop moderately complex features using C# and .NET Core/Framework, adhering to architectural guidelines.
  • Implement concurrent, multi-threaded, and asynchronous programming techniques to optimize performance.
  • Develop and maintain highly scalable APIs and 3rd-party system integrations.
  • Utilize MS Visual Studio for coding, debugging, and performance profiling.
  • Manage codebases using version control tools (e.g., Git, Mercurial) and repositories like Bitbucket or GitHub.
  • Leverage continuous integration build servers like TeamCity or Azure Devops.
  • Implement solutions leveraging messaging protocols (e.g., TCP, UDP, WebSockets, HTTP) for real-time systems.
  • Contribute to user interface development using WPF for desktop applications.
  • Conduct thorough code reviews and mentor Junior Software Engineers.
  • Troubleshoot and resolve technical issues in production and development environments.
  • Collaborate with product managers to refine requirements and propose solutions.

Requirements

  • Bachelor's degree in computer science, software engineering, or related field.
  • 5 or more years of professional experience with C# and .NET development.
  • Strong skills in concurrent, multi-threaded, and asynchronous programming (e.g., async/await).
  • Experience developing highly scalable APIs and 3rd-party system integrations.
  • Proficiency with MS Visual Studio for development and debugging.
  • Hands-on experience with version control tools (e.g., Git) and code repositories like Bitbucket or GitHub.
  • Familiarity with continuous integration build servers like TeamCity or Azure Devops.
  • Solid understanding of messaging protocols (TCP, UDP, WebSockets, HTTP) and their applications.
  • Ability to work independently and collaborate effectively on a team.

Nice-to-haves

  • Experience with application scaling techniques: horizontal, vertical, and algorithmic.
  • Understanding of geometry, trigonometry, matrix transforms, and general linear algebra.
  • Experience with database design and integration, including relational and time-series databases.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service