About Build With Assembly

We're an organization driven to give people time back in their day. We do this by solving challenges people experience in their lives that can be made easier with technology. We're Assembly, we help visionary leaders build platforms customers rely on and businesses thrive on.

We partner with our clients to help them adopt the cloud and build the technology assets needed to transform their business, whether that be new custom software development, cloud migrations, or application modernization of existing, legacy systems.  

We’re a high-performing entrepreneurial team with nearly two decades of experience helping enterprise organizations, including Honda, Acura, Brookfield, Canon, and many more continuously evolve their tech to meet their business goals.

We are a fully remote company that takes pride in having an unmatchable team of practitioners, in 5 countries across 4 continents, that have helped us rise to the ranks of being on the Profit 500, Canada’s Fastest Growing Companies, Best Workplaces in Technology, and Best Workplaces in Canada (Top 50).

The Position  

As a Software Engineer, Full-Stack reporting to the CTO, you will be responsible for maintaining and evolving enterprise-level solutions for our clients, including Microsoft .NET based back-end components and Reactjs based front-end applications.

While mostly working on the modern tech stack, you will also be required to maintain some of the legacy applications and build tooling.

All our developers pride themselves in creating and building software that follows development best practices. Iterative and test driven, we follow an agile sprint-based methodology to produce products we are proud of. Our team builds an infrastructure that pushes performance boundaries.      

We are looking for an experienced Software Engineer, Full-Stack to join our team! If you have outstanding development skills and a great passion for building software, then this role may be for you!

Your Responsibilities  

  • Be involved and participate in all stages of application development lifecycle
  • Analyze and understand business and design requirements; produce technical tasks and breakdown into estimates
  • Define, review, communicate and follow development approaches for the technical tasks
  • Design and develop .NET-based web applications, web APIs, class libraries and services
  • Build UI components and compose them into applications for multiple browsers
  • Produce high-quality, low-defect, reusable code that follows the current design patterns and best practices
  • Help maintain and support the existing solutions, including some of the legacy applications   
  • Communicate clearly and effectively across all levels of the organization
  • Work closely and collaborate with a team of developers, architects, business analysts and scrum masters communicating effectively and working together to reach defined goals and meet deadlines
  • Attend and participate in SCRUM ceremonies such as daily stand-ups, sprint planning and project retrospectives
  • Participate in career development and performance reviews
  • Commit to ongoing learning and development; participate in conferences and educational programs
  • Stay up to date with current best practices and emerging technologies
  • Participate and contribute to company culture

About You  

  • 3+ years of front-end development experience, including modern JavaScript, semantic and accessible HTML, CSS3 and CSS-in-JS (styled-components)
  • Proven knowledge of React (version 16 or higher)
  • In-depth understanding of web development concepts, including mobile-first, i18n and i10n, SPA, SSR, as well as performance and security considerations 
  • 3+ years of hands-on back-end development experience with .NET, including MVC and Web API
  • Experience with common frameworks and libraries such as Entity Framework, NUnit, SimpleInjector etc., or similar
  • Experience with unit testing, functional UI tests (Jest and react-testing-library), cross-browser compatibility testing
  • Exposure to load testing, performance optimization, penetration testing and test automation
  • Familiarity with development & release tooling (i.e. npm/Webpack/Babel, Jenkins/Octopus)
  • Experience with some of the legacy technologies such as .NET Web Forms and jQuery, as well as build tooling such as Grunt
  • Ability to analyze wireframes or static designs and identify potential issues or hidden complexities
  • Demonstrable ability to write clean, structured, maintainable code
  • Experience following coding standards and best practices, performing code reviews
  • Working knowledge of git/GitHub, including branching and merging techniques
  • Experience working as a part of a small/medium size team, a team player attitude
  • Good interpersonal and communication skills, both written and verbal
  • Experience working in an Agile/SCRUM environment, participating in SCRUM ceremonies
  • Experience with using Agile collaboration tools such as Jira or similar
  • Critical thinker, good analytical and problem-solving skills
  • Good organizational and time-management skills
  • Involvement in open source projects, active participation in the development community 
  • Microsoft certification is a plus

Why You’ll Love This Opportunity  

  • Many opportunities to learn, grow, and earn certifications through our internal up-skilling program
  • Start-up work culture while getting to work on industry leading solutions for some of Canada's leading companies 
  • Working with cutting edge cloud technologies 
  • Exposure to teams designing and building cloud-native software

 

We welcome and encourage applications from people with disabilities. Accommodations are available upon request for candidates taking part in all aspects of the selection process.

Apply for this Job

* Required

resume chosen  
(File types: pdf, doc, docx, txt, rtf)


Enter the verification code sent to to confirm you are not a robot, then submit your application.

This application was flagged as potential bot traffic. To resubmit your application, turn off any VPNs, clear the browser's cache and cookies, or try another browser. If you still can't submit it, contact our support team through the help center.