Our client, an innovator in the B2B payment space, is experiencing explosive growth. Now is the time to get on board! They are simplifying the way business make and receive payments. Their vision is a world in which finance leaders only have to decide what to pay – their software seamlessly handles the how and the when.
The Senior Fullstack Software Engineer will be part of a small, collaborative time. Ideally someone who has worked in a start-up or is excited about that environment. The candidate must have strong communication skills, be able to client face, change direction quickly, and a great multi-tasker.
You will be building an outsourced Accounts Payable system. As a Senior Software Engineer, you will be leading the engineering teams software development (including architecture, code quality and best practices) in addition to directly contributing high-quality code to the platform. You'll be directly involved with building features used by internal and external customers to both modernize, optimize, and monetize payments.
They offer a competitive salary, equity, Medical, Dental and Vision benefits, and unlimited PTO after 90 days.
Responsibilities
Execute the companys platform technology plans supporting both our short-term and strategic goals.
Take a lead role in the software engineering team to build a solid, scalable, quality platform that will meet the business needs.
Deliver highly maintainable, scalable, quality code that fulfills business requirements and provides a basis on which to grow the entire software platform.
Provide architectural guidance and direction for the software engineering team.
Work closely with the Product Group to analyze and understand business and functional requirements, collaborate with them to design appropriate solutions and drive the development process to a successful conclusion.
Establish reliable and precise timelines and estimates for project planning and ensure that these timelines are met.
Deploy new and existing applications into cloud environments and provide operational support for the applications.
Proactively identify challenges and new opportunities as it relates to architecture, infrastructure, tools and processes.
Requirements
5+ years of demonstrated hands-on experience in software development
Extensive experience with high throughput transactional processing systems that operate at an enterprise scale.
Excellent code reviewing skills with a high standard for code quality and a low tolerance for technical debt.
Thorough knowledge and experience with .NET, C#, Docker, containerized deployments, WebAPI, Entity Framework.
Significant experience with front-end technologies such as React, VueJS, Bootstrap, HTML, JavaScript, TypeScript, CSS and building front-end user experiences.
Expertise with both relational and non-relational database technologies such as SQL, PostgreSQL, AWS Aurora, MongoDB, AWS DocumentDB. Must be highly proficient in using these technologies to create highly-scalable data processing systems.
Skilled at working with key stakeholders to refine project requirements.
Ability to break down complex projects into incremental development efforts.
Working knowledge and experience developing backend unattended complex data processing jobs, implementation of job orchestration technologies.
Strong API design, development, and utilization experience.
Significant experience working with asynchronous processes.
Disciplined approach to unit testing and TDD where appropriate.
Experience with source control and CI/CD including tools such as Git, CircleCI
Deep knowledge and experience using AWS services, specifically serverless, queue, caching, event, notification tools – for example EC2, Fargate, Lambda, Aurora, DocumentDB etc.
Experience with the use of Infrastructure-As-Code scripts to provision and deploy cloud services.
Experience with agile development methodologies and strong knowledge of all phases of system development life cycle.
Ability to manage, direct and mentor other developers.
Experience with designing and creating quality user experiences that are both intuitive and simple.
A desire to be challenged by a constantly growing and changing environment.
We also value
Prior experience in the payments space.
Strong engineering background in fields such as Computer Science, Mathematics, Software Engineering.
Experience with other software platforms such as Python, Django, Node.