Job Description
Staffing Lab represents a client that has asked us to assist in identifying candidates for a Full Time Senior Back End Developer for opening within their organization.
My client values clean architecture and modern approaches to software development and testing. Their products consist of cloud-based micro-services and modern web and mobile applications. You will work closely with a tight, agile team that ships features continuously, and you will be able to see the impact of your work on real customers.
Salary range is 100-120k CAD plus a 10% year end bonus. My client is building systems that integrate IoT, real-time data and web/mobile apps and they're doing it with a micro-service architecture to facilitate independent scrum teams. As a Senior Software Engineer, you’ll be working as part of a scrum team to build cloud micro-services that are resilient, fault-tolerant and performant, while working with other teams to determine how the features and functionality that you add can make our customers happy.
Requirements
First and foremost, you love writing software.
- Your code is comprehensible, well-structured, highly performant; your best days at work are in front of the computer cranking out code on your own, although you have the experience to know that a winning product requires an entire team.
- You are curious and passionate about knowing “why”, whether it is why a use case is important for a customer, or why something strange happens one time in a hundred tries. You love both learning and teaching.
- In this role, you will be interfacing with design, front-end, back-end, platforms, analytics, as well as our PM and marketing teams; towards that end, you enjoy working across teams to solve hard problems.
- Agile development is second nature. Not only will you be expected to participate in daily scrums, sprint planning, and retros; you'll be expected to help improve our ceremonies.
- You strive for quality and are obsessed with unit tests, automation, and squashing any bugs that sneak through.
- It's more than that, you are expected to challenge the status quo and figure out how to make it better for everyone.
Your Skills and Experience
- Deep knowledge of Python preferred
- Expertise in service-oriented architectures; ideally, you've developed APIs for both internal and external-facing services
- You're obsessed with performance, and have experience with instrumentation and monitoring services to ensure the application is behaving as expected
- You have a basic knowledge of computer science fundamentals, including data structures, algorithms, and object-oriented design
- Successful delivery of an application from design to market
- Experience incremental delivery of enterprise systems with CI/CD
- Understanding of micro-service development
- Understanding of web service development
- Knowledge of multi-tier architectures across multiple technology stacks . net, Java, J2EE, web servers, caching, application servers, RDBMS/NoSQL: Postgres, Dynamo DB
- Experience with data processing technologies such as Kafka/Kinesis, Spark, Storm
- Ability to define, design and deliver a distributed automation platform for compute, storage, database, queuing and other infrastructure
- Travel up to 10% travel, including international.
Critical Competencies
- Work Ethic: Self-Directed, high energy with ability to own features and sub-systems of code.
- Adaptability - Adapts to changes in the work environment; manages competing demands; changes approach or method to best fit the situation; able to deal with frequent change, delays, or unexpected events.
- Problem Solving - Identifies and resolves problems in a timely manner; gathers and analyses information skillfully; develops alternative solutions; works well in-group problem solving situations; Uses reason even when dealing with emotional topics.