Hello,
We have a job opportunity for a Software Engineer – Client is a high-touch, ongoing service provider for your finance team.
Building an outsourced Accounts Payable system. Automating payments through the customer portal. API integrations and ERP's.
Our client is simplifying the way businesses make and receive business payments by integrating electronic payments and cash flow improvement solutions directly into customers business process software. Our vision is a world in which finance leaders only have to decide what to pay – Our software seamlessly handles the how and the when.
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. This will involve close collaboration with the various technical teams, the product group and other business departments to understand our business needs and build products that solve them and provide value to our customers.
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
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.