Advantage Tech is seeking candidates for a Software Engineer/Business Intelligence Developer position.
Designs and develops distributed applications with moderate to high complexity that also have moderate to significant business criticality. Provides full software development lifecycle support. Responsible for design, secure coding, and for enforcing application security and standards and compliance processes. Works independently, with guidance in only the most complex situations. May lead functional teams or projects. Has in-depth domain knowledge of the relevant business area/s. Key responsibilities include requirement analysis, design, code, test, debug, document, implement and maintain software applications. Specifics of job responsibilities and skills are listed below.
- Knowledge and Skills: Requires specialized depth and/or breadth of expertise. Interprets internal or external business issues and recommends best practices. Adept in communicating complex business and technical concepts with the development team and management. Uses industry and System frameworks and standards to build solutions for complex technical problems; takes a broad perspective to identify innovative solutions.
- Requirements: Able to see effects of current design with future requirements and possible impact both within and outside the application.
- Design: Exceptional knowledgeable of interfaces, APIs, and networks. Provides leadership establishing various security solutions. Investigates and evaluates architecture design options. Detailed understanding of logical and physical data structures, good understanding of subsystems including the work flows. Able to lead design reviews.
- Development: Exceptionally skilled. Develops solutions solving highly complex problems. Refactors regularly as a standard coding practice. Able to provide coaching to others. Design/builds/tailor/implement various tools, e.g. continuous integration, testing, IDE automation, deployment, or other process automation tools. Able to lead code reviews.
- Testing: Sets the standards for test design. Provides guidance to others for improving tests and/or suggests improvements and refactoring. Designs and writes tests to simulate challenging conditions. Detailed understanding of how to effectively test code written against third party software. Implements performance tests as required.
- Project Management: Assists with establishing the work breakdown. Excellent estimating capabilities. Drives self and others to meet project dates. Continually provides input for improvement in estimation and planning process. Standards and Best Practices – Design, update, and implement frameworks and best practices for the project. Uses industry and System frameworks and standards to build solutions for complex technical problems. Leadership: Leadership: May lead functional teams or projects with moderate resource requirements, risk, and/or complexity.Problem Solving – Leads others to solve complex problems; uses sophisticated analytical thought to exercise judgment and identify innovative solutions.
- Impact: Impacts the achievement of customer, operational, project or service objectives; work is guided by functional policies. Interpersonal Skills: Clearly communicates problems, solutions and tradeoffs to technical and non-technical audiences. Actively listens to different points of view, and collaborates well with others.
- Bachelor’s degree from an accredited college or university with specialization in an information technology field (e.g., Computer/Management Information Systems (MIS/CIS), Computer Science (CS), Electrical/Computer Engineering (EE/CE), or an equivalent combination of related education and/or work experience.
- Typically requires six to eight years of relevant and progressive information technology experience directly related to the design and development of software solutions; including substantial experience in enterprise-class solutions.
- Established knowledge with Industry software development methodologies, standards and architecture frameworks.
- Demonstrated ability to adapt and learn new technologies.
- Moderate project management skills.
- Advanced oral and written communication skills. Ability to explain complex technical information to technical and non-technical contacts.
- Excellent planning and organization skills.
- Excellent initiative, innovative thinking skills, and the ability to analyze details and adopt a big-picture view.
- Demonstrated problem solving skills, including the ability to think logically and analytically.
- Excellent interpersonal skills, including the ability to effectively build relationships; promote, and work well in, a collaborative team environment; and influence others
PREFERRED TECHNICAL EXPERIENCE:
- Advanced understanding of Java/Java EE, Java EE frameworks, and Java EE application servers.
- Angular 4+, Spring Framework, Cloud (AWS, etc.).
- Business intelligence (design and development), Oracle, as well as a knowledge of back-end PL/SQL scripts, RESTful Web services (i.e.: Spring REST), JMS, WebSphere MQ, and similar technologies.
- JPA and similar persistence frameworks, XML/JSON, Software Configuration Management (i.e. GIT, Subversion).
- Agile software development methodologies. • Test Driven Development Practices and frameworks (i.e. JUnit, Cactus, TestNG, Selenium, etc.).
- Prior production support for high throughput distributed applications.