Principal Full Stack Java Engineer

Empower Associates

Principal Full Stack Java Engineer

 

Summary

The Principal Full Stack Engineer will balance business solution architecture and implementation with technical architectural necessities; participate in development, implementation and maintenance of business web applications and provide systems support to the company; establish and maintain technical relationships between development team and data architects and improving technical education by facilitating internal technology workshops. This position works closely with others to facilitate platform convergence and when necessary, participate in a phased implementation of the new applications using standard development tools and methodologies. This position reports directly to the VP of Software Engineering on an elite team with 7 Architects at the director level, who set road maps for all software initiatives for the company and a dozen development teams. This person will be groomed and mentored to rise to the Architect level.

 

This is what we need:

·  Combination of Education and Experience will be considered.

·  Education:  Bachelor’s Degree in Computer Science, Math or MIS. Master’s degree preferred.

·  10+ years’ of development experience as a seasoned middleware engineer; airline and/or hospitality experience preferred.

·  7+ years’ of software development experience architecting and building multi-tiered, high volume fault-tolerant, high-availability, and globally distributed systems in a Linux environment; e-commerce experience is a plus.

·  Languages Experience: Java (8, 9), server-side JavaScript (under Node.js, Meteor), PHP 7.x, HTML5, CSS3, AJAX, JavaScript, JQuery and latest frameworks (AngularJS, ReactJS/Redux, Backbone)

·  JBoss/Wildfly server, Spring Boot 2.0, Tomcat, Linux, HTTP, SOAP/REST Web Services/Microservices, XML, JSON.

•Experience working on EJBs and the web layer, Spring Framework, Maven.

•Experience with Unit Testing Frameworks and Tools, e.g., JUnit, TestNG, Mockito, Jasmine, Mocha, etc.

•Experience with CI/CD build servers (Jenkins, Bamboo, TravisCI, TeamCity, etc.).

•Experience with ORM frameworks for Java, Node, PHP, or Mongo (e.g., Hibernate, ORM2, Sequelize, Doctrine, Mongoose, etc.).

•Knowledge with fault tolerant message queuing/brokering systems (e.g. AMQ, RabbitMQ, zeromq, Kafka).

•Experience with SQL and NoSQL databases, for example, DB2, MySQL, Mongo, Cassandra, etc.

•Significant and demonstrable experience of implementing Java best practice – especially around scalability, availability and performance.

•Highly developed design skills with experience in Object-Oriented Design (OOD), and applied enterprise design patterns, and database design. Domain-driven design, and data modeling is highly desired.

•Testing Experience with Automated Unit Testing, Integration Testing, TDD (Test Driven Development) required.

•Ability to work independently as well as perfom as part of a small, close knit development team which offers full ownership of projects in a supportive design environment.

•Must be able to maintain regular and predictable attendance subject to the leave, PTO, and attendance policies.

•Stay abreast of new technologies and methods to building high quality software (conferences, meetups, etc.).

•Excellent analytical thinking, problem solving, communication, organization and interpersonal skills; able to simplify complex problems, processes or projects into component parts explore and evaluate them systematically.

•Independent thinker with creative, resourceful and proactive problem-solving skills working with a close knit development team that offers full ownership of projects in a supportive design environment.

•Must be able to maintain regular and predictable attendance subject to the leave, PTO, and attendance policies.

 

Preferred Requirements

•Mobile Development/Architecture experience highly desired

•Familiarity with Inversion of Control paradigm is highly desired; experience with Java-based IoC frameworks is a definite plus.

•Knowledge of cloud platforms (AWS, OpenStack, Azure, Google Cloud) is highly desired.

•Knowledge of using machine-learning algorithms with statistics: regression, classification, simulation, scenario analysis, modeling, clustering, decision trees, neural networks, etc.

•Ability to stay and operate at bleeding-edge of data science disciplines is the paramount requirement of this position.

•Understand and drive the vision of the company’s future.

•Effectively collaborate with both business and technical teams.

•Ability to lead a team of technologically and scientifically oriented employees.

•Ability to communicate directly with senior management and subject matter experts through presentations and discussion.

•Ability to collaborate and engage well with others to solve problems and actively incorporate input from various sources.

•Professionalism, ambition, flexibility, technical expertise and open communication are paramount characteristics of the team and its team members.

•The Principal Full Stack Engineer, will possess a great deal of knowledge of the statistics, deep learning and machine learning landscape; develop creative ways to solve business problems through analysis and technology and has a hands-on mentality to problem solving.

•Possess excellent business acumen with a strong ability to map business requirements to technical solutions.

•Strong written and verbal communication skills, proven presentation skills to all levels of audience including technologists, management and executives.

 

Job Duties

•Manage a large cross-functional team and lead a software project from requirements analysis till deployment, having complete responsibility of all the technical deliverables through the life cycle (requirements analysis, design, implementation, QA support and deployment) of the project with no supervision.

•Work with other teams such as QA, PMO and IT Operations and provide them technical support and guidance to ensure successful delivery of a software project.

•Member of architecture team that is responsible for modeling process and design an n-tier system and scalable architecture. Primarily focused on balancing business solutions with technical architectural necessities.

•Provide solution architecture for business problems while balancing essential technical guidelines to functional teams.

•Work with the business analysts to gather and analyze requirements; develop high-level system narratives, storyboards and UI prototypes.

•Re-factor current application design and/or implementation to enhance the application and align with technology roadmap

•Design and implement product enhancements based on business priorities

•Assist in framework evaluation, provide recommendations, and plan integration as needed.

•Participate in typical software maintenance, including quality and stability initiatives.

•Design and develop domain data models and database schemas to support business requirements

•Work with the business analysts to gather and analyze requirements; develop high-level system narratives, storyboards and UI prototypes.

•Contribute, adhere to, and enforce standards and best practices in software development

•Conduct design and code reviews

•Develop prototypes or demos for any strategic business initiative

•Develop complex SQL stored procedures and ad-hoc queries

•Resolve application performance and scalability issues by identifying the bottlenecks, system resource utilization and key areas of improvement.

  • Complete the information below to get started!
  • Accepted file types: doc, docx, pdf, odt, txt, html, rtf, , Max. file size: 2 MB.
  • This field is for validation purposes and should be left unchanged.