Full Stack Developer
Location: Alberta, Canada
Work Arrangement: Primarily Remote – Occasional Onsite Attendance in Edmonton, Alberta
Employment Type: Full-Time Contract
Working Hours: Minimum 7 hours per business day
Business Days: Monday–Friday, excluding provincial holidays
Business Hours: Alberta business hours; specific daily start/end times are not prescribed
Initial Contract Duration: 12 Months
Optional Extension: Up to an additional 12 months
The selected resources will contribute to software development initiatives involving frontend and backend application development, cloud-based solutions, databases, APIs, application integration, testing, deployment, and ongoing software maintenance.
This is a resource-based staff augmentation opportunity. Developers will work within the Government's software development environment and support new applications, existing systems, and related digital education projects.
The Province anticipates awarding up to three separate contracts, with one Full Stack Developer under each contract.
IDEAL CANDIDATE
The ideal candidate is an experienced Full Stack Developer with strong hands-on software development experience using C# and/or Java, combined with modern frontend and cloud technologies.
Candidates should demonstrate:
- At least 5 years of software development experience using C# and/or Java.
- At least 5 years of total software development experience through the degree/two-year diploma education pathway, or 7 years through the one-year certificate pathway.
- Experience with full stack application development.
- AWS cloud application development experience.
- Experience building and deploying cloud-based and serverless applications.
- Experience with NoSQL databases, particularly AWS DynamoDB.
- Frontend development experience using Angular 2.0 or higher, React, JavaScript, TypeScript, HTML, and SCSS.
- RESTful API development and integration experience.
- Experience with CI/CD, unit testing, and automated testing.
- Understanding of microservices architecture.
- Ability to translate business requirements into functional and technical solutions.
- Strong problem-solving, communication, and collaboration skills.
KEY RESPONSIBILITIES
1. Full Stack Application Development
- Develop and maintain new applications for LearnAlberta.ca.
- Maintain and enhance existing applications and related systems.
- Develop frontend and backend components.
- Participate in software development activities within an Agile environment.
- Build reliable, scalable, and maintainable software solutions.
- Troubleshoot application issues and implement appropriate technical solutions.
2. Backend Development
- Develop application components using C# and/or Java.
- Work with .NET technologies and related application frameworks.
- Develop and integrate RESTful APIs.
- Implement backend business logic and application services.
- Work with NoSQL databases, including AWS DynamoDB.
- Support application integration and data management requirements.
3. AWS Cloud and Serverless Development
- Develop cloud-based applications using Amazon Web Services (AWS).
- Build, test, and deploy serverless applications.
- Support cloud-native application development and microservices.
- Contribute to cloud-based application maintenance and modernization.
- Improve application scalability, performance, reliability, and efficiency.
4. Frontend Development
- Develop frontend applications using JavaScript, Angular, and TypeScript.
- Work with Angular version 2.0 or higher.
- Use HTML and SCSS for frontend implementation.
- Work with Material Design.
- Implement state management using NGXS, NGRX, and/or Redux.
- Develop responsive applications that function across different devices and screen sizes.
- Improve frontend usability, performance, and responsiveness.
5. Database and API Development
- Work with NoSQL databases and AWS DynamoDB.
- Develop and integrate RESTful APIs.
- Support application data access and integration.
- Contribute to database design and implementation activities.
- Ensure efficient and reliable data handling.
6. Software Testing and Quality Assurance
- Write unit tests and automated tests.
- Build, test, and deploy application components.
- Troubleshoot defects and application performance issues.
- Support software quality and reliability.
- Follow established development standards and best practices.
7. CI/CD and DevOps
- Use CI/CD tools to support continuous integration and deployment.
- Support application build and deployment processes.
- Improve development and release workflows.
- Contribute to automated software delivery practices.
8. Artificial Intelligence in Software Development
- Utilize Artificial Intelligence in software development activities as required.
- Support AI-assisted development and related application initiatives.
- Apply appropriate development practices when incorporating AI into software solutions.
9. Technical Design and Collaboration
- Translate business and technical requirements into functional and technical designs.
- Collaborate with technical teams and stakeholders.
- Provide architectural direction and technical project leadership when required.
- Support development team activities and technical problem-solving.
- Contribute to related software development projects and smaller initiatives.
REQUIRED EDUCATION
Candidates must meet one of the following educational qualifications from an accredited post-secondary institution:
Option A
- University degree in Computer Science or a related discipline; OR
- Two-year diploma in Computer Science or a related discipline.
Option B
- One-year certificate in Computer Science or a related discipline.
Related disciplines may include Software Development, Programming, Systems Design, and Information Technology Studies.
MANDATORY EXPERIENCE REQUIREMENTS
Candidates must meet the applicable education and experience combination.
Pathway A – University Degree or Two-Year Diploma
- Minimum 5 years of software development experience on software development projects.
OR
Pathway B – One-Year Certificate
- Minimum 7 years of software development experience on software development projects.
Additional Mandatory Requirement – Both Pathways
- Minimum 5 years of software development experience using C# and/or Java on software development projects.
The candidate's education and professional experience must be documented with month/year details.
DESIRABLE TECHNICAL EXPERIENCE
The following technical experience can strengthen a candidate's proposal and evaluation:
AWS and Microservices
- Amazon Web Services (AWS).
- Cloud-native application development.
- Serverless application development.
- Microservices architecture.
Frontend Technologies
- Angular version 2.0 or higher.
- React.
- JavaScript.
- TypeScript.
- HTML.
- SCSS.
- Material Design.
Databases
- NoSQL database technologies.
- AWS DynamoDB.
State Management
Enterprise Cloud Platforms
- Experience developing and maintaining enterprise-scale cloud-based applications and platforms.
- Experience with application scalability, performance, reliability, and integration.
Important: The evaluation criteria place significant weight on AWS cloud-native/serverless development, Angular and React, NoSQL databases, enterprise cloud platforms, and state management technologies. Candidates should provide specific project examples, dates, responsibilities, technologies, and outcomes.
WORK LOCATION AND SCHEDULE
- Primarily remote work from the candidate's home office.
- Occasional onsite attendance may be requested in Edmonton, Alberta.
- Minimum availability of 7 hours per business day.
- Monday through Friday, excluding provincial holidays.
- Government-issued computer and secure VPN access will be provided.
- The resource must have appropriate home-office facilities and comply with Government security requirements.
This is a remote position.