Full Stack Developer
As a full stack developer at BlueMarvel, you will have responsibilities that span front-end, back-end and devops. You will work closely with our product and technology teams to understand the requirements and design and implement scalable, reliable, and efficient solutions that meet those requirements.
Calgary, Edmonton or Burnaby
Role and Responsibilities
Responsibilities for Backend Development:
- Designing and implementing scalable, reliable, and efficient backend architecture that can handle large volumes of traffic and data.
- Developing APIs that allow the frontend and mobile applications to communicate with the backend services.
- Building and maintaining databases and data storage systems that can store and retrieve data quickly and accurately.
- Integrating with third-party services and APIs to enhance the functionality of our products.
- Collaborating with the frontend development team to ensure seamless integration between the frontend and backend systems.
- Ensuring the security and integrity of the backend infrastructure by implementing best practices for authentication, authorization, and data protection.
- Providing technical guidance to the product and technology teams on implementation options.
- Writing clean, well-documented, well-tested and maintainable code.
- Collaborating with other teams, such as frontend, to ensure that the backend APIs are well-documented and easy to use.
- Troubleshooting and debugging issues with the backend infrastructure.
- Participating in code reviews and contributing to the team's coding standards.
- Keeping up-to-date with the latest trends and best practices in backend development.
Responsibilities for DevOps:
- Design, implement, and maintain our deployment infrastructure.
- Develop and maintain CI/CD pipelines for our Dockerized applications.
- Collaborate with software developers to ensure efficient deployment of applications.
- Monitor and analyze system performance metrics to identify and resolve issues proactively.
- Troubleshoot issues in production environments, including performance, scalability, and reliability.
- Implement security best practices to ensure the protection of our data and infrastructure.
- Automate manual tasks to improve efficiency and reduce error rates.
- Document infrastructure, processes, and procedures for knowledge sharing and onboarding new team members.
Responsibilities for Frontend Development:
- Participate in mockups and wireframes and translate them into high-quality code.
- Build interactive and intuitive components that visualize IIoT data.
- Optimize component performance across a variety of browsers and environments.
- Deploy UI/UX using Docker on an on-prem or cloud environment.
- Integrate frontend dashboards with backend.
- Design and build consumer-grade frontend products.
- Translate business requirements into technical requirements.
- Experience with Express and Node backends.
- Demonstrated understanding of React, its core components, and principles.
- Passion for developing reusable components and complementary libraries.
- Experience with modern visual libraries such as Nivo, Material UI or D3.js.
- Experience in building performant visualizations for big data applications.
- Familiarity with RESTful API's and GraphQL.
- Familiarity with modern authentication mechanisms.
- Ability to translate business requirements into technical requirements.
- Entrepreneurial mindset and enjoy working in a fast-paced environment.
- Enthusiasm for products that result in a safer and more energy-efficient society.
Qualifications and Skills
- 2-5 years of experience in software development.
- Strong understanding of RESTful API design and development. Experience with GraphQL is an asset.
- Experience with common data storage technologies such as SQL, NoSQL, and data lakes.
- Experience with containerization technologies such as Docker is an asset.
- Experience with DevOps, process automation, CI/CD pipelines, and container-based architectures.
- Experience with cloud platforms, including AWS, Azure, and/or GCP.
- Experience of deploying commercial grade software is an asset.
- Excellent problem-solving skills.
- Excellent communication skills and ability to work in a team environment.
- Some knowledge of the process industry is an asset.
- Bachelor's or Master's degree in Computer Science or related field.