8 ms·
Ship Something Every Day
- securam 2y agoAlternative title: Train Yourself To Only Work On Low Hanging Fruits
- malux85 2y agoI’ve been doing this for longer than a year now: https://github.com/blackrabbit17 https://github.com/blackrabbit17 One thing that really helps me is “do nothing time” When I sit down, it’s tempting to fire up a browser, or Spotify or YouTube or something, then spend time faffing about looking for a good song, no no no, this is really just me avoiding the work. I sit down, resist that initial temptation and my mind calms, like a storm clearing, and then I let it calm and little more, and then I can start. That do nothing period is only 2-3 minutes but it allows me to slip into flow state quickly. I recommend to others to try…
- joshuaturner 2y ago> No contributions on December 19th. smh (I realize this could just be down to timezone differences considering I'm in the US)
- RheingoldRiver 2y agoSeveral years ago I was doing something that showed your consecutive-days streak. I lost mine at about 300 days because I flew to Europe and the time zone was calculated from the USA, and on the day of my flight I missed a (US timezone) day. I was so sad lol
- conroydave 2y agoA side benefit from this is that there is now a prerequisite that your ci/cd pipelines are always operational
- candiddevmike 2y agoYou could run them every night
- userbinator 2y agoIMHO "every day" is far too frequent, and this ADHD-ish attitude is one of the reasons why the quality of average software has gone down the drain. Developers need to step back, think more deeply, and not worry about being pressured into "shipping code" that barely works. The dopamine rush of your code being shipped This frequent overstimulation leads to less ability for long-term attention. When I taught programming, I saw plenty of beginners do this, especially with an IDE, and the addictive nature of being able to edit and run to see the changes immediately lead to many of them falling into an unproductive rapid iteration loop where they were barely even thinking about what they were doing, just making random changes until something seemed to work. Your team (and manager) sees you're working Tough problems need time to solve, and you won't see much meanwhile. If needing to put on a show for others is more important than actually working, something is very wrong. Your git commit streak looks good Yes, people say this doesn't matter. But I'm sure people like recruiters look at GitHub profiles, and an empty page isn't a great look. Optimising for metrics never works for those who can see through the illusion, and that's an increasing number of people over time. If I was a recruiter and saw that sort of activity, I wouldn't think of it as more than someone just putting on a show --- especially if the majority of those commits are effectively "thrashing" or "churning". The satisfaction (and mental benefits) of getting something done I can personally say that the satisfaction is far bigger the longer you've persevered.
- camhart 2y agoI mean, sure, if shipping everyday means stuff breaks everyday then its a bad idea--that sounds miserable. But it doesn't have to mean that. I'd rather have a culture of shipping frequently and fixing the occasional mistake instead of shipping slowly and moving at the pace of a snail. Thats assuming "breaking" occasionally is an acceptable risk. Speed does matter, especially with new products. Shipping frequentily often speeds up the feedback loop which speeds up how fast you learn (and how long it takes to build something useful). There's tons of assumptions in both our comments though, and loads of context thats important. Spend more time on the code for life support systems, healthcare, etc. If its just a bunch of rest API's for a crud app with few consequences if you break stuff, then its okay to live life on the edge.
- 2y ago
- notatoad 2y agoi followed this religiously for a month or two, and found it really beneficial. not necessarily for the product i was building (some of those things i shipped probably shouldn't have been) but for my own motivation. however, i expanded my definition to mean not just software features, i included writing a new help doc as "shipping". as long as it was something user-visible and for users in general, and not something for one specific user, it counted.
- tppiotrowski 2y ago> The satisfaction (and mental benefits) of getting something done I used to think that motivation would come to me if I just waited long enough but I now believe that action breeds motivation. You need to do something no matter how small and your motivation will benefit from it.
- PullJosh 2y agoTotally agree. I’ll also add that although I am often tempted to work alone, sharing my work or ideas or output with someone else boosts motivation a lot.
- harwoodjp 2y agoIt’s actually off putting if you check out a potential employer’s GitHub and it’s filled with obsessive committers, obviously working late hours, weekends, holidays, etc.
- seoulmetro 2y agoOr just pretending to work, as is more often the case if there's no empty days.
- imiric 2y agoEven worse: I've seen profiles that run scripts to generate fake commits for the sole purpose of making their GitHub stats look like they're working. Absolutely asinine, and a huge red flag when hiring.
- blt 2y agoThis is only reasonable if internal docs, design notes, research notes, etc. count as shipping.
- collinvandyck76 2y agoI try to do this, but it's often my own dotfiles or other programs I work on. I have a things.app db of different things I want to do for various projects, most of which are not work related. Just committing a new dotfiles script, fixing an existing one, adding a neovim command to automate something, or deploying a container to my vps that i was curious about -- all of that is shipping imho and i get energy from the creative aspect of it.
- zeroq 2y ago|> Your team (and manager) sees you're working That's one of the greatest corporate flaws and my biggest personal failure that I fail, and refuse, to adapt to. When I work in a team I often try to empower lacking teammates by taking a challanging task, do most of the hard work, and give it to somebody else to finish up the easy part and ship the solution. While working on it they have to understand how the solution actually works (for instance by writing tests), and usually they are happy that they can contribute something bigger than they normally could. I don't mind passing the credit, as long as I know that the person actually made some work and understand the code. Meanwhile I offer myself for help or pair programming (although I'm not really a fan of the concept per se) to kickstart someone elses tasks, helping with architecture or just the general approach to the problem. My coworkes like me, it worked wonders when I was running my own company, yet, when working in BigCo I have to constantly explain myself to higher ups that I'm actually present, not slacking and doing my job, because my jira/github profile doesn't shine. One could say I'm a fool by not building up "portfolio" and paving my way to promotion/raise, but I genuinely think that this brings much bigger value in a long run. :)
- cmur 2y agothis comment resonates with me. I think it’s a common mistake for a lot of folks to forget that programming is a creative task, and creative tasks rarely fit into metrics effectively. I have a bad habit at my place of work for not ticketing things out correctly and pushing larger than average commits.
- zeroq 2y agoAt one point I just realized that the work in BigCo has very little to do with actual value, and much more politics and PR. In my last workplace we had two teams working on almost identical applications - large, multistage web forms for insurance. At that time it was a common practice at the office to estimate in units of time. One team was constantly commiting sprints to 300 units and delivering 200, and the other was commiting to 100 and delivering 150. First was quickly disbanded and fired, and the latter was praised for performing beyond expecations.
- 2y ago
- a_petrov 2y agoAs I'm still a coding noob, I don't ship code as much as I want to. However, I make a simple bullet task list and work on it. Tasks are not necessarily related to coding. It could be a task related to image editing. Initially, I was feeling very bad if I can't finish a task within the time I've set for it. Now I don't feel bad if I can't finish that task on time. I perceive it as a micro-iteration of the task. The trick is to iterate further, until the task is done. While rushing to do a task within a specific timeframe, might be productive in the short-term, I don't see it feasible if you push yourself all the time doing it. I imagine it might reflect on the quality of your work and lead to a self-induced burnout. Shipping for the sake of it, in my opinion, might create some false perception of work being done. In my experience, employers tend to reward that behavior. So maybe the question here would be: why are you shipping in first place? To show off, to boost dopamine through gamifying yourself, or to deliver a piece of work you'll be proud of before going to bed.
- wowozizi 2y agoI would say the better version could be "do something meaningful every day".
- golemiprague 2y ago[dead]
- sibeliuss 2y agoMy personal take is to ship a PR every day, even if its something small. Its been a very good practice that has enabled and taught much over the years.
- seoulmetro 2y agoIf a doctor told you to poop every day or eat steak every day would you actually do it or would you consider it excessive? Do you really need those inputs to get outputs that mean something? No. "ship something every day" is dumb because a day is quite a small piece of time for even small pieces of useful inventive work. Even geniuses don't produce all their things in one day, that would be dumb and geniuses know better. "ship something every week" would make sense and leave you open to actual proper work still being done in proper time scales.
- satisfice 2y agoNone of those are good reasons to ship. I mean if you want to ship but you believe that wanting to is not a good enough reason, none of these reasons are any more persuasive. It is a distraction to ship things.
- purple-leafy 2y agoSpell it with me team B U R N O U T
- TeMPOraL 2y agoTotally. Some of us can't afford to stop working for a year or two or however long it takes to properly deal with burnout, so we need metods like this to keep our families from going hungry.
- llmblockchain 2y agoA better expression of this idea is, "No zero days." Do something every day. Maybe it's getting up on time. Maybe it's exercise. Maybe it's a bug fix.
- hollerith 2y ago"zero-day" already has a meaning, and that is not it.
- malux85 2y agoEven still, "no zero days" is a desirable state, so the phrase still holds
- balfirevic 2y agoWTF, zero days are the best days.
- imiric 2y agoOr don't. The older I get, the more I find the obsession with work and hyper productivity to be pointless. This might be good advice for young people starting their careers, but even then I would advise prioritizing real life goals over work. Don't buy into the entrepreneur ideals you see on social media. People can be successful without working all day, everyday. Take rests, prioritize your health, and enjoy life first. Work is secondary.
- Dachande663 2y agoThis reflects my own changes. Me at 25 and me at 35 are completely different when it comes to code. I'd rather finish early, spend time with family, and come back tomorrow with a better solution than keep on hammering away on an overnighter to try and hit some arbitrary metric.
- zeroq 2y agoI don't blog, but blogging is something I carry on my todo list for years. Knowing how important is the cadance to keeping the public engaged I always planned to post at most one post per month, and keeping a steady backlog of articles for at least 6 months in case I won't be able to come up with something new or simply not having time to add something new.
- hxii 2y agoThese, to me, seem like highly invalid reasons to do something and will definitely backfire. Ship incomplete features just so your manager sees you’re working? Sounds like a toxic work environment to me. Fill up your GitHub profile with colors? Seems like a superficial display of smoke and mirrors for those who value such a thing, not for what’s actually beneath the surface of it. I have the “gift” of ADHD, and I’m quite content with learning something, solving a bug, finding something that can help my team, survive through meetings or just close up tickets every day, without the added stress or cognitive load that I have to ship something besides my usual tasks. Strive for progress. Learn by doing. But it’s also fine if you don’t on some days. Don’t burn out. Not worth it.
- d--b 2y agoBreak something every day.
- dailykoder 2y ago>Your git commit streak looks good Do people unironically care about this shit? What the fuck man. Stop it. Now.
- MaxLeiter 2y agoDo I care? No Does my manager? No, but what if they leave and I have a new manager right before performance reviews? I’d hope they don’t care about it, but I assume they’ll see it. May as well make it look nice. Does the random recruiter looking at your resume care? At some point in your career you might be able to afford to not care about this. Most people don’t have that luxury.
- dailykoder 2y agoI wouldn't want to work for a company where the manager cares about green pixels tbh. But maybe I have that luxury you are talking about, I don't know
- MaxLeiter 2y agoMe neither. But companies (and people) aren’t perfect. Your situation can change any day.
- Tade0 2y agoPretty sure the first thing that random recruiter is going to do is go "wow, this guy worked at Vercel. Can we even afford him?" I get that the market is pretty tight at the moment but strong CV positions have always trumped proverbial internet points.
- asp_hornet 2y agoIf people invested as much time improving their abilities as they did gaming the system, they might find the problem solves itself.
- TeMPOraL 2y ago
- __0x01 2y agoMy final draft is often completely different to my first draft, which I wouldn’t want to ship. Most of the time I only start to see the real shape of the solution after a few days of work. Those iterations each day have value as they propel me toward a solution. But it’s more of an internal type of shipping. I’m shipping to myself.
- Tade0 2y agoSame here. Every damn time it's only my third idea that is sufficiently correct and maintainable. Unfortunately that means I need to sit and wait before it comes to me. I could go the analytical road and write down all the requirements, edge cases and just tick them off one bu one but that's throughly exhausting. At work more often than not I settle on the second iteration, but that is still slow by some people's standards and incurs tech debt.
- fefe23 2y agoI find the reasons why he's advocating that interesting. It's got for his mental health, it looks good to recruiters, it makes the work more incremental (wat?), and it gives him a dopamine hit. Notably absent are reasons that would benefit the project or product. To me checking something in every day does not look impressive. It looks like someone had nothing to do worth talking about and went around the neighborhood cutting off leaves from the hedges. Causing a lot of transactions is a great way to stop people assigning you actual work. I suspect OP forgot to mention that reason. You already look busy without actually being busy. It's like managers scheduling useless meetings. They want to look busy so nobody gives them actual work to make them actually busy.
- TeMPOraL 2y ago"Mental health", motivation ("dopamine hit") and even incremental work all benefit the project, by helping them work consistently, and keep them focused - as opposed to coasting and doing not much, and/or getting burned out further. Some people have large inertia when it comes to doing things with delayed gratification (if at all), and ideas like this help.
- liampulles 2y agoNo, focus on pushing the right solution. If you hold off pushing code that works but does not solve the correct (actual) problem, that's good. Tracking commit frequency is one step away from tracking lines of code. If this is really the metric of performance, then you are a cog. My take would be: plan upfront consistently. What do you need to do now to unblock the work later? Does the solution make sense? Is there something more useful? Think lots, talk lots, commit sometimes.
- mvdtnz 2y agoIn my view there's almost no excuse for going an entire 8 hour work day without something to show for it.
- pjd7 2y agoLaughs at a PostgreSQL schema change backfill jobs that need a few days to complete on i4i.16xlarge. Or that time I spent $120k USD on testing some upgrade paths on a dataset in elasticsearch from version 2.4 -> 5 -> 6 -> 7 that took about 5-6 days runtime on imports per upgrade step.
- kwar13 2y agoAre we talking about writing code or this is shoveling content on tiktok?
- asp_hornet 2y agoIt truly is indistinguishable at this point. Its all posturing and optics.
- szundi 2y agoOf course the title is a bit overachiever, but I see how toxic is when this is not the goal There should be exceptions though
- kristjank 2y agoI noticed the same rush when consistently journalling and keeping track of my habits. There is something commit-like about checking in on yourself, even if it's not even remotely code-related. I also think it builds a well-maintained framework that you can attach other (especially time management) chores to. (Well, I'm already at my desk for journalling, let's also write down other tasks I need to do today/tomorrow and get started with the first one) I'm not quite sure whether it's really important to keep your github bathroom wall green, but it builds a quite useful habit imo.
- dailykoder 2y agoI think what you are pointing out is really really important. All of this "get SOME work done every day" is really really good, but (atleast in my experience) you have to separate your feelings from likes or stars on social media. Do it for yourself. Do it because you like to do it. Do it because you can develop your inner strength with it. Sure, github stars and a great commit history might give you a dopamine rush, but so does learning to appreciate the struggle and working through it. It doesn't matter what anybody else thinks about it. Over the past year/months I built a RISC-V CPU in VHDL. It can barely do anything and if I show it to most people they'd probably think it's super boring. But I love it. I love to work on it. I love to let the LEDs blink the way I wanted to, because I achieved to implement some small thing in hardware and see that it works (imagine my dopamine rush the first time it successfully ran gcc-generated code and blinked an LED on actual hardware. That's boring, innit? But I loved it.). It's often a really hard struggle, because the progress is so little, but I learned to force myself to do it, even if I don't want to/don't feel like it, because I know it will bring me joy in the end, even if I hate it for days/weeks. I sitll do it. Same with journaling, as you said. It's all about the habits. Find your habit and do it.
- TeMPOraL 2y agoFor some of us, setting habits is hard-to-impossible. Finding a source of "a dopamine rush" that's correlated with the work at hand is how we get by.
- securam 2y agoIn the same fashion: There are around 8 hours in a minimal work day. If if you're not shipping every hour you might want to reconsider your career.
- swader999 2y agoOur customers want release notes and time to test features so we have a monthly cadence.
- kgeist 2y agoOur team is slowing down instead. The quality of the code has become so poor, full of bugs and what not, that we have decided to slow down and instead invest in quality. We currently spend so much time fixing bugs and refactoring spaghetti code to shoehorn the next shiny new feature, that the amount of actually useful features we deliver has decreased. Half-assed features which work on paper but totally unusable for users because we're still at MVP where nothing really works but the PM is happy because he can report to CEO we shipped another cool feature. It's actually quite demotivating to learn that no user actually uses the feature you developed because it's total crap. Yes, we shipped often, but we shipped crap. Now we focus on writing more tests and doing more design reviews.
- einpoklum 2y agoThat blog post is an example of insisting on posting something on your blog every day.
- Tao3300 2y ago> I'm sure people like recruiters look at GitHub profiles, and an empty page isn't a great look. What recruiter is going to see my company's private GitHub repos?
- erik_seaberg 2y agoThis. Since 2008 I've worked at one company using a Perforce derivative and three others using Gitolite or GitLab privately, but never GitHub. Maybe commit history matters to recruiters, but I've been on a lot of interview debriefs (discussing whom to hire) and it never came up.
- vertis 2y agoThere are a lot of people here that seem to be taking the view of "Oh no, it's a toxic to do this. You shouldn't work on the weekend. Why are you doing this just to get attention for your GitHub profile, or what your managers see?" However, one concept that comes up in research like the book Atomic Habits, is that there's a much better reason to commit code frequently - quantity leads to quality. There's a famous story from the book Art & Fear about a university pottery class. The lecturer decided to grade half the class on the number of pots they produced, and the other half on the quality of a single pot. It turned out that the half of the class focused on quantity ended up producing higher quality pots over time. This is because the group that only had to produce one pot spent the whole time overthinking it rather than actually practicing and mastering their craft. I think this is a much better reason to be committing code frequently and working on your skills every day. We're in an environment where it's a challenging hiring market, so it's important to set yourself apart from others within the industry. Some people have turned their nose up against "colouring in" their GitHub profile, but there are a number of psychological effects like "don't break the chain" that can be helpful in consistently putting in the effort. Some commenters have mentioned tasks that simply take a long time, but I don't think the author of the original blog post was arguing against that. Rather, he's advocating that you should be continuously working on and improving your abilities.
- cantSpellSober 2y ago> contribute something: docs, triage, whatever > whatever you work on doesn't need to "ship to prod" The author walked that back pretty quickly. My understanding is "ship to prod" is redundant, "shipping" means "ship to end-users (in prod)". I guess "do your job on the days you're expected to" isn't great clickbait.
- BerthaDouglas34 2y ago[dead]
- deleted 2y ago[deleted]
- nicbou 2y agoThis doesn't make sense to me. Sometimes I need to sit down with a problem for a few days before I can even get to writing code. There is nothing to ship because I'm still wrapping my head around the business logic. On other days I get nothing done because the most productive thing I can do is rest, or tend to personal matters. That doesn't mesh well with hustle culture, but it contributes to my personal happiness and long term productivity.
- hollerith 2y agoI think some developers cannot create and refine a mental model of the finished product well enough for it to be worth it for them to spend days doing it. Also, many managers perceive only writing code as worthwhile.
- lee 2y agoI've experienced being on teams where PRs and commits happen infrequently, resulting in massive PRs and merges/rebases that constantly have conflicts. The spirit of pushing small incremental changes on a team really helps address that. This can be sustainable if everyone on the team realizes that every PR is expected to be small and incremental. It shouldn't be a large push every time.
- elmo_on_fire 2y agomamba mentality