Software Engineer - remote

First Atlantic Commerce
Posted 8 months ago  • US or Canada

First Atlantic Commerce (FAC) is a leading, online payment gateway and fraud management solutions provider. Headquartered in Bermuda and founded in 1998, FAC provides multi-currency, payment processing and risk management solutions to Internet merchants and Acquiring banks in the Caribbean and Central America.

FAC securely processes millions of online transactions per year. We are a partner to businesses of all sizes from those sellers just starting out to large, enterprise-scale businesses with complex operations. We support merchants in 21 Caribbean countries, Bermuda, Panama, Honduras, Costa Rica, Guatemala, Nicaragua and El Salvador.

Responsibilities include:

  • Collaborating with business &systems analysts and developers, in developing and initiating new software programs and applications
  • Adhere to the company Software development policy and standards
  • A keen awareness of software development and design alternatives
  • Taking an active role in cross-departmental projects when needed
  • Contribute to research on emerging application development software products, languages, and standards in support of procurement and development efforts
  • Researching, documenting, and implementing program requirements and specifications
  • Consistently writing, translating, and coding software programs and applications according to specifications
  • Running and monitoring performance tests on new and existing software for the purposes of correcting errors, isolating areas for improvement, and general debugging
  • Administering diagnostic analysis of test results and delivering solutions to critical areas
  • Sharing knowledge of application development best practices
  • Gathering statistics, preparing and writing reports on the status of the programming process for discussion with management and/or team members
  • Determining, developing, and maintaining system manuals and guidelines
  • Installing software products for end users as required
  • Liaising with software vendors for prompt rectification of any problems or emergencies
  • Liaising with network administrators, systems analysts, developers, and other software developers to resolve any defects in products or company systems
  • Recommending, scheduling, and performing software improvements and upgrades for optimal performance of company workstations
  • Conducting quality assurance and change control for all application upgrades and development in accordance with FAC policies and standards
  • Assisting with Disaster Recovery Planning and implementation to include hardware and software
  • Providing out of hours support on a rotating 24×7 basis, as required

The Successful Applicant must have:

  • University degree in Computer Science or related discipline
  • Minimum 10 years of experience developing enterprise level, robust web and server systems (n-tier) using C## or Visual Basic primarily with the .NET/.NET core framework
  • Experience writing clean and maintainable code using design patterns and dependency injection
  • Experienced with REST, MVC, aspect-oriented programming, gRPC, JSON, XML, Polly, Serilog &Seq, Telerik UI, IIS, Javascript, HTML, DI Containers (Microsoft, SimpleInjector), JQuery,
  • Windows Server operating systems
  • 5 years of demonstrable experience with medium to complex distributed systems and micro-services
  • 5 years of experience developing high volume transaction processing systems
  • 5 years of experience with bus systems (NServiceBus, RabbitMQ, MSMQ)
  • 5 years of experience developing multithreaded solutions involving traditional async as well as producer/consumer, distributed locks, semaphores, TCP session control, and other thread management constructs.
  • 5 years of experience designing and developing with small to large, high-volume SQL Server databases with and without ORM tools (Llblgen, EF Core)
  • Experience with credit card/debit card payment processing including ecommerce, card present, EMV and 3DS
  • Experience developing mobile applications (Xamarin)
  • Experience with containerization and orchestration using Docker, Kubernetes, and AKS or equivalent
  • Experience developing applications to run efficiently with a Microsoft Azure environment
  • A thorough understanding and practical knowledge of secure software development techniques. Experience developing software adhering to OWASP standards for PCI-DSS Compliance
  • Thorough knowledge of systems development life cycle and a thorough understanding of various development methodologies and how/when to apply them
  • Experience with Git (Github) and Team Foundation Server source control systems
  • Hands-on software troubleshooting experience demonstrating good judgment in identifying issues and recommending solutions to others
  • Experienced at working both independently and in a team-oriented, collaborative environment is essential