Senior Java Full Stack Software Engineer
Posted on Nov 15, 2018 by Request Technology - Anthony Honquest
Senior Java Full Stack Software Engineer
As a Company Full Stack Software Engineer you work in a structured paired environment. You architect and design systems to deliver your products using modern tools, technologies, frameworks, and systems. You develop code every day and are highly focused on test driven development, continuous delivery and innovation. Your team owns and manages running your applications in production and are accountable for the success of your digital products through achieving KPIs.
As a Lead Consultant you serve as a key member of the product team. You practice and champion the Company methodology and eXtreme Programming (XP) and a product mindset within each product team; design and implement applications following 12-factor principles to build out the product and iterative enhancements. You own the full stack of software products; developing and implementing frontends (web or mobile), and Back End services. You leverage test driven development and continuous integration to ensure agility and quality of products. You actively participate in the decision-making process of the team ensuring that the simplest appropriate technology and design is chosen to meet user needs. You coach other team members, creating an environment of continuous learning, and constantly challenging and stretching the knowledge of the team. As a member of the Company Lab engineering enablement team, you will work as a consultant with multiple product teams to enable the above and build products to improve developer productivity and experience for our platform.
- Participates in inceptions and iteration planning meetings, infusing backlogs with technical input working in close partnership with the product manager
- Leads and participates in daily site, cross-site, and product team standups
- Leads and participates in retrospectives; demonstrating and encouraging each participant to provide feedback with empathy
- Partners in collaboration and strategy alignment across product portfolios (cross-product) in partnership with product managers, other peers and key stakeholders with the customer needs and wants in mind
- Participates in the effort of shaping the architecture and design of the product; actively helps the team in choosing the right technology, solving technical problems,
- Coaches the team and leads daily practices of using paired programming and test-driven development in writing software and building products
- Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices
- Provides support for software products in user environments
- Leads and participates in knowledge sharing and contributes to the overall growth of the collective knowledge of the Company Labs community.
- A college degree or equivalent experience in Computer Science or similar field, including a solid understanding of Computer Science fundamentals
- 5+ years of developing and implementing systems at scale preferred
- Strong understanding of computer science concepts, object-oriented design principles
- Strong understanding of distributed systems, operating systems, networking, databases, security, and analytics
- Experience in developing REST APIs versioning, service discovery/registration, testing and management; experience using API gateways a plus
- Experience with web and API security including authentication, authorization, OAuth, OWASP, OpenID, and SAML
- Experience in Back End development design and implementation; database (relational, NoSQL, caching) and messaging, implementation and optimization
- Experience developing continuous integration, continuous delivery and continuous deployment pipelines for distributed apps. Git and Jenkins a plus.
- Knowledge and experience on approaches and tools for automated testing and monitoring
- Experience working in an eXtreme Programming (XP) or agile environment
- Experience in Test Driven Development; including knowledge and experience in testing frameworks like junit, mockito, jasmine, enzyme, jest and other like technologies
- Able to learn new technologies, and teach other members of the team/s
The candidate(s) offered this position will be required to submit to a background investigation, which includes a drug screen.