DESCRIPTION:
Duties: Design, develop and implement software solutions. Solve business problems through innovation and engineering practices. Involved in all aspects of the Software Development Lifecycle (SDLC) including analyzing requirements, incorporating architectural standards into application design specifications, documenting application specifications, translating technical requirements into programmed application modules, and developing or enhancing software application modules. Identify or troubleshoot application code-related issues. Take active role in code reviews to ensure solutions are aligned to pre-defined architectural specifications. Assist with design reviews by recommending ways to incorporate requirements into designs and information or data flows. Participate in project planning sessions with project managers, business analysts, and team members to analyze business requirements and outline proposed solutions. Lead and coach a team of high performing developers, setting goals, mentoring, training and assigning work on a daily basis.
QUALIFICATIONS:
Minimum education and experience required: Bachelor's degree in Mechanical Engineering, Computer Science, Computer Engineering, Computer Information Systems, or related field of study plus seven (7) years of experience in the job offered or as Software Engineering, Associate Architect, Technology Lead, Programmer Analyst, or related occupation. The employer will alternatively accept a Master's degree in Mechanical Engineering, Computer Science, Computer Engineering, Computer Information Systems, or related field of study plus five (5) years of experience in the job offered or as Software Engineering, Associate Architect, Technology Lead, Programmer Analyst, or related occupation.
Skills Required: This position requires experience with the following: building large scale software products using industry standard design patterns; analysis, design, development, testing and implementation of complex distributed systems using Java and J2EE; leveraging open source Java frameworks like Spring and Spring Boot for dependency injection and to build microservices; using Apache Kafka producers and consumers to communicate between systems and for real time processing; leveraging Jenkins to automate CI/CD process, including building, testing, and deploying code changes; building CRUD queries to interact with SQL and NoSQL databases like Cassandra and those attached to microservices; building and developing front-end user interfaces using Javascript; XML and JSON to represent, structure, store and transport data between systems; RESTful and SOAP based web services for integration between complex systems; using Maven for Java based projects for build process and dependency management; using Splunk and its Search Processing Language to build queries to retrieve relevant log data and perform an analysis of that data; using Cucumber to develop test scenarios using behavior driven development concepts; using JUnit to write and automate testing of components of Java code; building and running backend Performance Testing of server side components to verify their functionality, reliability and availability under load; running System Integration Testing and User Acceptance Testing for large scale enterprise systems and coordinating between multiple teams to evaluate integration points; using Automated Testing to define repeatable scripts to test systems in an automated fashion to reduce overall testing time and effort; leveraging Mockito to mock external interaction and create comprehensive test suites.
Job Location: 450 W 33rd St, New York, NY 10001.
Full-Time. Salary: $189,200.00-$215,000.00 per year.