Senior Software Developer
Role details
Job location
Tech stack
Job description
The Senior Software Developer will mentor the Comet development team and lead contracted resources in designing and implementing software solutions for the railroad industry. These include embedded systems, IOT applications and web applications, leveraging the .NET framework, microservices architecture and Azure resources.
This role emphasizes team collaboration, including mentoring and giving feedback to developers to enhance their technical skills, fostering a collaborative and productive environment, and setting a strong example of clean code practices.
The Senior Software Developer will define, enforce, and uphold coding standards, ensuring high-quality, maintainable, and scalable code. They will play a pivotal role in driving Agile development processes, promoting continuous improvement, and ensuring seamless integration across systems. The senior developer will architect software to be secure by design and ensure that industry best practice is followed for security and observability of Comet solutions. Additionally, this position involves collaborating with cross-functional teams to deliver integrated, innovative solutions while maintaining a focus on reliability, performance, and technical excellence.
Senior Software Developer Responsibilities:
Software Design and Architecture
· Architect and design software solutions for web applications and embedded systems.
· Develop high-quality, maintainable, and scalable software using clean code principles.
· Ensure cybersecurity is embedded into all software solutions.
Team Mentorship and Collaboration
· Mentor and guide team members to enhance their technical expertise and productivity.
· Promote and enforce coding standards to maintain consistency and quality within the development team.
System Development and Integration
· Take ownership of Comet's entire code library, ensuring flexibility and competence in all its components.
· Design, develop, and modify software systems to meet functional and technical requirements.
· Coordinate the installation, deployment, and integration of software systems.
Performance, Security, and Quality Assurance
· Define, document, and enforce system performance, reliability, and security standards.
· Conduct and oversee software system testing, validation, and troubleshooting.
· Monitor and improve software performance, addressing issues such as latency, scalability, and resource optimization.
· Proactively identify and address potential vulnerabilities or security risks.
· Additional duties as assigned.
Requirements
Do you have experience in Wi-Fi protocol?, · 10+ years' experience in software development
· Bachelor's degree required in Computer Science, Computer Engineering, or Electrical/Electronic Engineering or experience in lieu of education to include a solid portfolio of projects (e.g., GitHub repos showcasing IoT, driver, and/or microservices work) with significant industry experience in similar roles or adjacent technologies.
· Skilled in: Jira, MS Teams, Confluence, GitHub
· Programming Languages Required: C#, React, C/C++
· Azure cloud experience required
· System design experience in: Networking TCP, UDP, DNS; Caching, CDNs; Microservices, Messaging Architecture; Load Balancing, Sharding, Database Replication; Distributed Systems, Delay/Disruption Tolerant Networks, Edge Computing
· Database Experience in Redis, SQL, SQLite, Cosmos (Relational, Time-series, NoSQL)
· Authentication methods/structures knowledge: Tokens, Certificates, Cookies, OAuth 2.0, JWT
· Communications protocols knowledge: IP, TCPIP LoRaWAN, 5G, 4G, Wi-Fi
Benefits & conditions
Pulled from the full job description
- 401(k)
- Health insurance
- Paid time off
- Vision insurance
- Dental insurance, * 401(k)
- Dental insurance
- Health insurance
- Paid time off
- Vision insurance