Full-Stack Development Professional Standards & Competencies 4 — Questions and Answers
Question 1: What does 'shift left' mean in the context of software quality and testing?
- Moving servers to a different geographic region
- Introducing testing and quality checks earlier in the development lifecycle (Correct answer)
- Reducing the number of developers on a project
- Migrating from right-to-left UI languages to left-to-right
Correct answer: Introducing testing and quality checks earlier in the development lifecycle
Shifting left means catching bugs earlier (in development rather than production) which is cheaper and faster to fix.
Question 2: When a developer disagrees with a team's architectural decision that has already been finalized, the most professional approach is to:
- Implement their own preferred architecture in their tickets anyway
- Voice disagreement once clearly, then commit to the team decision and execute it faithfully (Correct answer)
- Escalate to the CEO immediately
- Refuse to implement any features until the decision is reconsidered
Correct answer: Voice disagreement once clearly, then commit to the team decision and execute it faithfully
Professionals advocate their views through proper channels, but once a decision is made, they commit to it to maintain team trust and velocity.
Question 3: Which of the following is a key competency expected of a senior full-stack developer mentoring a junior developer?
- Doing the junior's tasks for them to ensure quality
- Providing context, asking guiding questions, and reviewing their work constructively (Correct answer)
- Avoiding pairing sessions to save time
- Assigning only documentation tasks to junior developers
Correct answer: Providing context, asking guiding questions, and reviewing their work constructively
Effective mentoring builds junior developers' problem-solving skills through guided discovery rather than just providing answers.
Question 4: A developer realizes they missed a requirement that caused a production bug. What is the most professional response?
- Blame the QA team for not catching it
- Immediately fix the bug, write a post-mortem focusing on process improvements, and communicate transparently (Correct answer)
- Deny responsibility and wait to see if anyone notices
- Delete the git history related to the change
Correct answer: Immediately fix the bug, write a post-mortem focusing on process improvements, and communicate transparently
Blameless post-mortems and transparent communication after incidents are professional norms that improve systems rather than punish individuals.
Question 5: What is the primary purpose of Continuous Integration (CI) in a professional development workflow?
- To automatically deploy code to production without human approval
- To detect integration errors early by automatically building and testing every commit (Correct answer)
- To replace pair programming sessions
- To manage database migrations in production
Correct answer: To detect integration errors early by automatically building and testing every commit
CI automates build and test runs on every commit so integration problems surface immediately rather than at release time.
Question 6: Which approach best demonstrates accessibility competency in a full-stack developer building a web application?
- Adding alt text only to decorative images
- Relying entirely on color to convey status information
- Ensuring keyboard navigability, sufficient color contrast, and semantic HTML (Correct answer)
- Making accessibility improvements only after user complaints
Correct answer: Ensuring keyboard navigability, sufficient color contrast, and semantic HTML
WCAG compliance requires semantic HTML, keyboard support, and sufficient contrast as baseline standards, not afterthoughts.
Question 7: What does it mean for a developer to practice 'defensive programming'?
- Writing code that compiles without warnings
- Anticipating and handling invalid inputs, edge cases, and unexpected states explicitly in code (Correct answer)
- Protecting code from being reviewed by others
- Writing code only the original author can understand
Correct answer: Anticipating and handling invalid inputs, edge cases, and unexpected states explicitly in code
Defensive programming assumes inputs may be malformed or unexpected and explicitly handles those cases to prevent crashes and security issues.
What does 'shift left' mean in the context of software quality and testing?