Senior Java Software Developer

col-narrow-left
Job ID:
2499280
Location:
Charlotte, NC
Category:
Information Technology, Telecommunications, Product Management
Salary:
$120,000.00 per year
Zip Code:
28201
Employment Type:
Full time
Posted:
08.09.2018
col-narrow-right
col-wide

Job Description:

Full Stack Software Engineer Lead Consultant designs and implements applications following 12-factor principles to build out the product and iterative enhancements.

He/she owns the full stack of software products; developing and implementing frontends (web or mobile), and Back End services. He/she leverages test driven development and continuous integration to ensure agility and quality of products. He/she actively participates in the decision making process of the team ensuring that the simplest appropriate technology and design is chosen to meet user needs. He/she coaches other team members, creating an environment of continuous learning, and constantly challenging and stretching the knowledge of the team.

Responsibilities

  • 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
  • Serves as an expert on one or more business domain and a lead advocate of one or more technology stacks and shares that knowledge across organizations
  • 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 CompoZed Labs community.

Job Qualifications

  • 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
  • Strong understanding of computer science concepts, Object Oriented Design principles
  • Strong understanding of distributed systems, operating systems, networking, databases, security, and analytics
  • Experience developing software in different programming languages, and demonstrated ability to quickly learn new languages, including but not limited to Javascript, Java (Spring), .NET, Ruby, Python, Golang, and Javascript
  • Experience and knowledge in developing REST APIs including tooling for documentation (swagger, REST-docs, openapi spec), versioning, service discovery/registration, testing and management; experience using API gateways a plus
  • Experience and knowledge in web and API security including authentication, authorization, OAuth, OWASP, OpenID, and SAML
  • Experience in Back End development design and implementation; database (relational, NoSQL, caching), messaging and big data development, implementation and optimization
  • Experience in responsive web Front End/single page application development using modular JavaScript including apps targeted for mobile devices
  • Hands on experience on modern JavaScript tools such as Webpack, Babel, ESLint, Gulp, NPM, Bower, Browserify, Grunt and similar technologies
  • Actual experience developing continuous integration, continuous delivery and continuous deployment pipelines for distributed apps
  • Knowledge and experience on approaches and tools for automated testing and monitoring
  • Actual experience working in an eXtreme Programming (XP) or agile environment; experienced working in a paired programming/engineering model
  • Experience in Test Driven Development; including knowledge and experience in testing frameworks like junit, mockito, jasmine, protractor, cucumber, and other like technologies
  • Able to learn new technologies, and teach other members of the team/s
Company Info
Request Technology - Anthony Honquest