Description

Job Description:

As a Software Development Engineer for the client, you will be responsible for developing services, and tools that improve the discoverability of delivery options and messaging for all customers and utilize our current delivery experience architecture. To succeed, the skill to build highly scalable, fault-tolerant systems that can withstand millions of operations per day will not be enough. You will be responsible for projects that require enhancements to multiple systems, including many outside your team's ownership. You’ll need a proven ability to architect elegant solutions to new challenges spanning multiple systems and to effectively share your technical vision with others. You will be working with multiple teams across the company in many different areas, so collaboration skills are a must. So, if you’re creative, talented, have a strong sense of both technical and business ownership, and enjoy solving complex challenges that have a huge impact on all customers, we’ve definitely got the role for you!


Basic qualifications

5+ years of non-internship professional software development experience
Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design.
1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability, and scaling) of new and current systems.


Preferred Qualifications

Proficiency in, at least, one modern programming language such as C, C++, Java, Python, Scala, or Rust
Experience with Service Oriented Architecture (SOA) and AWS Technologies.
Experience collaborating with other teams to build scalable and fault-tolerant solutions.
Experience taking a leading role in building complex software systems that have been successfully delivered to customers.
Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
Experience with distributed computing and enterprise-wide systems.
Experience in communicating with users, other technical teams, and senior management to collect requirements, and describe software product features, technical designs, and product strategy.
Experience mentoring junior software engineers to improve their skills and make them more effective, productive software engineers.
Experience influencing software engineering best practices within your team.
Hands-on expertise in many disparate technologies, ranging from front-end user interfaces through back-end systems and all points in between.

Education

Any Graduate