Full-Stack Development Professional Standards & Competencies 3 — Questions and Answers
Question 1: Which of the following best describes 'technical debt' in a software project?
- Money owed to cloud service providers for overuse
- The cost of rework caused by choosing quick solutions over better long-term approaches (Correct answer)
- The time required to onboard new developers
- Licensing fees for third-party software components
Correct answer: The cost of rework caused by choosing quick solutions over better long-term approaches
Technical debt refers to the implied future rework required when shortcuts are taken instead of implementing the right solution upfront.
Question 2: A client requests a feature that would violate user privacy regulations like GDPR. A professional developer should:
- Implement it as requested since the client is responsible for compliance
- Refuse all further work on the project
- Inform the client of the legal risk and propose a compliant alternative (Correct answer)
- Implement it quietly without documenting it
Correct answer: Inform the client of the legal risk and propose a compliant alternative
Developers have a professional obligation to flag legal and ethical risks and guide clients toward compliant solutions.
Question 3: What is the primary benefit of practicing Test-Driven Development (TDD) as a professional standard?
- It eliminates the need for code reviews
- It ensures tests are written before code, leading to better design and fewer regressions (Correct answer)
- It replaces documentation with test cases
- It allows developers to skip the QA phase entirely
Correct answer: It ensures tests are written before code, leading to better design and fewer regressions
TDD drives better API design by forcing developers to think about usage before implementation, and the test suite prevents regressions.
Question 4: When should a full-stack developer use environment variables instead of hardcoding configuration values?
- Only for database passwords, never for other settings
- For all values that differ between environments or must be kept secret (Correct answer)
- Only in production, not in development
- Environment variables should never be used in Node.js applications
Correct answer: For all values that differ between environments or must be kept secret
Environment variables externalize configuration and secrets, following the Twelve-Factor App principle of separating config from code.
Question 5: A developer joins a project mid-sprint and realizes the existing code style is inconsistent. The best professional action is to:
- Reformat the entire codebase to match their preferred style
- Follow the existing style and propose a linting standard through proper channels (Correct answer)
- Ignore it and write code however they prefer
- Refuse to work on the project until it's standardized
Correct answer: Follow the existing style and propose a linting standard through proper channels
Respecting existing conventions while advocating for improvement through proper team processes is the mark of a collaborative professional.
Question 6: Which branching strategy is considered a professional standard for teams practicing continuous delivery?
- All developers commit directly to the main branch
- Long-lived feature branches that merge every few months
- Trunk-based development with short-lived feature branches and frequent integration (Correct answer)
- Separate repositories per feature to avoid conflicts
Correct answer: Trunk-based development with short-lived feature branches and frequent integration
Trunk-based development with short-lived branches reduces merge conflicts and enables continuous delivery by keeping the main branch always deployable.
Question 7: A product manager asks a developer to skip writing unit tests to meet a deadline. The professional response is to:
- Comply immediately since deadlines always take priority
- Explain the risk of skipping tests, document it as technical debt, and negotiate scope instead (Correct answer)
- Write fake tests that always pass to satisfy the requirement
- Quit the project over the ethical violation
Correct answer: Explain the risk of skipping tests, document it as technical debt, and negotiate scope instead
Communicating risk, documenting the decision, and negotiating scope are professional responses that balance business needs with engineering integrity.
Which of the following best describes 'technical debt' in a software project?