Do you want to write code that serves those in society who are most vulnerable and struggling just to meet basic needs? Are you tired and frustrated working with code that is poorly designed and the only way to meet business stakeholders is to write layers and layers of unnecessary code just so you won’t break regression. Do you want direct influence and impact on how code should be architected, designed and written? Do you want to help build a world-class software engineering team that not only creates quality code, but still has work life balance and has fun doing it. Do you want a direct line of communication to a CTO who has over 10,000 hours of writing backend and frontend code and successfully built teams to create enterprise grade software?
If the answer to any of the above questions is yes, then Marble is the place for you. To learn more about Marble, please visit our website at https://marblefinancial.ca/ .
As a senior software developer, you will play a core role in designing, implementing and
refactoring key systems in the core foundation and application layer. The ideal candidate will be a full stack developer, but if you are strong in one area, you will have the opportunity to grow into a full stack developer by partnering with an experienced front end React.js developer. Specific duties include the following:
- Take ownership of Jira tasks from inception to completion and ensuring that each task is completed on time and to a high standard of quality.
- Write DRY code, conduct code reviews, and participate in peer code design discussions.
- Ensure code adheres to Company guidelines and industry standards.
- Ensure requirements are well defined and understood before writing any code.
- Ensure teams are using shared libraries for maximum re-use.
- Ensure projects are completed successfully on time.
- Ensure all code has been successfully tested in an automated way with respect to unit, integration and end to end testing.
- Employee may be asked to perform other ancillary or related duties as required, to meet the ongoing needs of the organization.
Qualities we are looking for:
- Coaching mindset and experience mentoring junior/intermediate developers.
- Belief that developers are responsible for quality and should thoroughly test their code in an automated and holistic way.
- Able to take high level designs and implement into Java code with minimal supervision.
- Excellent communication and interpersonal skills.
- Good analytical and problem solving skills.
- Self-motivate, results-oriented, and a demonstrated ability to operate autonomously.
- Ability to analyze and creatively solve technical and business-related problems without he needs of detailed requirements or specifications
- Meticulous and efficient in communication and consistently documents all work.
- Strong customer service mindset.
- Strong time management and organizational skills and takes initiative
Back End Experience:
- In-depth experience designing and implementing microservices in of Java 8.0+ and Spring Boot ecosystem.
- In-depth experience writing software components in a distributed architecture.
Experience writing asynchronous software components using Kafka or AWS SQS consumers/producers.
- Experience using GIT to branch, tag and version release packages.
- Experience with Maven to manage builds and deployments
- At least 3 years experience implementing RESTful APIs with properly structured interfaces, exception handling, error codes and error messages
Experience using central logging such as Graylog to troubleshoot issues
Front End Experience:
- At least 2 years experience , designing and implementing web application frameworks such as Backbone, Angular, React.js
- At least 5 years experience in HTML5, CSS3 and CSS Pre-processors such as SASS or LESS
- At least 3 years design and implementation experience in React JS
- In-depth experience in State containers such as Redux
- In-depth experience being a key technical resource for the successful unit and integration testing using Jest/Enzyme or Mocha/Chai/Jasmine
- In-depth experience structuring the application code to easily integrate with automated testing frameworks such as Selenium
- Experience with task runners such as Grunt, Gulp or module bundlers such as Webpack or Browserify
Nice to Have:
- Experience configuring, deploying and managing services as Docker containers in an AWS ECS environment
- Comfortable administering, monitoring and configuring multiple AWS EC2 instances
- Experience using GIT to branch, tag and version release packages
- Experience building a CI/CD deployment pipeline using Bitbucket or Jenkins
- Experience deploying, configuring and monitoring application servers in AWS
- Experience with PHP symfony
- Experience with managing VMs and SQL server on Microsoft Azure.
- Experience with Jira to manage day to day activities
- Experience using BitBucket to conduct code reviews and merge code.
- Working knowledge of Linux
- Experience configuring a CI/CD deployment pipeline using Pipeline or Jenkins
Job Type: Full-time
- advanced SQL: 1 year (Preferred)
- Java Developer: 3 years (Preferred)
- REST API: 1 year (Required)
- React.js: 3 years (Preferred)
- Vancouver, BC (Preferred)