Senior JavaScript Backend Engineers (NodeJS, JSON, REST APIs) - remote

Posted 3 years ago  • Vancouver, BC, Canada

Hiya! Were Radical I/O, a people-first enterprise software development consultancy and lab that develops technology with purpose. We work with cities and organizations to develop meaningful, data-driven solutions that provide people with easy access to information, when and where they need it.

THE POSITION

We're on the lookout for Senior JavaScript Backend Engineers with experience developing in NodeJS/Hapi with JSON and REST web service APIs on the backend/middleware. You will be extending existing APIs, and building new APIs and integrations, to be consumed by native iOS and Android mobile apps (and related web apps) that will be distributed to thousands of users within Canada. If you are also skilled in DevOps (nice-to-have), you will set up the mobile build automation and deployment systems for these mobile apps.

You should fully understand the end-to-end process of how web and mobile clients interact with JSON APIs including special cases like websockets. We are already using the Hapi Framework to build large organized APIs, and the Joi Framework to do validation, and will expect you to be, or quickly become, an expert with these. Integration with databases and services is the point of most of our expected APIs. You should be proficient with raw SQL queries and Knex to interact with databases (MySQL/Oracle/SQLServer). You will likely also develop new DB schemas for MySQL. You will also be creating APIs that call and transform data from other 3rd-party API services.

Typically you have worked on medium and large API applications and are comfortable working with enterprise customer expectations. We would consider it a bonus if you've worked with the government, or other civic organizations before. You are comfortable working with a high-level of independence, quality, and professionalism. As a senior member of the team, you are able to provide technical solutions for complex problems, accomplish advanced work quickly, and are there for your teammates when they need help. You strive to ensure that your API interfaces are useful to your teammate developers who will call them.

We are hiring 1-2 senior backend engineers for a 6 months+ contract to start in June. You will be working remotely from within Canada, and maximum working hours per week are 35-45 (40 on average). We will be shortlisting candidates within the next 1-2 weeks, with most phone screens and interviews taking place fairly quickly before the end of April, and further interviews taking place in May if needed.

REQUIREMENTS

We will be using the following in our project, so please highlight any relevant experience you have in any of these:

  • JSON API interface design and development using NodeJS, Hapi, Joi, JavaScript, including a thorough understanding of platform networking, and optimization. Understanding Typescript and Babel are nice to have.
  • Async/wait, promises, and optimizing JavaScript execution.
  • Advanced SQL for MySQL, Oracle, and MSSQL, and the Knex framework.
  • Data integrations between various legacy on-premise systems, CRM, SAAS apps, and APIs.
  • Security and Identity and Access Management: SSO, Federated Identity, OAuth2, OpenID Connect &standard auth flows, user directories, and security tokens. We will be working with ForgeRock IAM.
  • Docker for containerized workloads. Kubernetes and Terraform are nice to have.
  • Integrating with Firebase (with APNS/FCM) and making it run well.
  • Platform cryptography for security, encryption, keys and certificates, and TLS cipher hardening.
  • Developing on Linux, MacOS, and Windows.
  • Setting up cloud infrastructure using cloud services at AWS, Azure and/or GCP is nice-to-have.
  • Build automation and deployment for mobile and web applications using Jenkins and Fastlane. Gradle, npm maven, and xcodebuild are also nice to have.

We also usually look for people who:

  • Have 5+ years of software development experience.
  • Possess a university degree in computer science, engineering or related field,
    - or - a combination of experience and relevant certificates/learning/courses.
  • Are strong in other languages beyond JavaScript, like Java, C#, Go, Python, etc.
  • Have even deeper integration experience with ESB platforms, like TIBCO, Mulesoft, Azure ESB, and others.
  • Write clean code, have written unit tests, and adhere to effective software design principles.
  • Choose Git repos as their version control of choice.
  • Have worked within agile processes like Scrum or Kanban, and used tools like JIRA or similar.
  • Are comfortable working professionally with clients in varying industries.
  • Are problem-solvers, comfortable with ambiguity and unknowns, and love continuously learning.
  • Communicate and collaborate well and often.

Even if we don't contact you for an interview right away, we often have projects start fairly quickly with new clients, so we will always look through our applicant database first. We'd also love to keep a small roster of people we trust and who we can easily reach out to during these times.

THE OTHER STUFF

This is a remote, work-from-home opportunity, and there is the possibility for the role to be extended or other projects to follow after this one. We prefer to hire folks from the Greater Vancouver Area, then BC and AB in general so we can communicate more in real-time. However, we will also consider other senior engineers from within Canada based on your availability, flexibility to work within overlapping PST, and your skillset.

As this is a contract, we generally hire self-employed or incorporated people who are comfortable with invoicing for their work. However, for those who are not yet set up in this way, and are employees perhaps looking for temporary roles during this unprecedented pandemic time period, we are also able to put the successful candidate on our payroll as a limited-term, hourly employee. When applying, please select which situation applies to you (we are equally open to either situation).

Please note that due to our work with Canadian government (and related clients) and their data and privacy restrictions, we can only hire people who currently live in Canada and are authorized to work full-time in Canada for any employer, including engineers who are in Canada on valid working holiday visas and post-graduate work permits.

Recruiters, please don't contact this job poster. Do not contact us with unsolicited services or offers.