Job: Principal Software Engineer / Architect – API at Alfred & Victoria Associates
Summary of work
We are looking for a Software Engineer/Senior Architect to assist in the design and development of state-of-the-art business APIs and web/mobile applications.
You should be prepared to learn more about customer environment, product, product journeys and workflows with a focus on developing APIs that drive ecosystem activation and monetization of APIs.
Candidate should have experience or at least be willing to learn about API Marketplaces, SaaS, API Developer Portals, API/Exchange Gateways, System/Application/Level APIs of experience, financial infrastructure, payment services, digital wallet and telecommunication services. .
The Software Engineer/Senior Architect will work closely with our Product Managers, Business Leaders, and user community in the design, architecture, and implementation of customer-facing API functions and features. and web services to power web and mobile applications that are intuitive, fast, efficient and fully meet the needs of our customers.
To perform well in this role, we expect you to have a strong track record of delivering quality code and APIs on time.
We expect you to have strong opinions on the appropriate approach to problem solving and to have experience working and experimenting with distributed systems, digital wallet, REST APIs and micro-services .
We expect you to be comfortable designing API specs and coding in a number of languages and able to quickly learn new tools when needed. You will build and maintain our commercial products.
Architecture, design and implementation of all Restful API and web architecture
Architecture, design and development of RESTful APIs for cutting-edge financial and connectivity applications.
Follow an API-driven approach to meet customer needs – API-driven platforms
Architecture, design and implementation of API marketplaces, API monetization and SaaS platforms
Design and deploy solutions with containerized microservices using technologies such as Digital Ocean, AWS, Docker, Lambda, ECS, Thrift, Finagle
Design user interactions on web pages.
Development of back-end web applications.
Creation of servers and databases for the functionality.
Ensure cross-platform optimization for web and mobile applications.
Ensure the entire stack is designed and built for speed and scalability
Integration of our frontend UI with built APIs.
Keep abreast of developments in web applications and programming languages.
Work with development teams and product managers to design software solutions
Design client-side and server-side architecture.
Build the front-end of applications with an attractive visual design.
Develop and maintain well-functioning databases and applications.
Testing software to ensure responsiveness and efficiency
Troubleshoot, debug and update software.
Create security and data protection settings
Write API technical documentation.
“Pixel-perfect” implementation of our proven user interface.
Being a member of an agile Scrum team that owns the development of a specific product or platform.
Design efficient and scalable backend systems.
Write unit, functional and end-to-end tests.
On-site servers for data processing and extraction at our partners.
Identify and resolve performance and scalability issues.
Participate in code and design review.
Good knowledge of version control software.
Key performance indicators
Design, implement and manage enterprise web applications that impact millions of users.
Discover an expedition culture that uses cutting-edge web technologies.
Evolve in an environment passionate about knowledge sharing and code review.
Learn software engineering practices for coding at scale: static analysis, feature metrics, predictive analytics, blockchain, big data and more.
Delivery of proven and scalable solutions.
Coaching and mentoring of team members.
Be the spearhead of the team’s vision.
Organizational and analytical skills.
Participate in product planning using Agile methodologies.
Passionate about technology, play with new tools.
Have exposure in a start-up/scale-up (or really want to work in one)
Being able to stand up and make your voice heard.
Bachelor’s degree in Computer Science, Mathematics, Physics, Engineering or equivalent practical experience.
Five (5) years of experience building production-grade software frameworks with experience building financial applications.
Proficiency in back-end object-oriented design languages including Java, NodeJS with experience in Python, Go, Ruby, NPM, AdonisJS Framework, Sentry, Typescript, etc.
Experience with MySQL databases such as OracleSQL, PostgreSQL and NoSQL databases such as MongoDB, Cassandra, Elastic Search with a strong understanding of web servers (eg Apache, Nginx, Log Management Systems).
Experience implementing APIs based on both JSON and SOAP-XML.
Experience designing and building RESTful microservices using modern technologies, such as Docker and Kubernetes.
Build and deploy modern, high-performance web apps in VueJs, React, Redux, Webpack, ES6, and Flow
Experience working on large scale distributed systems.
Experience working with AWS, Digital Ocean, or other cloud-based services.
Ability to own and complete large, multi-faceted projects with little guidance.
Experience using GitHub/Gitlab or similar tools for source code management and collaboration
Write high quality code (Ruby on Rails, Go) that communicates with upstream backend services via HTTP APIs.
Modern JS framework like React or VueJS or similar framework
Expertise in creating complex layouts with CSS and HTML
Experience in a fast-growing startup or with cutting-edge teams in a large technology company.
Comfort with payment and collection application development, including back-end development and service design, data storage and access models, enterprise-level messaging models and frameworks modern web development.
Preparation and/or revision of functional and technical specifications of products/services
Liaise with third-party vendors during project development to review progress.
Preparation and deployment of prerequisites for project deliverables.
Know and are enthusiastic about Agile/XP software development practices for delivering projects.
Help take care of systems by keeping them up to date, adding features, refactoring code and fixing bugs
Collaborate with the team through code reviews and architecture discussions.
Very attractive salary
A dynamic and collaborative environment where we take advantage of the latest technologies
Practical coaching and professional development
Competitive compensation and opportunity for advancement – true meritocracy
Relaxed and informal office environment