Full Stack Django Developer (Frontend Focus) - Contract
Tayco
Position Summary
The Full Stack Django Developer (Frontend Focus) is responsible for the design, development, and maintenance of the in-house software that Tayco's plant runs on, including label printing, assembly tracking, machine downtime reporting, and live production dashboards. This position owns the interface layer of these applications - everything shop floor users see and interact with - and works across the full stack to deliver features from model and view through to the rendered screen. As these systems are in use on every shift and are currently being expanded across the plant, this position also requires regular presence on the production floor to observe how the software is used, to train operators and supervisors, and to document existing and new processes.
Your Responsibilities
- Own the interface layer of all shop floor applications, including page layout, responsive behaviour, scanner and keyboard input handling, form usability, and error and empty state handling.
- Develop and maintain a substantial JavaScript codebase (vanilla ES6, no framework and no build step), including scan handling, dynamic tables, live updates, and client- side validation.
- Build and consume REST endpoints to move data between the Django backend and the screen, ensuring that failure cases - slow requests, failed requests, and empty responses - are handled properly.
- Develop features end to end, from model, view, and queryset through to what is rendered for the user.
- Build and maintain live production dashboards over Django Channels, including reconnection handling and stale state management.
- Refactor existing JavaScript into shared, consistent modules, incrementally and without disrupting production use.
- Spend time on the production floor observing how operators and supervisors use the software, and translate the problems observed into requirements.
- Provide training to operators and supervisors on new features, and develop and maintain user-facing documentation as the software is rolled out to additional departments.
- Document existing processes that are currently undocumented, and improve test coverage incrementally, without interrupting production.
- Use AI-assisted development tools with sound judgement, reviewing what is generated, selecting which problems to delegate, and remaining accountable for every line of code submitted.
- Perform various development and maintenance tasks as required.
Requirements
- Must have post secondary education in computer science, software engineering, or a related technical field, or 2-5 years of industry experience building web applications.
- Must have strong JavaScript skills, and be able to take ownership of a large, JavaScript-heavy codebase written in vanilla ES6 with no framework and no build step.
- Must have a solid understanding of REST APIs, including designing endpoints, consuming them from the front end, and determining the correct behaviour when a request is slow, fails, or returns nothing.
- Working knowledge of Django and intermediate Python required.
- Must be able to write a view, a model, a form, and a queryset without supervision; expert-level Django knowledge is not required.
- Must have fluency with Bootstrap 5, and enough confidence with CSS to customize the framework rather than work around it.
- Knowledge of Tayco's current stack is an asset: Django 5.2, PostgreSQL, Redis, Django Channels and Daphne, Bootstrap 5.3, vanilla ES6 with no build step, read- only ERP integration, and deployment to Windows Server through GitHub Actions.
- Experience with Django Channels or WebSockets, Redis, barcode or scanner-driven interfaces, manufacturing or warehouse software, user-facing documentation, accessibility work, or interface design is considered an asset.
- Must be able to use AI-assisted development tools effectively and with judgement, including reviewing what is generated, knowing which problems to hand over, and being able to explain any line of code shipped.
- Ability to improve and refactor code written by others, in small and safe increments.
- Ability to communicate clearly with people who are not technical, and to gather requirements from operators who describe a problem in their own words rather than as a specification.
- Ability to teach and demonstrate software at the workstation, and to document procedures so that the following shift can work from them.
- Ability to confirm requirements before building, recognizing that an incorrect assumption can cost a workstation an entire shift.
- Ability to raise problems directly and constructively, including problems of internal origin.
- Ability to recognize when an Interface is confusing or inefficient without being told.
- Ability to read and interpret written and oral instructions.
- Must possess excellent analytical and problem-solving skills.
- Must have good communication skills, and a positive and proactive attitude.
- Required to have good organizational skills, excellent attention.
Reference: WJ-291_11020885