Principal Software Engineer - iOS Engineer - 90363189 - Washington
Date: Nov 26, 2023
Location: Washington, DC, US, 20001
Company: Amtrak
Your success is a train ride away!
As we move America’s workforce toward the future, Amtrak connects businesses and communities across the country. We employ more than 20,000 diverse, energetic professionals in a variety of career fields throughout the United States. The safety of our passengers, our employees, the public and our operating environment is our priority, and the success of our railroad is due to our employees.
Are you ready to join our team?
Our values of ‘Do the Right Thing, Excel Together and Put Customers First’ are at the heart of what matters most to us, and our Core Capabilities, ‘Building Trust, Accountability, Effective Communication, Customer Focus, and Proactive Safety & Security’ are what every employee needs to know and do to be most impactful at Amtrak. By living the Amtrak values, focusing on our capabilities, and actively embracing and fostering diverse ideas, backgrounds, and perspectives, together we will honor our past and make Amtrak a company of the future.
SUMMARY OF DUTIES:
The Principal Software Engineer (Native iOS) is responsible for analyzing, designing, developing and installing software solutions. The role is also a point of escalation for operational support for assigned systems. Daily responsibilities may include development, configuration and/or integration; ensuring issues and tickets are resolved quickly; working with project managers, Senior Principal Software Engineers, Business System Analysts, IT service owners and IT service offering leads to keep all parties formally updated and aware of development efforts and issue resolution status; and providing technical leadership for operational and project related initiatives. The Principal Software Engineer provides daily technical oversight throughout the project lifecycle. This role works closely with customers, business analysts and team members to understand the business requirements that drive the analysis and design of quality technical solutions.
ESSENTIAL FUNCTIONS:
- Leads the software development approach as an engineering exercise; confirms requirements are clear, follows a documented development methodology and makes sure a unit testing regimen is followed to deliver code per designs. Designs, builds and suggests architecture that will last beyond current initiative or product effort.
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions.
- Leads technical direction and decisions, follows a documented development methodology and makes sure a unit testing regimen is followed to deliver code per designs.
- Collaborates with enterprise architect and infrastructure to integrate applications and hardware.
- Ensures that the design and application implementation meet security and QA standards.
- Creates and updates documentation as necessary to ensure architectures, designs and other descriptions are up to date and describes the as‐deployed system.
- Ensures development teams are following applicable standards for methodologies, integration, tools, and testing.
- Ensures documentation, flowcharts, layouts, diagrams, charts, code comments and clear code are followed.
- Prepares and installs solutions by determining and designing system specifications, standards and programming.
- Protects Amtrak by following Information Security standards and applying consistently.
- Adheres to quality standards and procedures. Reviews modules for quality assurance and checks compliance with application architecture standards and Service Level Agreements (SLAs). May assist in defining development guidelines and standards to be utilized in software development/integration.
- Proactively recommends and provides ongoing maintenance of applications.
- Assists in the development of user guides and training documentation.
- Provides technical guidance or system process expertise.
- May manage vendor relationships that are required to provide operational support.
- May coordinate preventative maintenance activities between vendors, IT and the business, including the installation of service packs, patches, and hot fixes.
- Keeps abreast of new technical standards and practices.
- Analyzes/monitors applications to ensure that the functionality and performance meets all product and service level requirements
MINIMUM QUALIFICATIONS:
- Bachelor’s Degree in computer science, information systems, software engineering or business management plus 7+ years relevant experience or 11+ years of relevant work experience in subject matter expert capacity required to satisfy education and experience requirements.
MIMINUM KSA (Knowledge, Skills, and Abilities):
- Proficient with Objective-C or Swift and Cocoa Touch.
- Experience with iOS frameworks such as UIKit, Core Animation, Core Graphics, Core Data, and Core Location, with the ability to design and implement custom interfaces and complex animations and knowledge of other web technologies and UI/UX standards.
- Familiarity with RESTful APIs to connect iOS applications to back-end services and networking protocols for data integration.
- Expertise in offline storage, threading, performance tuning, asynchronous programming, GCD, and concurrent data structures.
- Understanding of Apple's design principles and interface guidelines.
- Experience with app development frameworks (AVFoundation, RXSwift, UIKit, XCTest, XCUITest)
- Good understanding of the iOS release cycle and familiarity with the CI/CD platform and pipelines.
- Knowledge of low-level C-based libraries, AWS Native Libraries, and GraphSQL is preferred.
- Proficiency in advanced debugging and profiling techniques, with the ability to analyze complex crashes, memory issues, and performance bottlenecks using tools like Instuments, LLDB etc.
- Familiarity with cloud message APIs and push notifications
- Proficient understanding of code versioning tools such as Git.
- Strong problem-solving skills and the ability to troubleshoot complex issues.
- Knowledge of design patterns and a focus on writing modular and reusable code.
- Excellent communication skills and the ability to work effectively in a collaborative team environment
- Up-to-date knowledge of the latest iOS trends, technologies, guidelines, and advanced security implementations
- Knowledge of agile development methodologies with experience in continuous integration and automated testing.
- Ability to articulate complex architectures in completeness and detail that demonstrate a mastery of the topic.
- Extensive experience with Agile methodologies and techniques including SCRUM and SAFE frameworks
- Ability to work well under deadlines and in a flexible environment.
- Must have experience/in‐depth knowledge of business operations and systems requirements processes including ability to measure short‐and long‐term business goals.
- Must possess the ability to utilize adaptable communication skills to effectively translate between technical and business language.
- Must possess the skill to educate project team members on business unit goals and objectives and educate the business on the value of information technology.
- Ability to identify, propose and oversee the execution of business solutions as well as interpret documents communicating business needs and requirements.
- Must possess the skill to assess the client needs through direct interaction and identify opportunities to develop the business through effective use of technology.
- Excellent troubleshooting, analysis, and problem‐solving skills.
- Excellent communication skills ‐ both oral and written.
PREFERRED QUALIFICATIONS:
- 9+ years of relevant experience in a subject matter expert capacity.
- Master’s Degree
WORK ENVIRONMENT:
- Work is performed in an office environment.
- May require travel up to 10% of the time.
- After hours may occasionally be required
- Willingness to support applications 24 x 7 (24 hours a day, 7 days a week)
- Additional duties as assigned
COMMUNICATIONS AND INTERPERSONAL SKILLS:
Must have excellent oral and written communication skills.
The salary/hourly range is $113,200 - $146,664. Pay is based on several factors including but not limited to education, work experience, certifications, etc. Depending on an employee’s assigned worksite or location, Amtrak may consider a geo-pay differential to be applied to the employee’s base salary. Amtrak may offer additional incentive and pay programs to recognize and reward our employees, including a short-term incentive bonus based upon factors such as individual and company performance that is commensurate with the level of the position and/or long-term incentive plan compensation. In addition to your salary, Amtrak offers a comprehensive benefit package that includes health, dental, and vision plans; health savings accounts; wellness programs; flexible spending accounts; 401K retirement plan with employer match; life insurance; short and long term disability insurance; paid time off; back-up care; adoption assistance; surrogacy assistance; reimbursement of education expenses; Public Service Loan Forgiveness eligibility; Railroad Retirement sickness and retirement benefits; and rail pass privileges. Learn more about our benefits offerings here.
Requisition ID:159493
Posting Location(s):District of Columbia
Job Family/Function:Engineering
Relocation Offered:No
Travel Requirements:Up to 25%
You power our progress through your performance.
We want your work at Amtrak to be more than a job. We want your career at Amtrak to be a fulfilling experience where you find challenging work, rewarding opportunities, respect among colleagues, and attractive compensation. Amtrak maintains a culture that values high performance and recognizes individual employee contributions.
Amtrak is committed to a safe workplace free of drugs and alcohol. All Amtrak positions requires a pre-employment background check that includes prior employment verification, a criminal history check and a pre-employment drug screen.
Candidates who test positive for marijuana will be disqualified, regardless of any state or local statute, ordinance, regulation, or other law that legalizes or decriminalizes the use or possession of marijuana, whether for medical, recreational, or other use. Amtrak's pre-employment drug testing program is administered in accordance with DOT regulations and applicable law.
In accordance with DOT regulations (49 CFR § 40.25), Amtrak is required to obtain prior drug and alcohol testing records for applicants/employees intending to perform safety-sensitive duties for covered Department of Transportation positions. If an applicant/employee refuses to provide written consent for Amtrak to obtain these records, the individual will not be permitted to perform safety-sensitive functions.
In accordance with federal law governing security checks of covered individuals for providers of public transportation (Title 6 U.S.C. §1143), Amtrak is required to screen applicants for any permanent or interim disqualifying criminal offenses.
Note that any education requirement listed above may be deemed satisfied if you have an equivalent combination of education, training and experience.
Amtrak is an EOE/Affirmative Action Minority/Female employer, and we welcome all to apply. We consider candidates regardless of race/color, religion, sex (including pregnancy, childbirth and related conditions), national origin/ethnicity, age, disability (intellectual, mental and physical), veteran status, marital status, ancestry, sexual orientation, gender identity and gender expression, genetic information, citizenship or any other personal characteristics protected by law.