A Software Engineer at Burns & McDonnell plays a pivotal role in delivering technology solutions that support large-scale infrastructure, energy, environmental, and facility engineering projects. Unlike purely consumer-facing tech firms, Burns & McDonnell operates as a 100% employee-owned engineering and architecture giant. In this environment, software engineers build internal tools, data pipelines, client-facing dashboards, and specialized applications that power critical engineering workflows across various global practices. In this position, your work directly impacts how multi-disciplinary teams plan, design, and execute complex capital projects. Whether you are automating workflows for substation design, building enterprise web applications, or engineering algorithms for field data collection, your technical contributions streamline operations and improve safety, accuracy, and efficiency. The software solutions you build bridge the gap between traditional engineering disciplines and modern computer science practices. What makes the Software Engineer role at compelling is the combination of tangible real-world impact and a distinct employee-ownership culture. You are not just writing code for abstract features; you are directly contributing to the growth and operational excellence of a firm where every team member is an owner. Expect a collaborative environment where strong interpersonal skills and domain interest are valued alongside technical capability.
Asynchronous Screen
reportedCandidates complete a pre-recorded video interview or phone screen with a recruiter, responding to predetermined prompts.
What to demonstrate
- Candidates complete a pre-recorded video interview or phone screen with a recruiter, responding to predetermined prompts
- Depth in Behavioral/Personality Questions
How to prepare
- Answer aloud and timed: Tell me about yourself, your educational background, and your past work experience.
- Answer aloud and timed: Can you share an example of a time you handled a team conflict during a project and how you resolved it?
Direct Conversations
reportedSuccessful candidates engage in discussions with department managers or technical leads via Microsoft Teams about their resume and team alignment.
What to demonstrate
- Successful candidates engage in discussions with department managers or technical leads via Microsoft Teams about their resume and team alignment
- Depth in Behavioral/Personality Questions
How to prepare
- Answer aloud and timed: Describe a situation where you had to balance multiple competing deadlines. How did you prioritize your tasks?
- Answer aloud and timed: Give an example of a time when you took initiative on a project without being explicitly asked.
Live Panel Interview
reportedCandidates present their background and career goals in a 10 to 15-minute session to hiring managers and team engineers, either virtually or onsite.
What to demonstrate
- Candidates present their background and career goals in a 10 to 15-minute session to hiring managers and team engineers, either virtually or onsite
- Depth in Behavioral/Personality Questions
How to prepare
- Answer aloud and timed: What is your greatest achievement, and what was your biggest failure or takeaway from a prior role?
- Answer aloud and timed: Why do you want to work for Burns & McDonnell, and what do you know about our company structure?
Team Interaction
reportedOnsite evaluations may include campus tours and informal lunches with team members to assess cultural fit.
What to demonstrate
- Onsite evaluations may include campus tours and informal lunches with team members to assess cultural fit
- Depth in Behavioral/Personality Questions
How to prepare
- Answer aloud and timed: What kind of work environment do you thrive in, and what do you see yourself doing with us over the next few years?
- Answer aloud and timed: Why did you choose your major or specialization in software engineering?
2 candidate reports. Individual accounts describe a particular role and hiring cycle.
Software Engineer interview at Burns & McDonnell: full-day onsite
I attended a full-day interview beginning with a short presentation on my background and experience. I then met in panels and individual conversations with engineers and managers, covering several perspectives on my fit. There was also a recruiter touchpoint and time to see the workplace and culture. The day was long but organized, with each part connected to how I thought and would work with the…
Read full experienceBurns & McDonnell Software Engineer interview: video prompts and recruiter chat
After connecting with recruiting, the process felt manageable and slightly casual. I first completed a video pre-screen with a small number of prompts displayed on screen. It was just me answering, with little back and forth. Next came a virtual recruiter conversation lasting about 30 to 45 minutes. It was mostly behavioral and focused on my background and fit. The recruiter was genuinely nice, a…
Read full experiencePracHub editorial advice for the preparation topics above.
Master the Candidate Presentation
Treat your PowerPoint presentation as a core deliverable. Structure it cleanly, keep slides visually uncluttered, practice your timing, and use it to highlight your passion for technology and engineering solutions.
Structure Behavioral Answers with STAR
Practice telling clear stories about past team projects, initiative, and conflict resolution using Situation, Task, Action, and Result format to keep your responses focused and impactful.
Emphasize Communication & Social Skills
Burns & McDonnell values sociable, articulate engineers who work well in teams. Engage warmly during panel discussions, campus tours, and informal team lunches.
Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.
What are your location preferences, and why are you interested in working in this specific office?
What are your location preferences, and why are you interested in working in this specific office?
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
- What happens if two callers reach this at the same time?
- Where could this allocate more than you expect?
Share an example of how you used innovation, creative technical solutions, or AI tools to increase efficiency
Share an example of how you used innovation, creative technical solutions, or AI tools to increase efficiency in your work.
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
What steps do you take when you encounter a critical technical bug or bottleneck close to a delivery deadline?
What steps do you take when you encounter a critical technical bug or bottleneck close to a delivery deadline?
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
How do you communicate technical requirements or constraints to non-technical project managers or engineering
How do you communicate technical requirements or constraints to non-technical project managers or engineering clients?
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
Stop tag and share joins from fanning out a page
resource_tag is (resource_id, tag_id) with PK (resource_id, tag_id); resource_share is (resource_id, shared_with_user_id, permission). The tagged-and-shared listing inner-joins resource to both, filters tenant_id, tag_id = ANY($2) and shared_with_user_id = $3, orders by updated_at DESC and takes 50. Pages come back with fewer than 50 distinct resources and the total in the header is far too high. Explain the row multiplication, rewrite both the page query and the count query so each is correct, and name the index each one needs. PostgreSQL 16.
Approach
- Do the arithmetic against the predicates that are actually there. An inner join emits one row per matching child row, and both joins are filtered: tag_id = ANY($2) admits only the requested tags, shared_with_user_id = $3 admits one user's share rows. So a resource holding three of the requested tags and shared with $3 once yields three rows, not one — the multiplier is its count of matching tags times its share rows for that single user, and that second factor is 1 unless the table admits duplicate (resource_id, shared_with_user_id) pairs. LIMIT 50 then limits rows rather than resources, and COUNT(*) counts pairs — the header is the product, not the population.
- Reject DISTINCT as the fix. It deduplicates after the product has been built, so the planner must materialise and sort the fanned-out set before the LIMIT can apply, and it leaves any SUM or AVG in the same select list wrong.
- Rewrite both filters as semi-joins, keeping resource as the only row source: AND EXISTS (SELECT 1 FROM resource_tag rt WHERE rt.resource_id = r.resource_id AND rt.tag_id = ANY($2)) and the same shape against resource_share. A semi-join stops at the first match per resource and preserves the driving index order, so ORDER BY updated_at DESC, resource_id DESC LIMIT 50 still stops after 50 rows.
- Count with the same predicates and no join at all: SELECT count(*) FROM resource r WHERE r.tenant_id = $1 AND r.status = 'active' AND EXISTS (...) AND EXISTS (...). Nothing multiplies a resource, so the number is the population.
Follow-up
- The filter changes from 'any of these tags' to 'all of these tags'. Rewrite it and state what it costs relative to the ANY form.
- A resource can be shared with the same user twice under different permissions. Does your count change, and should it?
Write the update path that detects a concurrent edit
resource carries version INT NOT NULL DEFAULT 1. resource_revision holds revision_id, resource_id, version, actor_user_id, change_kind, patch JSONB, request_id, created_at with UNIQUE (resource_id, version). outbox_event holds aggregate_type, aggregate_id, aggregate_version, event_type, payload, status. A PUT carries the version the client read. Write the exact statements for the single transaction that applies the edit, records the revision and enqueues 'resource.updated', and give the handler's branch on zero affected rows. Then say what PostgreSQL 16 does under READ COMMITTED when two of these updates hit one row at once.
Approach
- One transaction, three writes, no network call inside it: UPDATE resource SET title = $3, version = version + 1, updated_at = now() WHERE resource_id = $1 AND tenant_id = $4 AND version = $2; then INSERT the resource_revision row at version $2 + 1; then INSERT the outbox_event row at the same aggregate_version. The event goes to a table rather than a broker because no transaction spans both.
- Branch on the affected-row count before doing anything else. Zero has three causes — stale version, wrong tenant, row gone — so re-read once and map to 409 carrying the current version, or 404 for an id outside the caller's tenant, which also stops the endpoint confirming that another tenant's id exists.
- State the engine behaviour instead of assuming it. Under READ COMMITTED the second UPDATE blocks on the row lock, and when the first commits PostgreSQL re-evaluates the WHERE clause against the newly committed row, so the version predicate now fails and the statement reports zero rows. Under REPEATABLE READ the identical collision raises SQLSTATE 40001 instead, so the handler must fold both shapes into one conflict response.
- Keep UNIQUE (resource_id, version) even though the predicate already serialises writers. It is what makes a lost update unwritable if any other path ever reaches the revision table, and it converts a logic bug into 23505 rather than into a silently missing history row.
Follow-up
- A client sends the version it read ten minutes ago and the resource has moved three versions. What is in your 409 so it can resolve the conflict without a full re-fetch?
- Two editors, two disjoint fields, no overlap. Does your answer still refuse the second write, and should it?
Walk us through a recent software project on your resume, detailing your architecture choices and technical ex
Walk us through a recent software project on your resume, detailing your architecture choices and technical execution.
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- State the consistency you need, and where you are willing to be stale.
Follow-up
- What breaks first when traffic grows ten times?
- How does this behave when that dependency is down for an hour?
What experience do you have with web applications, databases, or cloud infrastructure relevant to this positio
What experience do you have with web applications, databases, or cloud infrastructure relevant to this position?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Can you explain basic networking concepts or data structures that you utilized in your coursework or previous
Can you explain basic networking concepts or data structures that you utilized in your coursework or previous jobs?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How do you stay updated on modern technology trends, frameworks, and software development methodologies?
How do you stay updated on modern technology trends, frameworks, and software development methodologies?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
How do you approach testing, debugging, and maintaining code quality across a multi-tier application?
How do you approach testing, debugging, and maintaining code quality across a multi-tier application?
Approach
- Establish what changed and when, before forming any theory.
- Pick a bisection that eliminates candidates whichever way it turns out.
- Check the instrumentation before believing the symptom.
- Separate the trigger from the cause; the deploy is rarely the bug.
Follow-up
- What would you look at first, and what would it rule out?
- How would you tell a cause from a coincidence here?
Built from the rounds and topics Burns & McDonnell candidates report.
Prepare, practise & reflect
One practical outcome each day. Spend longer where you need it.
0 / 7 done01Map the Burns & McDonnell loop
- Write out the reported sequence: Asynchronous Screen, Direct Conversations, Live Panel Interview, Team Interaction.
- For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.
Deliverable: A one-page map of the 4 reported rounds, with the weakest marked.
02Work Behavioral/Personality Questions
- Spend the session on Behavioral/Personality Questions, which Burns & McDonnell candidates report being tested on.
- Write one worked example in Behavioral/Personality Questions and time yourself on it.
Deliverable: One timed worked example in Behavioral/Personality Questions.
03Work Communication Skills (Verbal Delivery)
- Spend the session on Communication Skills (Verbal Delivery), which Burns & McDonnell candidates report being tested on.
- Write one worked example in Communication Skills (Verbal Delivery) and time yourself on it.
Deliverable: One timed worked example in Communication Skills (Verbal Delivery).
04Work Pre-recorded Video Interviews
- Spend the session on Pre-recorded Video Interviews, which Burns & McDonnell candidates report being tested on.
- Write one worked example in Pre-recorded Video Interviews and time yourself on it.
Deliverable: One timed worked example in Pre-recorded Video Interviews.
05Answer out loud: Behavioral & Background Questions
- Answer aloud, timed: Tell me about yourself, your educational background, and your past work experience.
- Answer aloud, timed: Can you share an example of a time you handled a team conflict during a project and how you resolved it?
Deliverable: Spoken answers to 2 reported Behavioral & Background Questions question(s), under time.
06Answer out loud: Career Goals & Culture Fit Questions
- Answer aloud, timed: Why do you want to work for Burns & McDonnell, and what do you know about our company structure?
- Answer aloud, timed: What kind of work environment do you thrive in, and what do you see yourself doing with us over the next few years?
Deliverable: Spoken answers to 2 reported Career Goals & Culture Fit Questions question(s), under time.
07Answer out loud: Technical & Domain Knowledge Questions
- Answer aloud, timed: Walk us through a recent software project on your resume, detailing your architecture choices and technical execution.
- Answer aloud, timed: How do you approach testing, debugging, and maintaining code quality across a multi-tier application?
Deliverable: Spoken answers to 2 reported Technical & Domain Knowledge Questions question(s), under time.
Expand any day for tasks and deliverables. Your progress is saved on this device.
Behavioural rounds judge the decision you made and what it cost.
Tell me about yourself, your educational background, and your past work experience.
Tell me about yourself, your educational background, and your past work experience.
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Can you share an example of a time you handled a team conflict during a project and how you resolved it?
Can you share an example of a time you handled a team conflict during a project and how you resolved it?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Describe a situation where you had to balance multiple competing deadlines. How did you prioritize your tasks?
Describe a situation where you had to balance multiple competing deadlines. How did you prioritize your tasks?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Give an example of a time when you took initiative on a project without being explicitly asked.
Give an example of a time when you took initiative on a project without being explicitly asked.
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
What is your greatest achievement, and what was your biggest failure or takeaway from a prior role?
What is your greatest achievement, and what was your biggest failure or takeaway from a prior role?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Why do you want to work for Burns & McDonnell, and what do you know about our company structure?
Why do you want to work for Burns & McDonnell, and what do you know about our company structure?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
What kind of work environment do you thrive in, and what do you see yourself doing with us over the next few y
What kind of work environment do you thrive in, and what do you see yourself doing with us over the next few years?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Why did you choose your major or specialization in software engineering?
Why did you choose your major or specialization in software engineering?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
Why should we hire you over other qualified candidates applying for this role?
Why should we hire you over other qualified candidates applying for this role?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
How do you handle ambiguous project requirements when starting a new application or feature build?
How do you handle ambiguous project requirements when starting a new application or feature build?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- Name the disagreement and how you resolved it with evidence.
Follow-up
- What would you do differently if you ran that again?
- How did you know your change caused the improvement?
- 01
Tell me about yourself, your educational background, and your past work experience.
- 02
Can you share an example of a time you handled a team conflict during a project and how you resolved it?
- 03
Describe a situation where you had to balance multiple competing deadlines. How did you prioritize your tasks?
- 04
Give an example of a time when you took initiative on a project without being explicitly asked.
How technical is the interview process for a Software Engineer at Burns & McDonnell?
The interview process relies less on abstract algorithm puzzles and more on practical engineering concepts, past project discussions, and soft skills. Interviewers want to understand your real-world coding projects, design approaches, database knowledge, and how effectively you communicate technical details.
Burns & McDonnell Software Engineer candidate reports ↗What is expected during the candidate presentation in the final round?
You are expected to prepare a 10 to 15 minute slide presentation covering your personal background, education, relevant technical projects, leadership activities, and why you want to join Burns & McDonnell. Treat this as a formal presentation to showcase your structure, technical expertise, and public speaking skills.
Burns & McDonnell Software Engineer candidate reports ↗How should I approach the pre-recorded video interview screening?
Prepare concise, structured behavioral responses using the STAR method (Situation, Task, Action, Result) before starting the recording. Take advantage of the preparation time provided for each question, speak clearly into your microphone, dress professionally, and maintain direct eye contact with the camera.
Burns & McDonnell Software Engineer candidate reports ↗What is the company culture like at Burns & McDonnell?
As a 100% employee-owned firm, the culture emphasizes high accountability, pride in work quality, collaboration, and social camaraderie. Team members are friendly and supportive, and interviews often include casual interactions like office tours and team lunches to see how well you fit into the group dynamic.
Burns & McDonnell Software Engineer candidate reports ↗How long does the entire interview process take from application to offer?
The overall timeline usually ranges between 3 to 6 weeks, depending on office location, holiday schedules, and requisition urgency. Communication is typically straightforward following live panel rounds, though pre-recorded screening reviews can occasionally take a couple of weeks to process.
Burns & McDonnell Software Engineer candidate reports ↗What topics does Burns & McDonnell test in interviews?
Burns & McDonnell interviews most often cover Microsoft Excel, Data Analysis, Microsoft PowerPoint, Microsoft Word, and NIST Cybersecurity Framework (CSF). The exact emphasis depends on the specific role you apply for.
Burns & McDonnell Software Engineer candidate reports ↗Sources & methodology 3 sources ↗
No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.
- 01Burns & McDonnell Software Engineer candidate reports ↗
Company-reported rounds, questions and FAQ.
Candidate reports · Accessed 2026-09-22 - 02PracHub Software Engineer practice ↗
PracHub practice material, not company-reported.
PracHub page · Accessed 2026-09-22 - 03PracHub preparation framework ↗
PracHub preparation guidance.
PracHub page · Accessed 2026-09-22