Full Stack Engineer at Gravity Payments
Solve interesting problems.
Collaborate with other talented developers.
Make the world a better place for independent business owners.
We’re a team focused on building the best payment systems in the world and we’re looking for intellectually curious engineers to help us.
Interested?Here’s the kind of person you are
Independent and collaborative.
Maniacal about quality.
Kind to animalsBasic qualifications
Bachelor’s degree in computer science or related field.
5+ years of experience in designing software architecture, leading software development groups, and operating scalable software systems.
Strong object-oriented design skills, with an understanding of common design paradigms.
Proficiency in modern programming languages, such as C, C++, C# or Java.
Experience designing and developing service-based architectures and/or micro services.
Experience designing data persistence and caching concepts using both SQL and NoSQL DBMS (e.g.: MySQL, MongoDB, Cassandra, Redis, etc.).
Enough DevOps experience to set up, configure and maintain your own dev/build environment.
Excellent knowledge of software engineering best practices (e.g.: agile software development, test-driven development, unit testing, code reviews, design documentation, etc.).Preferred qualifications
Experience taking a lead role in building complex software systems that have been successfully delivered to customers.
Knowledge of professional software engineering practices and best practices for the full software development life cycle, including:
- coding standards
- code reviews
- source control management
- build processes
Experience with distributed computing and enterprise-wide systems.
Experience in communicating with users, other technical teams, and senior management to collect requirements and describe software product features, technical designs, and product strategy.
Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers.
Experience influencing software engineers to the best practices within your team.
Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between.
Knowledge of virtualization technologies (e.g.: Docker, Vagrant, etc.).
Experience with native and/or hybrid mobile development (e.g.: iOS, Android, PhoneGap, ionic, etc.)
Hardware hacking and prototyping experience (e.g.: Arduino).
Payment technology experience a plus.
Sound like you?
Great! We can't wait to meet you.