Principal Engineer, Full Stack

Las Vegas, NV /
Information Technology – IT Engineering /
Full-Time - Remote
The Principal Engineer, Full Stack 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.

Visa Sponsorship Available

Minimum Requirements
Combination of Education and Experience will be considered. Must be authorized to work in the US as defined by the Immigration Act of 1986. Must pass a Criminal Background Check.
Education:  Bachelor’s Degree in Computer Science, Math or MIS. Master's degree preferred.
Years of Experience:  
Minimum ten (10) years' of development experience as a seasoned middleware engineer; airline and/or hospitality experience preferred.
Minimum seven (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.

Other Minimum Requirements:
•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)
•Technologies/Frameworks Experience:
•Experience of the following is required: 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 posses 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 bottle-necks, system resource utilization and key areas of improvement.
•Ensure any direct reports understand and apply our Customer Commitment and customer service standards to their daily responsibilities as appropriate.
•Model Allegiant’s customer service standards in personal actions and when providing leadership direction.
•Other duties as desired.

Physical Requirements
The Physical Demands and Work Environment described here are a representative of those that must be met by a Team Member to successfully perform the essential functions of the role. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions of the role.

Office/IT - While performing the duties of this job, the Team Member is regularly required to stand, sit, talk, hear, see, reach, stoop, kneel, and use hands and fingers to operate a computer, key board, printer, and phone. May be required to lift, push, pull, or carry up to 50 lbs. May be required to work various shifts/days in a 24 hour situation. Regular attendance is a requirement of the role. Exposure to moderate noise (i.e. business office with computers, phones, printers, and foot traffic), temperature and light fluctuations. Ability to work in a confined area as well as the ability to sit at a computer terminal for an extended period of time. Some travel may be a requirement of the role.

Essential Services Provider
Allegiant as a national air carrier is deemed an essential service provider during declared national and state emergencies. Team Members will be required to report to their assigned trip or work location during national and state emergencies unless prohibited by local, state or federal order.

EEO Statement
Equal Opportunity Employer: Disability/Veteran
For more information, see
People of color, women, LGBTQIA+, immigrants, veterans and persons with disabilities are encouraged to apply.