Azure DevOps Engineer

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

TYPE OF WORK

Full Time

WAGE / SALARY

tbd

HOURS PER WEEK

38

DATE UPDATED

May 21, 2026

JOB OVERVIEW

???? Mission

You will own and maintain the deployment process for NOVELDO AI’s product (AskSopia). Your responsibility is to keep our Dev ? Test ? Prod environments clean, consistent, and secure, and to ensure that changes move through them in a controlled, repeatable way.

This is not just “keeping servers running” — you are the guardian of process discipline.

?

????? Responsibilities
1. Environment Management
• Maintain three environments: dev, tst, prod.
• Ensure each environment uses its own subscription, storage, key vault, search index, and OpenAI resource.
• No direct human edits in tst/prod. All changes must flow through pipelines.
2. Infrastructure as Code (IaC)
• All infra is deployed from Bicep (or Terraform) templates.
• Parameter files control env differences (dev.json, tst.json, prod.json).
• Pipelines run IaC automatically. Never “click-deploy” in the portal except for debugging in dev.
3. CI/CD Pipelines
• Maintain two pipelines:
• Infrastructure pipeline – deploys Azure resources via Bicep.
• Application pipeline – deploys app code, functions, search index updates.
• Dev deploys automatically; Tst and Prod require manual approvals.
• Pipelines must be documented and visible in Azure DevOps.
4. Security & Secrets
• All secrets stored in Key Vault (per env).
• All apps use Managed Identity to read secrets; no secrets in code.
• Follow least privilege: Devs have Contributor in dev, Reader in tst/prod, only pipelines can write.
5. Monitoring & Logs
• Ensure each environment has Application Insights + Log Analytics wired.
• Set up alerts for errors, outages, cost spikes.
• Report weekly: “System health across dev/tst/prod.”
6. Process Discipline
• Every deployment = pipeline run + approval + log.
• Keep IaC repo clean and versioned.
• Keep an architecture diagram and runbook updated.

?

? Success Criteria (Your KPIs)
• Environments are always consistent (no “snowflakes”).
• Any new feature can be deployed to dev in

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0737
Total Execution Time  0.0751
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,519,768 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Azure-DevOps-Engineer-1450824
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0679 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1450824
 LIMIT 1 
0.0017   SELECT *
FROM `employers`
WHERE `employer_id` = 429056
 LIMIT 1 
0.0288   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` = 1450824
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',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-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1450824' 
0.0013   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1450824 
0.0007   UPDATE employer_jobs SET hit_counts '***Aug-20-2025=94***Aug-21-2025=8***Aug-22-2025=8***Aug-23-2025=4***Aug-24-2025=7***Aug-25-2025=3***Aug-26-2025=4***Aug-27-2025=7***Aug-28-2025=1***Aug-29-2025=2***Aug-30-2025=2***Sep-01-2025=2***Sep-02-2025=6***Sep-03-2025=1***Sep-04-2025=4***Sep-05-2025=2***Sep-06-2025=2***Sep-07-2025=2***Sep-10-2025=2***Sep-11-2025=3***Sep-13-2025=1***Sep-16-2025=3***Sep-19-2025=3***Sep-20-2025=3***Sep-21-2025=2***Sep-22-2025=1***Sep-25-2025=1***Sep-28-2025=3***Sep-30-2025=1***Oct-01-2025=1***Oct-04-2025=6***Oct-06-2025=1***Oct-08-2025=1***Oct-09-2025=3***Oct-10-2025=1***Oct-14-2025=2***Oct-17-2025=2***Oct-20-2025=2***Oct-23-2025=1***Oct-26-2025=1***Oct-27-2025=1***Oct-29-2025=1***Nov-07-2025=1***Nov-23-2025=1***Nov-27-2025=1***Dec-19-2025=1***Dec-20-2025=1***Jan-06-2026=1***Jan-19-2026=3***Jan-22-2026=2***Jan-26-2026=2***Jan-27-2026=1***Jan-28-2026=2***Jan-29-2026=1***Feb-01-2026=1***Feb-03-2026=2***Feb-07-2026=3***Feb-08-2026=2***Feb-13-2026=1***Feb-16-2026=2***Feb-17-2026=2***Feb-19-2026=2***Feb-21-2026=1***Feb-24-2026=3***Feb-26-2026=1***Mar-01-2026=3***Mar-04-2026=2***Mar-10-2026=2***Mar-12-2026=2***Mar-17-2026=2***Mar-20-2026=1***Mar-30-2026=1***Mar-31-2026=1***Apr-03-2026=2***Apr-05-2026=2***Apr-12-2026=2***Apr-13-2026=2***Apr-14-2026=2***Apr-15-2026=4***Apr-16-2026=1***Apr-17-2026=1***Apr-22-2026=1***Apr-23-2026=1***Apr-24-2026=2***Apr-25-2026=2***Apr-27-2026=11***May-04-2026=3***May-05-2026=1***May-06-2026=3***May-08-2026=1***May-09-2026=2***May-11-2026=1***May-12-2026=2***May-14-2026=1***May-15-2026=1***May-17-2026=1***May-18-2026=1***May-19-2026=1***May-20-2026=2***May-21-2026=362***May-22-2026=21***May-23-2026=8***May-24-2026=4***May-25-2026=6***May-26-2026=11***May-27-2026=5***May-28-2026=2***May-29-2026=3***May-31-2026=1***Jun-01-2026=6***Jun-02-2026=4***Jun-03-2026=2***Jun-04-2026=5***Jun-05-2026=3***Jun-06-2026=2***Jun-08-2026=3***Jun-09-2026=2***Jun-10-2026=1***Jun-11-2026=4***Jun-20-2026=1' WHERE job_id'1450824'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2025=140***Sep-2025=42***Oct-2025=23***Nov-2025=3***Dec-2025=2***Jan-2026=12***Feb-2026=20***Mar-2026=14***Apr-2026=33***May-2026=442***Jun-2026=33' WHERE job_id'1450824'  
0.0018   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1450824' 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` = 1450824 
0.0303   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '429056'
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)