Senior Principal Full Stack Engineer

Las Vegas, NV /
Information Technology – IT Engineering /
/ Remote
As a Senior Principal Full Stack Engineer at Allegiant, you play a key role in the delivery of highly reliable, scalable, and maintainable systems. You will drive projects end-to-end, collaborating on product definitions with Product Managers, architect and implementing technical solutions with talented teams, and ensuring continued success even after deployment. 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. You will lead and participate in design reviews, architecture discussions and other technical leader activities. You’re comfortable working independently as well as supporting other team members. You’re pragmatic, tenacious, and comfortable with ambiguity. You’ll be able to balance technical leadership and acumen with strong business judgment to make the right decisions about technology choices. You’ll strive for simplicity, while bringing technical insights into how to refine and improve the system, ultimately ensuring performance, stability, and an exceptional end user experience.

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, Management Information Systems (MIS), or related field. Master's Degree is a plus.
Certification:  Java (8, 9), server-side JavaScript (under Node.js, Meteor), PHP 7.x, C#, C++, Python, HTML5, CSS3, AJAX, JavaScript, JQuery and latest frameworks (AngularJS, ReactJS/Redux, Backbone), etc.
Years of Experience:  
Minimum twelve (12) years' of development experience as a seasoned middleware engineer, airline and/or hospitality experience preferred.
Minimum nine (9) years' of software development, architect, and building multi-tiered, high-volume fault tolerant, high-availability, and globally distributed systems in a Linux environment; E commerce experience is a plus.

Preferred Requirements
•Experience of the following is required: JBoss/Wildfly server, Spring Boot 2.0, Tomcat, Linux, HTTP, SOAP/REST Web Services/Microservices, XML, JSON
•Experience with fault tolerant message queuing/brokering systems (e.g. AMQ, RabbitMQ, zeromq, Kafka)
•Solid engineering experiences working on EJBs and the web layer, Spring Framework, Maven
•Experience with Unit Testing Frameworks and Tools such as JUnit, TestNG, Mockito, Jasmine, Mocha, etc.
•Experience with CI/CD build servers (Jenkins, Bamboo, TravisCI, TeamCity, etc.)
•Environment deploy/orchestration (Kubernetes, Docker, Ansible, etc.) is highly desired
•Experience with AWS or similar cloud platforms (OpenStack, Azure, Google Cloud) is highly desired
•Experience/knowledge with service discovery solutions like Consul/Eureka/Zookeeper
•Familiarity with Inversion of Control paradigm is highly desired; experience with Java-based IoC frameworks is a definite plus.
•Experience with ORM frameworks for Java, Node, PHP, or Mongo (e.g., Hibernate, ORM2, Sequelize, Doctrine, Mongoose, etc.) is required.
•Experience with monitoring tools (SumoLogic, Splunk, Logstash, ELK, DataDog, etc.) is a plus
•Experience with SQL and NoSQL databases, for example, DB2, MySQL, Mongo, Cassandra, etc. – is required; experience with cloud-hosted variants (Cloudant, Dynamo, various RDS flavors) is highly desired
•Significant and demonstrable experience of implementing Java best practice – especially around scalability, availability and performance
•Strong and demonstrable experience working in design and development of public facing & private REST APIs
•Strong and demonstrable experience working in teams with heavy emphasis on DevOps, Automation, and Quality
•Highly developed design skills with strong experience in algorithms, data structures, OOD, and applied enterprise design patterns, and database design is required. Domain-driven design, and data modeling is required.
•Track record of building and maintaining excellent working relationships with peers across organizations (QA, Development, PM, UX, etc.)
•Experience and understanding of software source control systems, preferably Git
•Experience in making trade off decisions regarding the architecture and design of software systems
•Experience of using Unix/Linux-based OS including performing basic administrative tasks is a plus
•Track record of delivering excellent customer experiences
•Familiarity with Agile and Scrum methodologies
•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
•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 Sr. 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
•Must be able to maintain regular and predictable attendance subject to the leave, PTO, and attendance policies

Job Duties
•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.
•Possess expert knowledge in performance, scalability, enterprise system architecture, and engineering best practices
•Resolve application performance and scalability issues by identifying bottlenecks, resource utilization and key areas of improvement
•Functionally decompose complex problems into simple, straightforward solutions
•Member of architecture team that is responsible for framework evaluation, recommendation and plan integration; modeling process, developing re-usable components and design an n-tier system and scalable architecture
•Provide solution architecture for business problems while balancing essential technical guidelines.
•Re-factor current application implementation to enhance the application and align with technology roadmap
•Drive innovation by contributing new ideas for our processes, tools, and technologies
•Design and implement product enhancements based on business priorities
•Exert technical influence over multiple teams, increasing their productivity and effectiveness by sharing your deep knowledge and experience
•Design and develop domain data models and database schema to support business requirements
•Work with the business analysts to gather and analyze requirements; develop high-level system narratives, storyboards and UI prototypes.
•Keep up with the latest developments in the front-end and middleware framework/community
•Conduct design and code reviews and contribute, adhere to, and enforce standards and best practices in software development
•Develop prototypes or demos for any strategic business initiative
•Assist in the career development of others, actively mentoring individuals on advanced technical issues and helping managers guide the career growth of their team member
•Develop complex database interactions and optimizations using ORM-driven SQL and native ad-hoc queries.
•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.

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 - 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 20 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.