Senior Full Stack Software Engineer

EngineeringFull TimeVancouver, BC

  • Social icon linkedin square@2x
  • Social icon facebook square@2x
  • Social icon twitter square@2x
Apply Now
  • Social icon linkedin square@2x
  • Social icon facebook square@2x
  • Social icon twitter square@2x

Want to join a dynamic, expanding tech startup? Accounts Payable automation is a growing solution domain. Beanworks Solutions Inc. is revolutionizing the world of accounting software by disrupting traditional solutions with its elegant, cloud-based software, BeanworksAP. We solve the pain of lost invoices, late payment fees and managing paper. We make controllers and AP managers rejoice by automating their manual accounts payables processes, giving them total visibility, control and reduced fraud risk.

Beanworks Solutions Inc. is conveniently located in downtown Vancouver, with easy access to transit and affordable parking. Our smart, diverse team values innovation, accountability and doing whatever it takes to get the job done, and done well.


The Senior Full Stack Software Engineer at Beanworks, plays a key part in our company’s product development process. You, the ideal candidate, will enjoy the challenges inherent in architecting and implementing solutions for our core products - our SaaS platform, our mobile app, and our .NET desktop software. You’ll relish helping us to build and grow our existing processes, habits and best practices. You’ll feel personally rewarded as you train and mentor junior and intermediate software engineers and see them grow in their skills and abilities. To succeed as a key contributor to our product development team, you enjoy designing modular architecture, writing clean and easy to understand code, developing good unit tests and deploying daily to create a better experience for our users.


You will love this role if:

  • You are passionate about designing and developing scalable and modular architectures
  • You love creating and improving beautiful user interfaces and the REST API’s that power them
  • You enjoy helping teams move towards continuous deployment and automation
  • You are highly passionate and understand the value of writing automated tests that go along with your code in every commit
  • You have experience working in a distributed Linux environment
  • You are passionate about, and are looking for, your next challenge in problem solving
  • You are comfortable with change, able to fail fast, learn quickly, and adapt to new challenges
  • You are a pragmatic change motivator yourself who naturally drives changes within your team

Amongst other technologies and microservices, our stack consists of NGINX, PostgreSQL and RabbitMQ. We primarily use PHP, Javascript, C#.NET and Java. This is mainly a Linux shop, but our C# .NET opportunities have been growing recently. A critical component of our system is a desktop utility that synchronizes Windows-based customer data to our platform, and we have more and more customers with this need. Lastly, we have been extending our reach by developing an in-house React Native (iOS/Android) application to enable our customers mobile access to their data.


Responsibilities

Architecting and implementing modular and scalable software

● Collaborating on requirements specification in the form of BDD features and scenarios

● Designing, implementing and testing technical solutions

● Developing well-structured, maintainable code for web, mobile, desktop applications and APIs

● Pairing with other developers on feature development, code reviews and bug fixing

● Identifying, recording, and tracking feature and bug fix work to resolution and delivery

● Collaborating with the team on evaluation and implementation of frameworks and tools to help with development and quality

● Working with the team to continuously improve process and behaviours through regular reflection and adaptation

● Coaching team members to improve the architecture, design, and implementation of their solutions


Required Skills & Experience

7+ years in software development, showing continuous growth within your organizations

● Experience building maintainable code over a number of years, and understanding how design decisions can affect your future self (or teammates’) work

● Strong knowledge of designing and developing:

○ large, integrated systems with many external dependencies

○ web services and APIs (REST)

○ web and mobile applications, end-to-end

● Intermediate to advanced experience using a type-safe language

● Advanced knowledge of software architecture, software design patterns, relational and non-relational databases

● Advanced knowledge of Linux, Git, Docker

● Working knowledge of the BDD process, techniques and tools

● Experienced in translating product requirements and product design into technical design and providing estimations to the Product Team

● Intermediate to advanced experience with designing and refactoring architecture for Cloud Infrastructure such as Amazon Web Services (AWS)

● Product development experience on lean or agile teams

● Advanced scripting experience (one or more of Python/Boto3, JavaScript, PHP, or Bash)

● Working knowledge of file systems and the AWS CLI