Project-Oriented Mindset


Summary

In this episode, Jonathan Cottrell addresses the common feeling among developers of working in an “endless loop” of tasks without clear progress markers. He explains this often occurs in less structured environments like startups, freelancing, or teams in transition, where undefined roles and boundaries create anxiety and disconnect from purpose.

Cottrell introduces the concept of a “project-oriented mindset” as a solution. He defines projects as “scoped efforts towards an objective” characterized by limited resources (time, money, hardware) and clear objectives. He emphasizes shifting from thinking in terms of endless, undefined tasks to working on discrete projects, even small ones that can last as little as half a day.

The core advice is to focus on one project at a time, prioritize ruthlessly, and scope work based on the project’s limited resources. This creates self-imposed boundaries that combat the “mushy” feeling of uncertainty. Cottrell also recommends aiming to deliver a minimal working version (an MVP) by the time 50% of the project’s resources are consumed, creating a safety margin similar to living below one’s means in personal finance.

By bundling tasks into projects, developers can better understand their contribution to objectives, manage their effort and time more effectively, and regain a sense of control and progress in their work.


Recommendations

Tools

  • Linode — A cloud hosting provider sponsored in the episode. The host highlights their StackScripts feature, which are automated scripts for quickly deploying common server setups like WordPress or the MEAN stack, saving developers time on boilerplate configuration.
  • StackScripts — A feature of Linode that allows developers to run automated scripts on their server instances. These scripts can handle tasks like updating dependencies or deploying entire application stacks (e.g., MEAN, WordPress), streamlining the setup process.

Topic Timeline

  • 00:00:00Introduction to the feeling of working in an endless loop — Jonathan Cottrell introduces the episode’s theme: the common developer experience of feeling stuck in an undefined, endless loop of tasks without clear progress. He connects this to a loss of purpose and explains it often happens in unstructured environments like startups or freelancing.
  • 00:02:27Sponsor segment: Linode and StackScripts — The host promotes the episode’s sponsor, Linode, focusing on their StackScripts feature. He explains StackScripts are automated scripts that help developers quickly deploy common setups (like WordPress or a MEAN stack) on Linode servers, saving time on boilerplate configuration.
  • 00:05:13Introducing the project-oriented mindset as a solution — Cottrell transitions back to the main topic, acknowledging that uncertainty is persistent but manageable. He proposes adopting a “project-oriented perspective” to create personal boundaries. He defines a project simply as a “scoped effort towards an objective.”
  • 00:05:52Defining the core elements of a software project — The host outlines two key factors common to software projects: 1) The use of limited resources (time, money, hardware), and 2) A clear objective the project aims to accomplish. He stresses the importance of having a single objective per project for clarity.
  • 00:06:55Prioritizing projects and focusing on one at a time — Cottrell advises against thinking in terms of piled-up tasks and instead choosing which project makes the most sense. He argues that since you can only do one thing at a time, prioritization is critical. He recommends having only one project on your plate at a time to avoid context-switching.
  • 00:08:24Scoping work based on limited resources and delivering early — Here, the host explains how a project’s limited resources (time, budget) help you scope the level of effort, quality, and testing. He recommends a key practice: aim to deliver a minimal working version (MVP) by the time 50% of the project’s resources are consumed. This creates a margin of safety, similar to living below your means in finance.
  • 00:09:36 — Cottrell concludes by summarizing the benefit of bundling tasks into projects: it helps you understand how your work contributes to objectives and allows you to set limits on time and effort. He reiterates the value for anyone feeling adrift in an “endless ocean of tasks.”

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2018-02-12T10:00:00Z
  • Duration: 00:11:33

References


Podcast Info


Transcript

[00:00:00] Have you ever felt like you were kind of working in an endless loop? And you didn’t really know

[00:00:10] how far along you actually are at any given point. And you’re not really sure when that

[00:00:15] endless loop really is going to come to an end. We’re talking about a way to avoid this feeling

[00:00:22] to avoid this mental state in today’s episode. My name is Jonathan Cottrell, you’re listening

[00:00:27] to Developer Tea. My goal on the show is to help driven developers uncover their career purpose so

[00:00:33] they can do better work and have a positive influence on the people around them. You’ve

[00:00:37] heard that before if you listen to the show. And it’s true. I truly believe that if you can connect

[00:00:44] to something that you believe in, then you’re going to have a better work life, you’re going

[00:00:49] to end up enjoying your job more, but you’re also going to end up influencing the people around you,

[00:00:54] you’re going to have a better influence on

[00:00:56] the people around you.

[00:00:57] that you’re directly in contact with, whether that’s your co workers, your family, your friends,

[00:01:02] your, you know, any anybody you come in contact with your customers, everyone’s life is going to

[00:01:07] be better if you are working better. And one of the ways that you can become disconnected,

[00:01:15] one of the ways that you can start losing sight of that purpose is to feel like you’re floating.

[00:01:21] And this happens, unfortunately, far too often. Especially it happens

[00:01:27] when you work in a company that isn’t super well organized already. This, this is something that

[00:01:33] happens with freelancers a lot. This is something that happens with teams that don’t have strong

[00:01:38] structure or are in a transition state. And a lot of the time, software developers work in these

[00:01:44] environments, because the companies that we’re working in as software developers, very often,

[00:01:49] those companies are newer, they haven’t really established really strong boundaries, really

[00:01:55] strong roles necessarily.

[00:01:57] And so it’s a little bit easier to end up feeling like you’re in kind of an undefined state,

[00:02:02] kind of a mushy state is another way to describe it. And this can be really frustrating, because

[00:02:08] when you have this level of uncertainty, it can create a little bit of a sense of anxiety. So

[00:02:14] we’re going to talk about ways to mitigate this mushy, kind of lack of definition, we’re going

[00:02:20] to talk about kind of a mindset, it’s actually kind of a bridge between principle and practice

[00:02:25] that will help you.

[00:02:27] bring more definition to that kind of situation. But first, I want to talk about today’s sponsor

[00:02:32] Linode. We’ve been highlighting particular features and offerings that Linode has,

[00:02:37] just because there’s so much to go through. And there’s so many different things that Linode

[00:02:41] provides to their customers, which is you. And today, we’re going to talk about stack scripts,

[00:02:48] stack scripts, this is a huge thing that Linode has available for developers. And what it allows

[00:02:53] you to do, they’ve had it for quite a while, by the way, over three years, they’ve had it for about

[00:02:57] three years now. But what it allows you to do is to simply answer a few questions for your server,

[00:03:05] let’s say, for example, that you want to spin up a WordPress site, maybe you want to start a

[00:03:09] WooCommerce site, which is another sponsor of the show. And you want to get started quickly. So

[00:03:15] you don’t want to go through all that boilerplate stuff that you know that you, you know, you know

[00:03:20] how to do it, most likely, if you’re a developer, if you’ve spun up a WordPress instance before,

[00:03:25] but really, there’s a lot of details.

[00:03:27] that you forgot since the last time you do it, because you don’t do this kind of thing every day.

[00:03:31] Well, stack scripts help you get through this kind of mundane process. And it provides you

[00:03:36] with a script that you can run on your Linode. So you have a Linode instance, you can run the

[00:03:42] script, anytime you start a new Linode instance, for example, you may want to have a script that

[00:03:47] updates all of the dependencies on the server, automatically, you can do that with stack scripts.

[00:03:53] And they have community stack scripts. These are things that

[00:03:55] people have already made for you to get started with Linode very quickly. So if you have,

[00:04:01] you know, a particular stack, like, for example, let’s say you use mean, the mean stack, the node

[00:04:05] JS, and Angular or MongoDB and Express, if you use that stack, then there’s a mean stack script

[00:04:14] available for you. You can also call stack scripts from within stack scripts, they have

[00:04:19] tools, they have a Linode API can call stack scripts. It’s a very robust system,

[00:04:25] that allows you to do quite a few things inside of Linode. So this is one of again,

[00:04:30] many different offerings that Linode has for developers, to make your life easier,

[00:04:36] to solve your problems, to automate these solutions, to take work off of your plate and

[00:04:41] offload it. These are the ways that Linode is working for you. Now you can get started with

[00:04:46] Linode for as little as $5 a month, that’ll get you a one gigabyte of RAM server. Of course,

[00:04:53] Linode is providing you as a developer,

[00:04:55] listener with $20 worth of credit. All you have to do is use the code developer T 2018 at checkout.

[00:05:02] Thanks again to Linode for sponsoring today’s episode. Head over to spec.fm slash Linode if

[00:05:07] you want to learn more today. So we’re talking about a way of getting rid of this uncertainty

[00:05:13] factor. And there’s no silver bullet here. I hate to break it to you. Uncertainty is something that

[00:05:20] you’re going to deal with in your career, probably indefinitely. But there are ways that you can shift

[00:05:25] your mindset a little bit and practice differently so that you create your own boundaries. So what I

[00:05:33] want you to do is to adopt a project oriented perspective. Projects are defined as scoped

[00:05:42] efforts towards an objective. That’s as simple as it needs to be. Scoped efforts towards an

[00:05:48] objective. Software projects typically have the following things in common. Number one,

[00:05:52] there’s a limited resource that we will be using to,

[00:05:55] right? This can be time, this can be money, this can be hardware, or it can be a combination of

[00:06:02] any of these things. These are all limited resources. You can’t create more time. You can’t

[00:06:08] create more money. You could create more hardware, but it would take more money to create more

[00:06:12] hardware, right? So limited resources. Number two, the second factor, there is a objective

[00:06:19] that the project is kind of pointed at accomplishing either directly or indirectly,

[00:06:25] right? So you can create more money, but it would take more money to create more hardware.

[00:06:25] So it could be one or more objectives, but it’s even better if you can kind of nail down a single

[00:06:32] objective per project. And I want to say something about timeline on a project. A project can last

[00:06:38] as little as half a day. You don’t have to have this major timeline and multiple people involved.

[00:06:44] Projects can be relatively small, and you can also compose projects together,

[00:06:50] right? So the idea is, you know, don’t think of your work in terms of tasks.

[00:06:55] Tasks can pile up, and they can end up being undefined. They can end up having really

[00:07:01] difficult to understand objectives. And ultimately, you know, you deciding how much time to put into a

[00:07:07] task, that’s a really difficult process. And it’s going to leave you feeling like things are a little

[00:07:12] bit mushy once again. So instead, if you have projects, and these projects have objectives,

[00:07:17] they have resources, and they have kind of values assigned to them, then you can choose which

[00:07:23] projects make the most sense. Now, only one of these projects is going to make the most sense.

[00:07:25] One change ever happens at a time. In other words, you can only do one thing at a time.

[00:07:30] You’re not going to be multitasking. So prioritization happens whether you want it to

[00:07:37] or not. You’re going to choose one task at a time. So it’s of utmost importance that you actually

[00:07:43] take the time to do that prioritization. Now, I would recommend you have one project on your

[00:07:49] plate at a time. Don’t try to bounce between projects. Identify a project that is worth your

[00:07:55] time.

[00:07:55] Identify a project that is worth your time, your energy, that’s worth the resources that you’re

[00:08:01] going to spend on it. Remember, projects are not just these endless kind of buckets of time.

[00:08:08] They have limited resources. They have limited time. So you can start to scope the kind of work,

[00:08:13] the kind of energy, the kind of quality, the level of testing, the level of rigor that you’re

[00:08:20] able to put into a project based on those limited resources.

[00:08:24] This is going to help you substantially improve the boundaries that you place on the work that

[00:08:31] you do. There’s a lot of theory around how to manage projects. There’s a lot of different

[00:08:36] opinions. But ultimately, if you’re going to listen to this show, I would recommend that you

[00:08:42] do one thing at a time. Don’t try to multitask. That you focus on the highest priority items

[00:08:47] first and that you try to deliver something that is working as soon as possible. This means that

[00:08:54] you’re kind of living below your means. This is something that we learned in personal finance,

[00:08:59] that if you have some margin, a financial margin, you’re much less likely to get in trouble. So

[00:09:05] if you can target, for example, you may set your personal target to ship something that is working,

[00:09:13] kind of an MVP, at the 50% mark. In other words, whenever that limited resource,

[00:09:18] whenever 50% of it has been used, then something working, something that is absolutely minimal,

[00:09:25] to the objective that you’re trying to accomplish, something working is there.

[00:09:30] Thank you so much for listening to this episode of Developer Tea. I hope you enjoy this concept.

[00:09:36] And more importantly, I hope this is helpful for people who are struggling

[00:09:40] with feeling like you’re just kind of wading through an endless ocean of tasks.

[00:09:45] If you add one more layer on the outside of those tasks, bundle those up together

[00:09:49] into projects, that’s going to help your objectives. It’s going to help you understand

[00:09:54] how you’re going to be able to do your work. And if you’re going to be able to do your work,

[00:09:54] is contributing to those objectives, and how to put limits on the amount of time,

[00:10:00] the amount of effort you put into a given task. Thank you so much for listening to this episode.

[00:10:05] Thank you again to Linode for sponsoring today’s episode of Developer Tea.

[00:10:09] Remember, Linode has tons of offerings. We’re covering them on this show,

[00:10:14] kind of one at a time, highlighting them. But you can learn all about Linode by going

[00:10:19] to spec.fm slash Linode. They’re going to give you $20 worth of credit just for being a Developer Tea

[00:10:24] listener. And if you’re interested in learning more about Linode, you can go to spec.fm slash Linode.

[00:10:24] If you use the code DEVELOPERTEA2018 at checkout, head over to spec.fm slash Linode.

[00:10:31] Thank you again for listening. If you’re enjoying these episodes of Developer Tea,

[00:10:35] and you haven’t yet subscribed, then I encourage you to do so. You can subscribe in any podcasting

[00:10:40] app. And we are also in Spotify now. So you can go and find Developer Tea in Spotify.

[00:10:46] But we’re posting three episodes a week. And it’s critical that you subscribe to Developer Tea

[00:10:51] because a lot of people find that if they subscribe to Developer Tea, they’re going to be

[00:10:54] they fall behind, that it’s more difficult to go back and find episodes that they believe are

[00:10:59] relevant to them. And just because you’re subscribing doesn’t mean you have to listen

[00:11:02] to every episode. We intentionally post more episodes of this show than the average podcast

[00:11:08] because I know that not every single episode is going to be relevant to every single person.

[00:11:12] But when those most relevant episodes show up in your feed, you’re much more likely to know about

[00:11:18] them if you’re subscribed. So go and subscribe in whatever podcasting app you use. Thank you so much

[00:11:23] for listening. And until next time, enjoy your tea.