What are the responsibilities and job description for the Senior Software Engineer position at U.S. Xpress, Inc.?
What You’ll Do:
The Senior Software Engineer is responsible for building the tools that power our freight platform. You should have a passion for tackling hard problems. A veteran who knows how to get things done, and how-to future-proof our architecture and implementations to scale for years to come. You will play a pivotal role in shaping the definition, vision, design, roadmap, and development of product features from beginning to end.
- Design, implement, test, deploy and maintain innovative software solutions to transform service performance, durability, cost, and security
- Use software engineering best practices to ensure a high standard of quality for all the team deliverables
- Write high quality distributed system software
- Promote state of the art technology trends, standards, frameworks, and tooling
- Manage your work using git, agile practices, and our CI/CD pipeline
- Work in an agile, startup development environment, where you are always working on the most important stuff
- Mentor, teach, and coach other engineers to improve their engineering skills and responsibilities
- Partner with various teams to create a technical strategy and design for proposed product improvements and new features
What We’re Looking For:
Education:
- Bachelor's degree in Computer Science plus 5 years of relevant professional experience or Master’s degree in a related field plus 4 year of relevant professional experience
Qualifications:
- Extensive experience in software development with a focus on managing complex applications and infrastructure.
- Proficiency in writing shell scripts and developing custom Docker files.
- Strong knowledge of Kubernetes, SQL, MongoDB, and Kafka, including advanced use cases and optimizations.
- Proven ability to lead and mentor junior to mid-level engineers.
- Excellent communication skills and the ability to work collaboratively within and across teams.
- Strong documentation skills, with experience in creating UML and class diagrams.
- Proficiency in Linux command line, Docker, AWS, MongoDB, and Kafka.
- Strong experience in creating and using reusable libraries across multiple programming languages.
- Excellent problem-solving skills and attention to detail.
- Experience with at several modern programming language (Java, Python, JavaScript, Go or C#), unit testing, integration testing.
- Created class diagrams to illustrate interactions within applications, ensuring that the architecture is well-documented and comprehensible to others.
- Solid understanding of business processes with a proven ability to train junior engineers.
Preferred Qualifications:
- Experience in managing large-scale applications with a focus on scalability, performance, and security.
- Advanced understanding of infrastructure tools and practices, including containerization, cloud services and on prem systems.
- A proactive and self-driven approach to work, with a track record of independently managing projects from inception to completion.