Skip to content

Goal Setting

Goal setting is how you turn vague effort into real results. In software engineering, it’s the difference between “we should build a website” and “by Friday, we’ll have a login page that works for two test users.” Without goals, projects drift — like coding without version control, things get messy fast, and nobody knows what “done” means. With goals, you create structure: tasks become clear, progress can be shown, and problems are spotted early instead of late.

Horror story: The Vanishing Goal

A past student team once thought their “goal” was simply meeting every week. They came to stand-ups, talked a lot, but never pinned down what feature should be working by the next session. At demo day, they proudly announced, “We’ve discussed many ideas!” — but had nothing to show. Because they misunderstood that a goal is about concrete deliverables with deadlines, weeks of effort vanished into thin air. The project failed not for lack of talent, but for lack of shared, clear goals.

Think of it like building a house. If the plan is only “let’s make something livable,” you’ll end up with mismatched walls and no plumbing. But if you set clear goals — foundation this week, roof next week — the house takes shape step by step. Software works the same way. Setting goals doesn’t just keep you on track; it makes teamwork possible, because everyone knows what to aim for and how to tell when the target is hit.

Quote

In the first episode of Developing Up, the hosts remind us that goals aren’t just buzzwords — they’re the backbone of personal and career growth. Without them, you risk wandering; with them, you can actually measure progress and know you’re moving forward. See Developing Up, Episode 1.

D.U.M.B. Goals

Not every goal system agrees on what “DUMB” means. Different authors have filled in the letters differently, and both views are worth knowing. What they share is the idea that sometimes the best goals are not the safest ones. They encourage you to dream bigger than what seems “practical,” then find ways to make that dream real.

One version, by Brendon Burchard, defines DUMB goals as Dream-driven, Uplifting, Method-friendly, and Behavior-triggered. This is the “shoot the moon” style: you set a direction that excites you, even if the details of how to get there are unclear at first.

  • Dream-drivenWhat would excite me enough to put in real effort, even when it’s hard? Example: “Create a platform where students can share code that makes learning math fun.”
  • UpliftingDoes this goal give energy to me and others, or does it drain us? Example: “Build a bug-tracking system that actually makes teamwork smoother instead of stressful.”
  • Method-friendlyCan I imagine at least some approaches or tools to move toward this dream? Example: “Use Python and Django to prototype quickly, even if the final solution may change.”
  • Behavior-triggeredWhat habits or small actions will keep me moving forward every week? Example: “Commit one working feature to GitLab before every stand-up.”

This version makes DUMB goals the counterpart of SMART goals. While SMART (explained later) asks you to be precise and measurable, DUMB pushes you to aim high and keep your motivation alive.

Another version, by Bob Whipple, takes a more practical stance. He says DUMB should stand for Doable, Uncompromising, Manageable, and Beneficial — goals that are realistic, value-driven, and structured so you can actually reach them.

Tip

Use Brendon’s DUMB goals when you need inspiration and bold direction. Use Whipple’s version when you need realism and steady progress. Both perspectives can help a team, depending on whether you’re stuck in hesitation or drifting in fantasy.

Here’s a draft for the SMART goals subsection, in the same pragmatic, student-friendly style:

S.M.A.R.T. Goals

If DUMB goals are about inspiration, SMART goals are about execution. They turn “we want to build something cool” into “we know exactly what to deliver, when, and how we’ll measure it.” SMART stands for Specific, Measurable, Achievable, Relevant, and Time-bound. Think of it as writing unit tests for your work: they define what “done” really means.

  • SpecificWhat exactly needs to be built or delivered? Example: “A login page where users can register with email and password.”
  • MeasurableHow will we know it works? Example: “At least two test users can create accounts and sign in successfully.”
  • AchievableCan this actually be done with the time, skills, and tools we have? Example: “Yes, because we already learned Django authentication in class.”
  • RelevantDoes this goal matter for the bigger project or course milestone? Example: “Yes, user accounts are essential for everything else in the app.”
  • Time-boundWhen will this be finished? Example: “By next Friday’s stand-up.”

SMART goals are less exciting than DUMB goals, but they save teams from wasting weeks on half-finished ideas. In real jobs, managers don’t reward “we tried hard,” they reward results. In this course, tutors will do the same: progress is only visible when there’s something concrete to show.

Example

A DUMB goal might be “Create a platform that makes language learning fun for everyone.” The SMART version is “By Week 4, release a prototype with a working vocabulary quiz that records scores for two test users.” Both are valid, but only the SMART version tells you what to do this week.

From DUMB to SMART — Bridging Vision and Action

DUMB goals give you direction, SMART goals get you moving. A “shoot the moon” DUMB goal might be “Help anyone in the world learn a language through music.” That vision is inspiring, but too big to act on directly. To make progress, you need to break it down into SMART steps: “By Week 4, build a prototype quiz that tests 20 words with audio clips for two users.”

This combination matters. DUMB goals keep your work meaningful — they answer why you’re building something. SMART goals keep your work practical — they answer what exactly will be delivered, when, and how you’ll measure it. Without DUMB, SMART goals can feel like busywork; without SMART, DUMB goals remain vague dreams. Together, they make a system where every small milestone connects to a bigger purpose.

Example

In software terms, a DUMB goal is like a user story: broad and aspirational (“As a student, I want to practice vocabulary through music so I learn faster”). SMART goals are like the features and tasks that make it real (“Implement a quiz module by Friday that plays 10 audio snippets and records scores”). Just as user stories inspire while features deliver, DUMB and SMART work best when aligned.

Tip

When you set goals in your project team, start DUMB, finish SMART. First ask: What big dream excites us? Then ask: What concrete step can we finish this week that proves we’re moving toward it? This way you stay motivated and accountable at the same time.