- Company Name
- SOTI
- Job Title
- Senior Software Developer
- Job Description
-
**Job title**
Senior Software Developer
**Role Summary**
Design, develop, and maintain high‑performance, scalable software solutions for a mobile device management platform. Lead code quality efforts, mentor a small engineering team, and collaborate across cross‑functional groups to deliver robust integrations with a broad set of protocols and data formats.
**Expectations**
- Write clean, maintainable, and testable code (C#, .NET, Java).
- Mentor junior developers and champion best‑practice engineering standards.
- Own end‑to‑end delivery of features, from requirement analysis to deployment and operational support.
- Participate in architectural reviews, code reviews, and knowledge sharing sessions.
**Key Responsibilities**
- Develop and evolve core services that onboard thousands of mobile and IoT devices.
- Implement interfaces for MQTT, HTTPS, FTP, gRPC, Bluetooth, and other IoT protocols.
- Design, create, and optimize SQL Server databases (T‑SQL, stored procedures, triggers).
- Write unit and integration tests, apply Test‑Driven Development (TDD) and Behavior‑Driven Development (BDD) practices.
- Investigate, debug, and resolve defects; automate regression testing pipelines.
- Maintain technical documentation and ensure code meets quality and security standards.
- Engage with external partners and industry communities to stay current with emerging technologies.
**Required Skills**
- 5+ years of professional software development experience.
- Advanced proficiency in C# and the .NET ecosystem.
- Solid experience with Java, SQL Server (T‑SQL, stored procedures, triggers).
- Familiarity with JSON, XML, AngularJS, and front‑end basics (JS, CSS) is a plus.
- Knowledge of MQTT, HTTPS, FTP, gRPC, Bluetooth, asynchronous messaging, and semantic IoT concepts.
- Experience with TDD/BDD and unit/integration test frameworks.
- Understanding of CI/CD, DevOps concepts, and infrastructure automation (bonus).
- Strong problem‑solving, debugging, and communication skills.
**Required Education & Certifications**
- Diploma or Bachelor’s degree in Computer Science, Software Engineering, or related discipline.
---