Job Description
**Job Description** **How will you make a difference?**
You will be the Lead Software Engineer for a group of applications which will be a combination of actual products within the TMDS product suite, supporting both server\-side applications that are key to the integration and overall functionality of the product suite as well as client facing desktop applications. You'll design scalable, stable systems for various markets, while analyzing and resolving production issues. Your leadership will ensure adherence to established guidelines through peer reviews, mentoring team members, and guiding problem\-solving efforts. By managing projects through their full lifecycle and implementing DevOps practices and software design best practices, you'll drive innovation and efficiency. Your expertise will be instrumental in delivering high\-quality solutions that address customer needs and advance our technological capabilities.
**What do we want to know about you?**
**You Must Have:**
* B.S. in Computer Science, MIS, Software Engineering or related discipline
* Minimum of 8 years of experience in application development with .NET framework using C\#, VB.NET, and SQL Server, Java, Angular / TypeScript, ASP.NET
* Experience leading development of entire applications and/or very large features.
* Solid desktop application development, web/Windows services (SOA) experience and good understanding of Microsoft platform.
* Strong practical knowledge of OOP, design patterns, data modeling, and database design.
* Experience in working with a geographically distributed team in different time zones.
* Good to have knowledge of domain modeling and entity modeling.
* High degree of attention to detail.
* Effective oral and written communication skills. Ability to articulate clearly and concisely.
* Self motivated, quick learner, results\-oriented, and a clear focus on quality.
* Ability to develop high level of credibility and strong positive relationships with peers and management.
**We would love it if you had:**
* Dispatching/Railroad knowledge and experience,
* Experience with business process analysis (current state, future state, gap analysis),
* A flair for taking something unstructured or ambiguous and transform it into clearly understood and documented artifacts
* Demonstrated understanding and ability to learn detailed technical processes and the connection/dependencies on the type of technology stack the application is being developed on,
* Familiar/experience with message\-oriented middleware such as Kafka or RabbitMQ, microservices, and SQL / No SQL Database
* Familiar/experience with networking and data transfer protocols,
* Familiar/experience with system installation best practices,
* Familiar with AI driven development,
* Familiar/experience with .Net friending IDE’s (Visual Studio, IIS configurations, web Caching, Cyber Security hardening techniques.
**What will your typical day look like?**
* Lead development of TMDS products and supporting ...