1

Computer Programming Assistant Jobs in Edmonton, AB

Support Computer System Validation (CSV) activities for equipment, automation systems, and ... Material Handling Systems * Assist with equipment modifications, optimization projects, and ...

Our dedicated team is delighted to assist with a variety of personalized services to ensure guest ... Computer knowledge in energy management and building automation software programs. * Motivated by ...

New

Bachelor/Graduate degree in Computer Science or Computer/Electrical Engineering or related ... These tools assist our recruitment team but do not replace human judgment. Final hiring decisions ...

... * Assist with preparation and review of tender documentation, specifications, and cost estimates ... Provide technical guidance to CAD Designer/Drafters, Designers, and junior engineering staff.

Utilize generative AI, code assistants, agentic workflows, and prompt engineering techniques to ... Post-secondary degree in Computer Science, Software Engineering, Information Systems, or equivalent ...

... * Assist project/operations management in meeting safety, cost, quality, and schedule targets by ... Proficient in design/analysis software and CAD systems, along with familiarity of drawing standards

next page

Showing results 1-20

Computer Programming Assistant information

Is computer programming still in demand?

Computer programming assistants and software developers are in high demand due to ongoing technological advancements and digital transformation across industries. Skills in programming languages such as Python, Java, and C++, along with knowledge of software development tools, are valuable for job prospects in this field.

What can I do with an associate's in computer programming?

An associate's in computer programming prepares individuals for roles such as programming assistant, software tester, or technical support specialist. These positions often involve writing code, debugging, and using programming languages like Java, Python, or C++, with some roles requiring knowledge of development tools and certifications. It provides a foundation for entry-level programming and IT support jobs.

What is a computer programming assistant?

A computer programming assistant is a role that involves supporting software development by writing, testing, and debugging code, often using programming languages like Python, Java, or C++. They may also help with documentation, code reviews, and learning new tools or frameworks to assist developers and improve project workflows.

Intermediate Software Developer (AI First)

Edmonton, AB • On-site

Patterson-UTI
Oil and Gas Extraction • 5 - 10K employees

CA$111K - CA$132K/yr

Full-time

Re-posted 27 days ago


Key responsibilities

  • Design, develop, test, and maintain industrial control software supporting frac fleet operations.

  • Own delivery of moderately complex features or subsystems across embedded systems, backend services, and operator interfaces.

  • Troubleshoot and resolve issues involving timing constraints, concurrency, hardware communication, and field-reported defects.


Patterson-UTI rating

5.0

Company rating: 5.0 out of 10

Based on 23 frontline employees who took The Breakroom Quiz

83rd of 87 rated oil and gas companies


Job description

Detailed Description:

  • Design, develop, test, and maintain industrial control software supporting frac fleet operations.
  • Own delivery of moderately complex features or subsystems across embedded systems, backend services, and operator interfaces (desktop, web, or mobile).
  • Collaborate closely with hardware, electrical, and controls engineers to ensure proper integration between software and physical equipment.
  • Troubleshoot and resolve issues involving timing constraints, concurrency, hardware communication, and field-reported defects.
  • Utilize AI development tools (e.g., code assistants, LLM-based tools) to accelerate implementation, refactoring, test generation, and documentation.
  • Critically evaluate and validate AI-generated output for correctness, maintainability, security, and safe operation in real-time environments.
  • Contribute to architectural discussions and recommend design improvements that enhance modularity, scalability, and reuse.
  • Participate actively in Agile/Scrum ceremonies, including sprint planning, estimation, backlog refinement, and retrospectives.
  • Provide accurate task estimates, identify technical risks early, and communicate trade-offs clearly.
  • Contribute to code reviews and uphold established coding standards and development practices.
  • Develop and maintain automated tests to support reliable, repeatable releases.
  • Support field deployments, troubleshooting, customer investigations, and post-release analysis as required.
  • Perform other related duties and special projects, as assigned.

Job Requirements:

  • Demonstrated ability to design and implement maintainable, production-quality software.
  • Working knowledge of multithreading, concurrency, and timing-sensitive programming.
  • Ability to debug complex issues spanning software and hardware boundaries.
  • Strong verbal and written communication skills, including the ability to clearly explain technical concepts and trade-offs.
  • Ability to work effectively in a cross-functional, matrixed organization alongside software, hardware, controls, and operations teams.
  • Ability to manage multiple initiatives in a fast-paced development environment while maintaining quality standards.
  • Experience using version control systems and participating in collaborative development workflows and code reviews.
  • Demonstrated ability to leverage AI-assisted development tools responsibly and effectively.
  • Represent the Company and its values with integrity while maintaining high professional and ethical standards in all interactions.

Minimum Qualifications:

  • Bachelor's Degree or Diploma in Computer Engineering, Computer Science, Software Engineering, or related field (or equivalent practical experience).
  • 3-6 years of professional software development experience.
  • Strong proficiency in C#, C++, or comparable strongly typed programming languages.
  • Experience developing software in Windows and/or Linux environments.
  • Experience working within an Agile development framework.

Preferred Qualifications:

  • Experience with real-time or near-real-time systems.
  • Familiarity with industrial communication protocols such as CAN bus, Modbus, or similar.
  • Exposure to embedded systems, RTOS concepts, or hardware-adjacent software development.
  • Experience contributing to modular or service-oriented system architectures.
  • Prior experience in industrial, automation, or Oil & Gas environments.
  • Experience integrating or extending AI-assisted workflows in professional development environments.

Additional Details:

The Intermediate Software Developer must work with an emphasis on individual safety and safety for others, including coworkers and third parties. Work is primarily performed in a climate-controlled office or remote environment. Occasional interaction with field equipment or hardware systems may be required. The employee is regularly required to sit, stand, or use computer equipment for extended periods.

Salary Range: $111,800 - $132,500 CAD


What Patterson-UTI employees say

Pay

Benefits

Hours and flexibility

Workplace

Get the full story on Breakroom