
Software Engineer : Job Level - Associate/Director
- Alpharetta, GA
- Permanent
- Full-time
- Lead a technical team to design and implement highly reliable, scale-able, extensible, maintainable, global, and operable products and platforms
- Draft and review architectural diagrams, interface specifications, class structures, and other design documents
- Build systems that balance resources, constraints, requirements, and complexity
- Present opportunities with cost/benefit analysis to leadership in order to shape decisions regarding architectural strategy
- Evangelize technologies, solutions, and best practices developed with the organization
- Develop department-wide technical perspectives, standards, solutions, and strategies that resolve significant product or organizational pain-points
- Participate in a network of principal engineers to share ideas, practices, and experiences
- Work closely with product management and development teams
- You must enjoy challenging engineering problems. We are looking for someone who can solve complex issues
- We value principal engineers who do enough hands-on implementation work to keep current with technology trends inside and outside the company
- Lead and mentor other back-end engineers Basic
- Minimum of 10 years of software development experience
- Bachelor degree in Computer Science or a related field
- Strong Proficiency with either Go or Java/J2EE
- Expert in software development domain and principles, including design patterns, data structures, continuous integration and deployment architecture
- Solid experience in working with either Golang or Java. Knowledge in multiple languages like GO, Java, C++, Javascript will be a plus.
- Knowledge on Spring, Spring Boot, JPA/Hibernate and C/C++, batch scripts - perl, ksh.
- Good understanding of Web Services protocols such as REST, SOAP, IDL, gRPC and API design for extensibility and portability
- Experience writing SQL queries for Sybase / Oracle or another Relational Database is required.
- Well versed with OOD and SOA principles.
- Experience of working in UNIX environment. Knowledge of perl and UNIX based shell scripts is required
- Working knowledge of cloud, service mesh and containers
- Team player possessing strong analytical, problem solving and communication skills
- Experience with SCRUM, Agile and iterative approaches a plus
- Creative thinker, self-starter, able to work on multiple projects simultaneously