Key Skills: Core Java, Spring, Microservices and data base
POSITION OVERVIEW
The Staff Software Engineer role is an advanced level position within the e2open Development team, creating and updating programs to meet the needs of our customers. Using a variety of software languages, tools and techniques, the Staff Software Engineer delivers high quality products according to the specifications outlined by Product Management according to the standards set across the company.
RESPONSIBILITES:
Communication
- Able to communicate well with others
- Ask questions without hesitation. Pursue resolution diligently until an answer is provided
- Write clearly, concisely and at a level appropriate for the intended audience
- Create and document best practices guidelines and knowledge base articles.
- Structure communication for optimal readability and retention
- Communicate complex information to internal and external audiences.
- Contribute to proposals and other customer communications
- Direct interaction with customers and vendors.
Technology
- Applied knowledge of programming languages
- Strong Knowledge of database structures, queries and performance
- Experience with complex data structures, transformations, derivations, serialization…
- Experience with queuing theory, message handling, buffer management, threading…
- Experience with the use of Open Source including licensing models, constraints and proper incorporation
- Experience with User Interface/Experience design, testing, constraints, validation, technologies
- Experience with API design and development with security, backwards compatibility, validation, error handling…
- Knowledge of interface security, data encryption, ethical hacking and denial of service attack prevention
- Thorough understanding of operating systems, file systems, virtual machine management, maintenance, performance
- Basic understanding of network configuration including firewall usage, router management, load balancing
- Familiarity with deployment technologies including Docker, Chef, Terraform
- Expertise in using software build technologies including source control, build and branching, automation
Development
- Able to cross train and learn new technologies
- Design, implement and test enhancement feature requests to enhance product functionality as needed with minimal risk to existing product stability, reliability and performance
- Creates unit tests and proactively validates all developed software
- Contributes to design decisions on new features
- Troubleshoot defects independently
- Work with and assist other departments with any technical issues that arise
- Follows best practices for security guidelines internally and in developed software
- Follows product ‘stories’ to create software meeting or exceeding customer needs
- Research and design of new architectures with leading edge technology
- Maintenance of existing components to improve performance and enhance functionality without regression
- Demonstrates technical flexibility, and creativity in problem solving