The Software Engineer II creates and designs new software, applying theoretical principles of computing and mathematics in order to analyze, test and assess software systems. The Software Engineer II evaluates user needs while designing and testing new software to meet those needs. This may involve analyzing and developing flow charts, models, diagrams and algorithms in addition to coding or modifying software. This position researches and develops new technologies and processes/algorithms, and introduces them to the enterprise as needed to improve revenue and customer satisfaction.
- Keeps abreast of new technology patterns and trends. Leads the evolution of standards and technology (tools, conventions and design patterns).
- Leads and reviews the design of applications and new technology.
- Leads analysis, design and development of software with small technical team.
- Develop effective partnership with customers/internal customer. Interface with all levels of management to negotiate and influence development activities and initiatives
- Influences the discovery and decision-making process when changes to standards and technology are required (tools, conventions and design patterns).
- Independently develops and implements software for ecommerce applications and related technology, with minimum oversight.
- Leads code reviews to ensure functional performance specifications are met and engineering standards are followed.
- Mentors Software Engineer I.
- Creates self-documenting designs and/or clearly communicates intent via comments in code, on specifications, in as-built documentation and during code reviews.
- Writes unit and integration tests for each deliverable, effectively and comprehensively exercising the code; prevents the introduction of subsequent bugs, and corrects existing bugs or design issues when discovered.
- Resolve complex development, coding and implementation issues
- Perform analysis, design and development of software for ecommerce applications and related technology.
- Bachelor's Degree in CS, a related technical or scientific field, or equivalent experience
- 2+ years of experience analyzing, designing and coding large scale Java/J2EE, in Agile and iterative development life cycle environments.
- Demonstrated expertise in designing and implementing RESTful and SOAP web services utilizing Service Oriented Architecture, relational databases MySQL, no-SQL (Cassandra, Mongo, etc.), with continuous integration and delivery processes using Jenkins, and code quality improvement using SonarQube, and build managers Ant and Maven
- Demonstrated expertise designing and building J2EE applications, with disaster recovery mechanism to support high load during peak business hours, including performance analysis and fixes using performance testing tools Dynatrace and JConsole, and performing log analysis using Splunk
- Demonstrated Expertise defining and implementing security for payment software applications, with integration to payment systems First Data and PayPal for handling credit card, debit card and gift card payments, including handling of PCI/PII data
- Experience with NodeJS, and AWS cloud deployment a great plus
- Solid knowledge of algorithms, data structures and complexity theory.
Req/Job ID: 926754BR