Software engineering is about far more than writing code: it's how teams design, test, ship, and maintain software that lasts.
A project is behind schedule. According to Brooks's law, what happens if you add more developers?
It finishes much sooner
It gets even later
It switches to microservices
It skips optimization
Right! New people need onboarding, and more people means more communication overhead, so a late project often gets later.
Brooks's law says adding people to a late project makes it later, because of onboarding time and extra communication between team members.
Your test suite reaches 100% code coverage. What does that tell you?
Every line ran during a test
The code contains no bugs
All parts work together correctly
Code review is no longer needed
Exactly! Coverage only shows which lines were executed, not that the tests checked the right behavior or every case.
100% coverage only means every line ran during some test. Tests can still miss edge cases or check the wrong results.
A developer restructures messy code without changing what it does. What is this called?
Paying down bugs
Feature development
Refactoring
Premature optimization
Correct! Refactoring improves the internal structure of code while keeping its external behavior the same.
It's refactoring: improving code's structure and readability without changing its behavior. Adding features is a separate task.
Scratch the card to reveal a fact about software engineering
The term "software engineering" was popularized by Margaret Hamilton, who led the team writing the Apollo moon landing software.
How are Git and GitHub related?
They are two names for one tool
Git only works for teams on GitHub
GitHub deploys Git code automatically
Git is a tool; GitHub hosts Git repositories
Yes! Git is a version control system that runs on your computer; GitHub is an online service for hosting and sharing Git repositories.
Git is a version control tool you can use alone and offline. GitHub is one of several services that host Git repositories online.
What does it mean when an algorithm is O(n²)?
Its work grows with the square of the input size
It takes n² seconds to run
It should be optimized right away
It takes n² milliseconds per item
Correct! Big O describes how work grows as input grows: double the input, and the work roughly quadruples.
Big O describes growth, not exact time: O(n²) means the work grows with the square of the input size, regardless of the hardware.
Flip the card to reveal a fact about software engineering
In 1947, engineers found a real moth stuck in the Harvard Mark II computer and taped it into their logbook as the "first actual bug."
Did you know?
A team ships a quick hack to meet a deadline, planning to clean it up later. What have they created?
A refactoring
Technical debt
A known bug
An agile sprint
Right! Technical debt is the future cost of choosing a quick solution now; like money debt, it grows "interest" if it isn't repaid.
That's technical debt: a shortcut that works now but makes future changes harder. It isn't necessarily a bug, since the code may work fine.
Which test checks a single function on its own, with its dependencies replaced by fakes?
An integration test
An end-to-end test
A unit test
A code review
Exactly! Unit tests isolate a small piece of code, often using mocks or stubs, so failures point straight to the problem.
It's a unit test. Integration and end-to-end tests check how parts work together, which is slower but catches different problems.
What does the Agile Manifesto say about documentation?
Teams should write no documentation
Planning and documents are banned
Working software is valued more than documentation
Every change must deploy straight away
Yes! The manifesto values working software over comprehensive documentation, while still seeing value in documentation.
The Agile Manifesto values working software more than comprehensive documentation, but it says documentation still has value. Agile teams plan constantly, in short cycles.
Drag the slider to reveal a fact about software engineering
Can a tiny unit mix-up destroy a spacecraft?
Yes: NASA lost the $125 million Mars Climate Orbiter in 1999 because one team used imperial units and another used metric.
An app written in Java, which has garbage collection, slowly uses more memory. Could it be a memory leak?
No, garbage collection prevents all leaks
No, only C and C++ can leak memory
No, it just needs early optimization
Yes, if unused objects are still referenced
Correct! A garbage collector can only free objects nothing refers to, so forgotten references in caches or listeners still leak memory.
Yes, it can be a leak. Garbage collectors free only unreachable objects, so objects still referenced by mistake, e.g. in a cache, pile up.
A startup with three developers is building its first product. Which architecture do many experts recommend starting with?
Dozens of microservices
A microservice per developer
A well-structured monolith
A system for a team of 50
Right! A monolith is simpler to build, test, and deploy; teams can split it into services later if they truly need to scale.
Many experts advise starting with a well-structured monolith. Microservices add network, deployment, and coordination costs that small teams rarely need early on.
How did you like the quiz?
Perfect! Every answer right!
10 of 10 right
100%
Challenge your developer friends to take the quiz!
Without one, it says “A friend.”
Please choose another nickname.
Question 1: A project is behind schedule. According to Brooks's law, what happens if you add more developers?
Question 2: Your test suite reaches 100% code coverage. What does that tell you?
Question 3: A developer restructures messy code without changing what it does. What is this called?
Question 4: How are Git and GitHub related?
Question 5: What does it mean when an algorithm is O(n²)?
Question 6: A team ships a quick hack to meet a deadline, planning to clean it up later. What have they created?
Question 7: Which test checks a single function on its own, with its dependencies replaced by fakes?
Question 8: What does the Agile Manifesto say about documentation?
Question 9: An app written in Java, which has garbage collection, slowly uses more memory. Could it be a memory leak?
Question 10: A startup with three developers is building its first product. Which architecture do many experts recommend starting with?
Made with AI. This quiz was made with AI, which can make mistakes.