Lone Wolf is looking to hire a Senior Software Engineer. As a Senior Software Engineer skilled with constructing web applications using React.js and Java, you will serve as a member of our development team supporting the delivery of an industry leading back office accounting platform. Your work will focus on developing products for our users that are simple, intuitive to use, easy to maintain, responsive, and performing. You will play a central role in the software development life cycle to improve the end-to-end experience and shape the vision of our innovative products.
ESSENTIAL RESPONSIBILITIES AND DUTIES:
Those duties include:
- Work within an Agile environment to plan and deliver work incrementally
- Develop high quality maintainable and scalable SaaS applications on the Java technology stack.
- Collaborate with product owners, architects and software engineers to deliver on key business objectives.
- Deliver an exceptional user experience to our customers, through the delivery of products and services with strong and extendable design patterns.
- Mentor less-experienced engineers in their career development, and provide them regular guidance and direction including peer code review.
- Research, design, test, and evaluate new technologies and vendor solutions.
- Analyze user stories with product owners to validate product designs.
Skills & Requirements
- 6-8+ years’ experience developing and delivering large scale distributed systems (ideally using modern microservice architectures, SOA, CQRS, Event Sourcing, or DDD patterns)
- 3+ years’ experience in React and TypeScript
- 3+ years’ experience in Java and Java Spring Framework
- Prior experience with at least one major IaaS and/or PaaS technology
- Prior experience with relational and non-relational database technologies (PostgreSQL, MongoDB)
- Prior experience with RabbitMQ, Solace or AWS SQS/SNS
- Prior experience with agile development, continuous delivery, and DevOps
- Prior experience with React Hooks
- Thorough understanding of the DRY, SOLID and KISS principles of software development
- Flexibility and creativity in implementation of designs - including leveraging emerging technologies
- Excellent written and verbal communication skills
- Excellent organizational and problem-solving abilities
- Ability to clearly explain and justify ideas when faced with competing alternatives
- Ability to communicate and apply common design patterns across a wide range of technical problems