Assistant Property Manager (Systems & Operations Specialist)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

WAGE / SALARY

TBD (Based on Experience & Skill ...

HOURS PER WEEK

TBD

DATE UPDATED

May 30, 2026

JOB OVERVIEW

Role Overview

We are a growing residential development and property management firm based in Canada, specializing in high quality rental developments.

We are currently looking for a proactive, tech savvy Assistant Property Manager to join our team. This is a unique "ground floor" opportunity. We are looking for a partner to help work with our team to build our property management systems from the ground up. If you have deep experience in industry standard software and enjoy creating efficient workflows, this role is for you.


Key Responsibilities

• System Implementation & Setup: Assist in selecting, setting up, and migrating data to a property management platform (e.g., AppFolio, Buildium, Yardi Breeze, or Building Stack). You will help define how we track leases, maintenance, and accounting.

• Lease Administration: Manage the end-to-end leasing process, including assisting in drafting lease agreements (ensuring compliance with Canadian residential standards), processing applications, and managing renewals.

• Maintenance Coordination: Act as the primary point of contact for maintenance requests. Create work orders, coordinate with local contractors, and track repairs until completion.

• Financial Management: Monitor rent collection, manage delinquent accounts, and accurately enter vendor invoices. Help prepare monthly financial reports for the portfolio.

• Tenant & Owner Communication: Handle inquiries with professionalism and empathy. Maintain high tenant satisfaction through clear and timely communication via email and portal messaging.

• Process Documentation: Help create Standard Operating Procedures (SOPs) for the company to ensure our operations are scalable as we grow.


Required Skills & Qualifications

• Software Expertise: Strong familiarity with property management software is highly preferred (e.g., AppFolio, Buildium, Yardi, Rent Manager). Ideally, you have been through a system "roll-out" or setup before.

• Real Estate Knowledge: Prior experience as a Virtual Assistant for a Canadian or US-based property management or real estate firm.

• English Proficiency: Exceptional written and verbal English skills. You must be comfortable communicating with tenants and vendors professionally.


Work Schedule & Compensation

• Hours: Full-time or Part-time
• Shift: Must have significant overlap with Mountain Standard Time (MST) business hours.
• Salary: Competitive based on experience and software proficiency.
• Growth: This role has significant potential to grow into a Lead Operations or Portfolio Manager position as our unit count increases.


How to Apply

Please send your resume along with a brief cover letter answering the following:

1. Which property management software are you most familiar with, and what is your level of expertise (1–10)?
2. Have you ever helped a company move from spreadsheets to a formal software system? If so, tell us about the biggest challenge you faced.
3. Please include the word "Thornhill Corporation Property Management Application" in front of your subject line.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.1287
Total Execution Time  0.1300
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,952 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Assistant-Property-Manager-Systems-Operations-Specialist-1646291
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.1228 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1646291
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 464265
 LIMIT 1 
0.1045   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1646291
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-26',ej.date_added) duration_daysDATEDIFF('2026-06-26',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1646291' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1646291 
0.0016   UPDATE employer_jobs SET hit_counts '***May-13-2026=219***May-14-2026=298***May-15-2026=78***May-16-2026=42***May-17-2026=19***May-18-2026=27***May-19-2026=32***May-20-2026=27***May-21-2026=14***May-22-2026=17***May-23-2026=6***May-24-2026=5***May-25-2026=7***May-26-2026=20***May-27-2026=15***May-28-2026=15***May-29-2026=8***May-30-2026=155***May-31-2026=375***Jun-01-2026=164***Jun-02-2026=93***Jun-03-2026=31***Jun-04-2026=27***Jun-05-2026=18***Jun-06-2026=11***Jun-07-2026=10***Jun-08-2026=11***Jun-09-2026=16***Jun-10-2026=6***Jun-11-2026=13***Jun-12-2026=9***Jun-13-2026=5***Jun-14-2026=6***Jun-15-2026=7***Jun-16-2026=6***Jun-17-2026=10***Jun-18-2026=8***Jun-19-2026=6***Jun-20-2026=5***Jun-26-2026=1' WHERE job_id'1646291'  
0.0006   UPDATE employer_jobs SET monthly_hits '***May-2026=1378***Jun-2026=463' WHERE job_id'1646291'  
0.0076   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1646291' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1646291 
0.0047   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '464265'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)