LocationLas Vegas, NV
As a Senior Principal Software Engineer at Allegiant, you are a full-stack engineer and 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, architecting 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
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, MIS or related field, Master's Degree preferred.
Years of Experience: Minimum twelve (12) years' experience of development experience as a seasoned middleware engineer required, airline and/or hospitality experience preferred. Minimum nine (9) years' experience of software development experience, architecture, and building multi-tiered, high-volume, fault tolerant, high-availability, and globally distributed systems in a Linux environment; E commerce experience is a plus.
•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.
•Excellent written and verbal communication skills required. Must have the ability to communicate ideas effectively and cross functionally; exhibit creativity, flexibility, adaptability and the drive to achieve results; capacity to work independently and as a team player.
•Proficient in Microsoft Office Products: Word, Excel and Outlook.
•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.
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.
Equal Opportunity Employer: Disability/Veteran
For more information, see https://allegiantair.jobs
People of color, women, LGBTQIA+, immigrants, veterans and persons with disabilities are encouraged to apply.170700