We are looking for a Principal Software Engineer with deep insight and experience solving a wide array of software problems and a track record of leading by example to join the Enterprise Architecture team.
Are you comfortable jumping into strange and antiquated codebases, debugging obscure and difficult to reproduce glitches, translating business requirements into a technical specification, and creating exploratory prototypes to vet new technologies? Would you like a hand in rebuilding older systems as a part of a larger, modern, more scalable and responsive ecosystem? Do you want to shape the technology and culture of an engineering team, cultivate a commitment to code craft, and work across teams to build composable components that meet immediate business needs as well as provide a scalable tech platform for the future? Are you serious about performance, test coverage, and agile software development? If so, you'll be right at home with us.
We are a rapidly growing industry leader in the asset management and service supply chain marketplace. Our size means you'll have major opportunities to expand your skill-set and contribute in a big way to the future of our product. Accordingly, our Engineering team is a group of self-starters, eager to produce quickly and solve big problems for our customers. We're agile, flexible, and autonomous, working remotely via Slack, GitHub, Jira, Confluence, and Zoom.
Your career growth and development are top-of-mind for us. You'll learn a lot here. We truly believe that your success is our success. And while we will expect a lot from you, we also value your life outside of work; recharging is important, and we strive to offer an environment that reflects that.
Role & Responsibilities:
* Serve as a big-picture technical leader for the Technology & Engineering division
* Develop an in-depth understanding of the different tech stacks
* Provide advice and guidance on project requirements, timelines, and technologies for current and future projects
* Participate in the creation and revision of Technical Specifications for current and future projects
* Lead technical brown-bags and internal presentations
* Document systems, architecture, and processes
* Mentor engineers and promotes software and application design excellence through:
* One-on-one interactions
* Pull Request and code reviews
* Ad-hoc pairing / mentoring sessions
* Organizing and/or leading technical study groups
* Provide architectural oversight and guidance to engineering teams, in the following areas (at minimum):
* Domain modeling/remodeling
* Data modeling and persistence
* SOA structure, unification, configuration, function, and composition
* Tooling, languages, and frameworks
* Secure coding
* Policies and guidelines
* Represent the Enterprise Architecture team's concerns and priorities to the engineering teams and vice versa.
* Drive our architecture forward by collaborating with technology stakeholders across the organization to ensure our technology remains stable, functional, and scalable.
* Design solutions for research projects, by building prototypes to determine a proposed design for new applications and/or services.
* Attend delivery team meetings and other technical team's standups as needed
* Design, document, and develop applications and solutions for our platform
* Assist engineers in the design and construction of applications and supporting APIs
* Develop tools in support of a unified architecture and guide teams in the implementation of these tools
* Effectively communicate with project stakeholders through a variety of tools (JIRA, Slack, Zoom, etc)
Skills & Qualifications:
* Extensive experience with building web-based services and applications using Ruby (Ruby on Rails)
* Architectural patterns
* Distributed systems
* Big Data Analytics
* AWS services and technologies
* Serverless architectures
* SQL (PostgreSQL)
* Asynchronous messaging systems
* Data pipelines/streams
* Various Open API Specifications
* CI/CD pipelines and tooling