As a Software Engineer at Johnson & Johnson, you play a vital role in advancing global healthcare by building and scaling software that directly powers life-saving medical devices, pharmaceutical research, and global digital platforms. Whether you are engineering real-time embedded systems for surgical robotics systems like OTTAVA, developing software for vision care equipment, or constructing cloud-native microservices for digital health platforms, your work directly touches the lives of millions of patients worldwide. In this role, software engineering is not merely an isolated discipline; it is an integrated core of Johnson & Johnson's MedTech and Innovative Medicine divisions. You will solve high-stakes engineering challenges at the intersection of biology, software architecture, and hardware integration. The technical decisions you make must satisfy stringent regulatory standards, high availability requirements, and exceptional reliability guidelines, as your code often drives critical clinical outcomes. Joining Johnson & Johnson as a offers a rare combination of enterprise scale, cutting-edge technical challenges, and deeply meaningful purpose. Candidates who excel in this position demonstrate sharp technical mastery, disciplined adherence to software development lifecycles, and a deep alignment with the company’s mission to transform healthcare. Software Engineer
Online Application
reportedCandidates submit their applications online for the Software Engineer position.
What to demonstrate
- Candidates submit their applications online for the Software Engineer position
- Depth in Spring Boot
How to prepare
- Answer aloud and timed: Why do you want to work at Johnson & Johnson, and how do your technical values align with Our Credo?
- Answer aloud and timed: Describe a situation where you had to balance engineering speed with strict safety or compliance requirements.
Automated Assessment
reportedCandidates complete an automated digital assessment or initial recruiter screen.
What to demonstrate
- Candidates complete an automated digital assessment or initial recruiter screen
- Depth in Spring Boot
How to prepare
- Answer aloud and timed: Tell me about a time you faced a difficult conflict within a multi-functional team and how you resolved it.
- Answer aloud and timed: Give an example of a time you failed to meet a deadline or project milestone. What did you learn, and how did you handle communication?
HireVue Interview
reportedCandidates participate in an on-demand HireVue video interview with behavioral and situational scenarios.
What to demonstrate
- Candidates participate in an on-demand HireVue video interview with behavioral and situational scenarios
- Depth in Spring Boot
How to prepare
- Answer aloud and timed: Describe a scenario where you had to make an ethical decision or stand up for quality during a software release cycle.
- Answer aloud and timed: How do you approach managing state and maintaining consistency across transactions in a distributed microservices architecture?
Technical Conversations
reportedDirect discussions with hiring managers and lead engineers focusing on technical fundamentals and resume deep dives.
What to demonstrate
- Direct discussions with hiring managers and lead engineers focusing on technical fundamentals and resume deep dives
- Depth in Spring Boot
How to prepare
- Answer aloud and timed: Explain the key differences between multithreading and multitasking, and discuss how you manage thread safety in Java or C++.
- Answer aloud and timed: How do you approach design patterns and object-oriented architecture when building maintainable enterprise software?
Panel Interview
reportedMulti-part virtual or on-site panel interview including technical presentations and scenario-based discussions.
What to demonstrate
- Multi-part virtual or on-site panel interview including technical presentations and scenario-based discussions
- Depth in Spring Boot
How to prepare
- Answer aloud and timed: Describe how you would set up a CI/CD pipeline and automated testing suite for a mission-critical backend service.
- Answer aloud and timed: How do you optimize database queries and memory management when handling large collections of high-frequency data?
2 candidate reports. Individual accounts describe a particular role and hiring cycle.
Johnson & Johnson Software Engineer interview: remote panels and a slow finish
After applying, I started with an HR-style screening call about my interests and compensation. Further interviews were remote on Microsoft Teams, and the sequence felt organized. The second conversation had more of a panel format. I met several team members alongside the person leading the hiring decision. We discussed my experience and how it fit the role. The questions were friendly, direct and…
Read full experienceJohnson & Johnson Software Engineer interview: recruiter silence
I did not find the process transparent. Getting an interview after applying was difficult, and when recruiters finally contacted me, their communication was direct but short on details. I never got a clear sense of how long the process would take. I received the invitation and completed a recruiter conversation, then things essentially went quiet. I heard nothing further about the position. The u…
Read full experiencePracHub editorial advice for the preparation topics above.
Structure behavioral answers with STAR
Always frame your behavioral answers using Situation, Task, Action, and Result. Make sure the "Action" clearly details what you specifically engineered or led, rather than speaking generally about team efforts.
Prepare a detailed past-project presentation
If invited to a panel interview, choose a past engineering project that highlights high technical complexity, cross-functional collaboration, and measurable business or technical outcomes. Be prepared to defend your architectural trade-offs.
Emphasize safety and software quality
Highlight your experience with code reviews, automated unit testing, risk management (FMEA), and robust error handling. Demonstrating a quality-first mindset resonates strongly with J&J engineering managers.
Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.
Explain the key differences between multithreading and multitasking, and discuss how you manage thread safety
Explain the key differences between multithreading and multitasking, and discuss how you manage thread safety in Java or C++.
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?
How do you optimize database queries and memory management when handling large collections of high-frequency d
How do you optimize database queries and memory management when handling large collections of high-frequency data?
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?
Diff a projection against the primary without per-row point reads
The listing projection has drifted and some rows show a stale version. The primary holds 40,000,000 resource rows across 12,000 tenants while serving 1,200 writes and 14,000 reads per second. The obvious repair, reading each resource row and comparing its version against the projection, is correct and would eventually finish. Explain precisely why it is unacceptable here, then give a diff that finds the differing rows, state its complexity, and make it safe to run against a live primary. Replication lag is usually under 100 ms and is not bounded.
Approach
- Quantify the naive cost rather than calling it slow: 40,000,000 point reads at even 0.5 ms each is over five hours serialised, and the only lever is concurrency, which is exactly what you cannot spend. The primary's pool is sized for the write path, and 40,000,000 random reads evict the buffer cache that sustains the 85 percent cache hit rate, so the audit degrades the system it is auditing.
- Replace random access with one ordered pass per side. Both sides can be read in (tenant_id, resource_id) order, which is a sequential scan on each and a merge join in O(n) time and O(1) memory. For a dense diff that is the whole answer, and it reads the primary once instead of 40,000,000 times.
- For the expected sparse case, compare range hashes instead of rows: partition the key space, compute per range an order-independent aggregate over hash(resource_id, version), compare aggregates, and descend only into ranges that differ. With d differing rows and branching factor B, at most d ranges mismatch per level, so the drill-down examines O(d log_B(n/d)) ranges and reads full rows only in mismatching leaves.
- Aggregate with a sum modulo 2^64 or a multiset hash, never XOR. XOR is order-independent but self-cancelling, so two rows wrong in the same way, or a row duplicated on one side, leave the range aggregate matching and the range is declared clean.
Follow-up
- The diff reports 900 stale rows. How do you decide between patching those rows and rebuilding the projection from resource_revision?
- Same job, but the projection lives in a search index that cannot be scanned in key order. What changes?
Find version gaps and relay lag with window functions
outbox_event holds event_id, aggregate_type, aggregate_id, aggregate_version, event_type, payload, status ('pending','published','dead'), attempts, created_at, published_at. A projection is missing rows and you must decide whether the relay skipped events or the consumer dropped them. Write three queries over the last seven days: one listing every aggregate_id whose published aggregate_version sequence has a hole, one giving per-day counts with a running total, and one returning the newest published event per aggregate. For each, say where the window function is evaluated relative to WHERE and LIMIT. PostgreSQL 16.
Approach
- Gaps: compute lead(aggregate_version) OVER (PARTITION BY aggregate_id ORDER BY aggregate_version) in a subquery, then filter next_version <> aggregate_version + 1 in the outer query. Window functions are evaluated after WHERE, GROUP BY and HAVING and before the outer ORDER BY and LIMIT, so the predicate cannot sit in the same WHERE clause and PostgreSQL 16 has no QUALIFY.
- Say what the seven-day filter does to the answer: it truncates every partition, so the first row per aggregate has no predecessor inside the window and a hole spanning the boundary is invisible. Widen the window, or join to resource.version as the authority for the true maximum.
- Running total: SELECT date_trunc('day', created_at) AS d, count() AS n, sum(count()) OVER (ORDER BY date_trunc('day', created_at) ROWS UNBOUNDED PRECEDING). An aggregate inside a window call is legal because grouping runs before windowing. The grouping key is unique per row here so ROWS and RANGE agree, but write the frame anyway — over ungrouped rows with tied timestamps the default RANGE frame pulls in every peer row and the total jumps.
- Newest per aggregate: DISTINCT ON (aggregate_id) ... ORDER BY aggregate_id, aggregate_version DESC is the cheap PostgreSQL-only form when an index matches that order; row_number() OVER (PARTITION BY aggregate_id ORDER BY aggregate_version DESC) = 1 is the portable form and needs a subquery for the same evaluation-order reason as the gap query.
Follow-up
- Relay failover redelivers events. Does a duplicate break the gap query, and how would you detect one from this table alone?
- Turn the gap check into a continuous monitor rather than a query someone runs after an incident. What does it watch?
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?
How do you approach managing state and maintaining consistency across transactions in a distributed microservi
How do you approach managing state and maintaining consistency across transactions in a distributed microservices architecture?
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?
How do you approach design patterns and object-oriented architecture when building maintainable enterprise sof
How do you approach design patterns and object-oriented architecture when building maintainable enterprise software?
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?
Describe how you would set up a CI/CD pipeline and automated testing suite for a mission-critical backend serv
Describe how you would set up a CI/CD pipeline and automated testing suite for a mission-critical backend service.
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 are the foundational differences between a standard operating system and a Real-Time Operating System (RT
What are the foundational differences between a standard operating system and a Real-Time Operating System (RTOS)?
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?
Explain your approach to hardware/software integration and how you handle error logging when interacting with
Explain your approach to hardware/software integration and how you handle error logging when interacting with physical sensors or controllers.
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- Design the error taxonomy before the success shape; callers branch on it.
Follow-up
- What happens if the caller retries after a timeout?
- How does a client discover it is on an old version of this contract?
What methodologies do you use for unit testing, system integration testing, and defect tracking in a regulated
What methodologies do you use for unit testing, system integration testing, and defect tracking in a regulated software environment?
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- Design the error taxonomy before the success shape; callers branch on it.
Follow-up
- What happens if the caller retries after a timeout?
- How does a client discover it is on an old version of this contract?
How do you conduct a root-cause analysis (such as 5 Whys or Fishbone analysis) when encountering a critical de
How do you conduct a root-cause analysis (such as 5 Whys or Fishbone analysis) when encountering a critical defect during verification?
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 debug hard-to-reproduce memory leaks or race conditions in C++, C#, or LabVIEW environments?
How do you debug hard-to-reproduce memory leaks or race conditions in C++, C#, or LabVIEW environments?
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 Johnson & Johnson candidates report.
Prepare, practise & reflect
One practical outcome each day. Spend longer where you need it.
0 / 7 done01Map the Johnson & Johnson loop
- Write out the reported sequence: Online Application, Automated Assessment, HireVue Interview, Technical Conversations, Panel Interview.
- 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 5 reported rounds, with the weakest marked.
02Work Spring Boot
- Spend the session on Spring Boot, which Johnson & Johnson candidates report being tested on.
- Write one worked example in Spring Boot and time yourself on it.
Deliverable: One timed worked example in Spring Boot.
03Work Data Structures & Algorithms (DSA)
- Spend the session on Data Structures & Algorithms (DSA), which Johnson & Johnson candidates report being tested on.
- Write one worked example in Data Structures & Algorithms (DSA) and time yourself on it.
Deliverable: One timed worked example in Data Structures & Algorithms (DSA).
04Work Multithreading
- Spend the session on Multithreading, which Johnson & Johnson candidates report being tested on.
- Write one worked example in Multithreading and time yourself on it.
Deliverable: One timed worked example in Multithreading.
05Answer out loud: Behavioral & Our Credo Alignment
- Answer aloud, timed: Why do you want to work at Johnson & Johnson, and how do your technical values align with Our Credo?
- Answer aloud, timed: Describe a situation where you had to balance engineering speed with strict safety or compliance requirements.
Deliverable: Spoken answers to 2 reported Behavioral & Our Credo Alignment question(s), under time.
06Answer out loud: Systems & Enterprise Software Architecture
- Answer aloud, timed: How do you approach managing state and maintaining consistency across transactions in a distributed microservices architecture?
- Answer aloud, timed: Explain the key differences between multithreading and multitasking, and discuss how you manage thread safety in Java or C++.
Deliverable: Spoken answers to 2 reported Systems & Enterprise Software Architecture question(s), under time.
07Answer out loud: Embedded Systems & Software Quality Assurance
- Answer aloud, timed: What are the foundational differences between a standard operating system and a Real-Time Operating System (RTOS)?
- Answer aloud, timed: How do you debug hard-to-reproduce memory leaks or race conditions in C++, C#, or LabVIEW environments?
Deliverable: Spoken answers to 2 reported Embedded Systems & Software Quality Assurance 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.
Why do you want to work at Johnson & Johnson, and how do your technical values align with Our Credo?
Why do you want to work at Johnson & Johnson, and how do your technical values align with Our Credo?
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 engineering speed with strict safety or compliance requirements.
Describe a situation where you had to balance engineering speed with strict safety or compliance requirements.
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?
Tell me about a time you faced a difficult conflict within a multi-functional team and how you resolved it.
Tell me about a time you faced a difficult conflict within a multi-functional team 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?
Give an example of a time you failed to meet a deadline or project milestone. What did you learn, and how did
Give an example of a time you failed to meet a deadline or project milestone. What did you learn, and how did you handle communication?
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 scenario where you had to make an ethical decision or stand up for quality during a software releas
Describe a scenario where you had to make an ethical decision or stand up for quality during a software release cycle.
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
Why do you want to work at Johnson & Johnson, and how do your technical values align with Our Credo?
- 02
Describe a situation where you had to balance engineering speed with strict safety or compliance requirements.
- 03
Tell me about a time you faced a difficult conflict within a multi-functional team and how you resolved it.
- 04
Give an example of a time you failed to meet a deadline or project milestone. What did you learn, and how did you handle communication?
What is the format of the initial HireVue digital interview?
The HireVue interview is an asynchronous, on-demand assessment typically consisting of 3 behavioral and situational questions. You are given prep time for each question and generally allowed up to 3 recording attempts per prompt before final submission.
Johnson & Johnson Software Engineer candidate reports ↗How technical are the panel interview rounds?
Panel interviews typically combine a formal technical presentation of a past project with scenario-based technical questions and behavioral probing. Rather than purely abstract algorithmic brainteasers, technical questions heavily emphasize real-world problem solving, code maintenance, and systems engineering. Ensure your technical project presentation is polished, concise, and clearly highlights your individual engineering contributions, architecture choices, and problem-solving impact.
Johnson & Johnson Software Engineer candidate reports ↗How important is familiarity with Our Credo during the interview?
Extremely important. Johnson & Johnson places immense value on Our Credo. You should familiarize yourself with its core tenets—placing patients, healthcare professionals, and employees first—and incorporate these principles into your behavioral responses using the STAR method.
Johnson & Johnson Software Engineer candidate reports ↗How long does the complete interview process take from application to offer?
The overall timeline generally ranges from 3 to 6 weeks. While initial screening steps like HireVue occur quickly, scheduling multi-person panel interviews with senior engineering leadership and completing background reviews can take several weeks.
Johnson & Johnson Software Engineer candidate reports ↗What topics does Johnson & Johnson test in interviews?
Johnson & Johnson interviews most often cover Cross-Functional Collaboration, Change Management, Problem Solving, Risk Management, and Cross-functional collaboration. The exact emphasis depends on the specific role you apply for.
Johnson & Johnson 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.
- 01Johnson & Johnson 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