Software Engineer

Location: - Mountain View, CA, CA - California, United States

Ref#: 1648.6360

posted: 23-Jul-2018

Responsible for analyzing, designing, debugging and/or modifying software; or evaluating, developing, modifying and coding software programs to support programming needs. Maintain and enhance existing code with focus on implementation. Collaborate with and assist team of engineers in writing functional, design and user interface specifications. Follow software lifecycle process when developing software. Help identify solutions to problems encountered in software cycle. As a principal J2EE application developer,  play a key role within each phase of the software development lifecycle.  Create medium to large sized Java applications from start to finish, including the following: regular interaction with stake holders and product teams, validating requirements, proposing enhancements that provide better member experience, system design, design reviews and approvals,  build data models and SQL procedures, leveraging platforms as J2EE containers (Weblogic/TomEE), Cloud Platforms (AWS, Heroku or OpenStack) , design cross functional APIs, Highly scalable systems that can match and exceed member growth, development builds, application deployments, integration/enterprise testing, and support of applications within a production environment.  Work in complex technology environments across many disciplines of information technology including: Developing services that run on clustered environments supporting alert and fulfillment platforms servicing members using Service Oriented Architecture (SOA), and Optimum Web Application design for maximum performance, Operating Systems including Mac OSX or Linux, Performance Management and Capacity Planning, Building highly scalable decoupled systems that can be independently scaled to support member growth using Messaging Software and Interoperability Techniques and Standards.  Review Code written by team members and provide suggestions to improve performance, maintainability. Provide Platform and Skill Set Expertise in the following: J2EE Specifications and APIs, Persistence frameworks, RDBMS and NoSQL Expertise, Javai18n to build java server side components that implement our alert and fulfillment platforms; Web Development using HTML, Ruby, Struts, Java, Javascript, CSS, Apache and QA Testing utilizing unit test case Development/Junit.
Software/Application Development using J2EE and SOA using Axis/Jersey, Java Script, Web Logic Application Server 12c, Oracle 12c, Wicket/Servlets, EJB, JMS, JPA, JDBC, JMX, JMS; Web Services, XML, XSL; Spring Framework, Database Development using Oracle, NoSQL (DynamoDB/MongoDB). Design Skills & Tools including UML, Object Oriented Design, Visio; Source Code Control: Git/Subversion to publish design documents for discussion and approvals, keep history of changes using source control systems. Write middle-tier Java code; ensures that every coding path is unit tested and nearly bug free.   Define standards and best practices to be followed by team, provide solutions for monitoring and metrics using instrumention using logging frameworks (SumoLogic or Splunk). Participate in full integration testing, data integration/architecture, enterprise information integration and/or ETL. Rapidly addresses issues and fixes defects discovered during deployment.  Secure coding best-practices, common web application vulnerabilities such as the OWASP Top Ten, and coding strategies to mitigate vulnerabilities; works with secure development lifecycle practices. Utilize development methodologies including SDLC, Scrum, and/or Agile, test-driven development, and tools used to develop Java code such as JUnit, Eclipse, IntelliJ or NetBeans, and Subversion for sprint planning, increasing code coverage and testing for regression. Develop high quality applications, and mentor other developers, providing technical direction on application architecture.
Gather and document technical requirements and specifications.
Employer will accept Bachelor’s degree in Computer Science, Engineering or related technical field, and 7 years of work experience in job offered or in a computer-related occupation.
 
Position requires:
1. 7 years of experience using the following technologies J2EE Specification APIs including EJB, JPA, JMS, JDBC, Web Services, SOA, Jersey, Axis, Spring Framework, XML, XSL, Struts, or Java, JavaScript and CSS.
2. 6 years of experience in design and architecting web based systems in both in-house datacenters and cloud platforms (like AWS), data integration/architecture with external vendors, data transformation and delivery systems and enterprise integration systems. 
3. 6 years of experience developing applications on cloud platforms like AWS or OpenStack, Logging frameworks like SumoLogic or Splunk.
4. 5 years of experience using different development methodologies including SDLC, Scrum, and/or Agile, and test-driven development.
5. 5 years of experience using development tools such as JUnit, Eclipse, IntelliJ, NetBeans, and Subversion.
6. 5 Years of experience developing high quality applications, mentoring other developers and providing technical direction on application architecture gathering and documenting technical requirements and specifications, working in complex technology environments.
7. 5 years of experience across many disciplines of information technology including: Service Oriented Architecture (SOA), Optimum Web Application design for maximum performance, Operating Systems - Mac OSX or Linux, Performance Management and Capacity Planning, Application Program Interfaces (APIs), Messaging Software and Interoperability Techniques and Standards; Experience with secure coding best-practices.
8. 5 years of experience with common web application vulnerabilities, such as the OWASP Top Ten, and coding strategies to mitigate vulnerabilities.
9. 5 years of experience with secure development lifecycle practices.