About the Role
Backend Engineers at Airship maintain and improve the backend services that power our platform. They are responsible for the reliability, scalability, and maintainability of a large, distributed system. We provide low latency services that process a stream of events from apps, web, mobile wallet, email, sms, and internal services. In an average week, you will:
● Collaborate cross-functionally with outside teams
● Read and write well-designed and efficient code
● Plan for, and develop, new features that will be implemented across multiple microservices
● Work with the team lead and architect to make well-reasoned design decisions that take into account potential issues, scaling and reliability concerns, maintenance trade-offs, and appropriate levels of abstraction
● Work with Infrastructure, QA, and other Engineers to troubleshoot issues that are escalated through Support
● Design systems and help define best practices
● Be accountable end-to-end from planning to deployment
● Test changes, both manually and by writing and updating unit tests
● Actively look to improve the product and identify areas for improvement
What to Expect
This position is geared toward a Senior developer. There are opportunities for both collaborative and independent work and you will be part of a larger functional team with plenty of other senior and staff engineers ready to help if you need it.
Within the first week, you will:
● Be introduced to the cross-functional team and will learn what each role does
● Set up your development environment, be granted access to source code and internal systems
● Read a lot of documentation and watch a few videos to learn about our product and platform
● Clone code and set up one or more local instances of services
● Be assigned your first ticket and start solving problems
Within the first month, you will:
● Gain familiarity with team processes
● Write code, unit tests, and internal documentation for new features you are working on
● Deploy your changes to our production environment
● Participate in daily standups and other team meetings
Within the first 3-6 months, you will:
● Join the on-call rotation and collaborate to resolve production issues (the entire team takes turns with week-long shifts)
● Continuously explore, understand, and improve unfamiliar codebases
● Make pragmatic decisions about when to refactor and when to iterate
● Deploy updates across services to bring new functionality to end users
● Become proficient with Airship engineering stack and Airship’s preferred tools and style
● Communicate technical issues and decisions clearly and proactively to a cross-functional audience
● Offer constructive code reviews, demos, talks, and recommendations to help your team and others be more productive and ship a better product
● Suggest solutions to problems impacting the team
● Consistently help new hires and more junior engineers to "level up" and become more proficient over time
● Understand customer needs and motivations
● Understand how engineering projects contribute to business goals
● Provide well-informed estimates to internal stakeholders
● Set realistic deadlines and cut scope as needed working with other senior members of the project team
● Mitigate risk by shipping frequently and limiting change
● Experience designing, building and testing enterprise Java applications
● Knowledge of current frameworks, SDKs, APIs, and libraries
● Ability to work with other developers and assist junior team members
● Strong verbal and written communication skills
● Demonstrated ability to work both independently, and in a team environment
● Experience with the Google Cloud Platform or AWS
● Experience using a Linux-based development environment (managing software, using the terminal, familiarity with basic utilities)
● Ability to work independently on significant features
● Capable of acting as a mentor to other engineers
Bonus points for:
● Practiced Git workflows (branching, merging, resolving conflicts)
● Experience with distributed NoSQL systems or key-value stores
About the Team
We're looking for a strong senior back-end engineer to join the team that is responsible for Airship's Journeys products. You can (and should!) read more about at the links below.
The team is a driven, goal-oriented group that is constantly tweaking and refining their development process to deliver more value to customers. While strong engineering work is important, everyone on the team has the opportunity to participate in the entire product development process. From refining team procedures, to product discovery directly with customers, to proposing new solutions, every member of the team has the opportunity to contribute. If this sounds like the kind of place for you, read on!
We look forward to hearing from you!
At the dawn of mobile apps, Airship powered the first commercial messages and then expanded its data-led approach to all re-engagement channels (mobile wallet, SMS, email), app UX experimentation and feature release management.
Now, with Airship App Experience Platform (AXP), brands can create and adapt native app experiences on their own — with no ongoing developer support or app updates required.
Having powered trillions of mobile app interactions for thousands of global brands, Airship is proud to be at the forefront of what has become the digital center of customer experience, loyalty and monetization — mobile app experience (MAX).
Learn more about Airship here: Airship Newsroom + Airship Customers
Airship Benefits Summary
Workplace Flexibility (Fully Remote Option) + WFH stipends + Medical, Dental, & Vision Insurance (PPO/HSA Options) + Mental Health Benefits + Open PTO Policy (take the time you need) + 401(k) Retirement Plan w/a match + Stock Options + Professional Development Program ($1,750/year) + Mentorship Program + Employee Resource Groups + Culture Club + Supplemental Benefits (Life Insurance, Short/Long-Term Disability, Flexible Spending) + Parental Leave + Employee Assistance Program + Referral Bonus Program
Duties and responsibilities described are not a comprehensive list and additional tasks may be assigned to the employee from time to time; or the scope of the job may change as necessitated by business demands and may be amended at any time at the sole discretion of the Employer.