markdown guide

Writing code.

Frequently adding more code to a project is exactly the wrong way to solve a problem.

No code solutions should be celebrated more often in my opinion.


GitHub logo kelseyhightower / nocode

The best way to write secure and reliable applications. Write nothing; deploy nowhere.

No Code

No code is the best way to write secure and reliable applications. Write nothing; deploy nowhere.

Getting Started

Start by not writing any code.

This is just an example application, but imagine it doing anything you want. Adding new features is easy too:

The possibilities are endless.

Building the Application

Now that you have not done anything it's time to build your application:

Yep. That's it. You should see the following output:


While you still have not done anything it's time to deploy your application. By running the following command you can deploy your application absolutely nowhere.

It's that simple. And when it comes time to scale the application, all you have to do is:

I know right?


You don't.


That looks complicated, I don't have time to learn anooootttthhhheeeerrrr framework


BTW, Charles, I have seen an opinion for the most secured system:
Unplugged from electricity!


Weeks of coding can save hours of planning - Wise Developer


"The sooner you start to code, the longer the program will take." - Roy Carlson


Anybody who spends too much time here is being less productive than they could be. I agree πŸ˜„

Everything in moderation.



It has certainly used up a lot of free time recently. But I am also learning things so I guess it is productive still!


The biggest/most frequent might be: checking emails and other notifications (slack precisely)


Scrolling social media! It's so easy to lose track of time and think you've spent your day being productive, only to realize 2 hours was spent on looking at cats and 30mins was spent on a feature (but the brain tricks you to think the opposite!) Also the people who complain they're the busiest seem to be the most active on social media.

I'm guilty of this too and I'm considering taking a week or two long "social media vacation" soon.


I read recently that if you stare at your phone while "on a break", it negates most of the restorative qualities of that break.

This makes perfect sense to me, but is hard to pull off. That little rectangle is addictive af. Social media can be really awful for our collective mental health.


It totally can be - I've noticed I've found myself being more short with my partner lately and have been wondering if the root cause could be all the social media consumption. I've heard it can affect mood along with other mental health.


I've been using an app called Freedom on Android which blocks my phone from certain apps I choose for a given time period. If I try to go into an app during the time I set then it just kicks me out. If I want to stop the time period after it's started I have to phone their tech support so I don't break it "just this once".

I've found it to be pretty awesome so far.


That is amazing, I tried a similar app before but you could easily go into settings and shut it off so it never panned out for me.

Take a look and see what you think. I was so impressed I took out a year subscription with it.

I'll look into it, but I'm more a "cold turkey" kind of person so I may just end up logging out of all of my social media for a couple of weeks to make the "barrier to entry" a little higher. Thanks for the recommendation, Dan!

I did it when changing phone. Still only logged to whatsapp and messanger. Thats one of best things.


Unpopular opinion is the pomodoro timer technique. It does more to distract me than anything. πŸ€·β€β™‚οΈ


I tend to be someone who can focus intensely for a few hours before getting exhausted, but I'll accidentally find another task to do if I take breaks every half hour.

An extended version of Pomodoro tends to work better for me.


This makes sense to me. I work in multiple hour bursts much better so maybe an extended version of pomodoro is a good idea for me to try. πŸ€”


I agree with this. I found that the short breaks in Pomodoro were interrupting focused work and it was too stressful to try to do anything during that short break because of the work timer coming up. I know you can adjust the times in Pomodoro, but there didn't seem to be an effective combination for me.

I found the better way is to have set intervals during the day to check email/Slack (as opposed to having them open at all times) and times take a break. Not frequent and not in cycles, but just 3-4 reminders on a calendar. There tend to be times of day where emails pile up or you aren't feeling development, so it feels more natural to set reminders for when those times typically arise and step back from focused work.


This is interesting. I've found it to be so helpful. I think it depends on your work flow and how your concentration cycles go.


It helps me too, but only at certain times. I definitely don't exclusively use it because sometimes I prefer a more free-form style of work time management.

I dont use it religiously, definitely depends on how adhd I'm feeling that particular day.


For me, 25 minute chunks of time feel way too short. I prefer to do 45 minute bursts of focused work a then a short break.


Meetings without a clear purpose or end goal. I think that these are "feel good" meetings that sometimes have a place, but should not be 100% of all meetings. These are the meetings that stray off the path of being productive into venting about the current state of something or exploring "it would be great if..." scenarios that are unreasonable to do. Everyone feels good because they get to talk about these things, then nothing happens from that discussion. If the topic is too broad, that is all that really can be done.

I think the way to avoid it is:

  • If you are calling a meeting, create an agenda with a clear purpose and product (could be a key decision or follow up tasks/assignees) that you want to leave the meeting with and send it out ahead of time.
    • If you aren't sure, you can also survey the people who will be in the meeting to see what they would like to get out of it and create the agenda based on that.
  • Review the agenda at the meeting.
  • Ensure that product is met and create any follow-up action items.

Meeting agenda ftw.
And someone with the power/authority/cohones to enforce it. Whether it's a "producer"-type or tech lead that plays the "bad cop" here, once the agenda is finalized at least one person in the room needs to be able to keep it. Follow up meetings are a sane way to truncate tangents, convoluted discussion, etc.


Worrying about productivity. Not trying to be snarky, but you never know what the future has in store for you. When I started playing around with Ruby ~2003/04, that probably wasn't a productive activity at that point in time, but it did pay off from 2008 or so onward when Rails really took off. Likewise, I wasted countless hours on Twitter/blogs/whatever, but I also made some actual friends this way, who I've met in person, visited at their homes in other countries etc. I'm not a big fan of over-optimizing ones time, it can have similar effects to an echo chamber. Explore, you may find unexpected things that are much better for you in the long run than optimizing every last minute for "productivity".


Good point! There is something to be said for doing things for the hell of it, only to find the hugely beneficial later.


Or meetings with more than 5 people.
Or meetings without clearly defined agendas or goals.


I’m learning to use React-Gatsby and using it to re-build my website. During research, I found the book The Great Gatsby for $0 on kindle. I’m not 100% sure if reading it counts or not as research, but it’s a really fun book so far.


Tidying up. There's a productive and an unproductive way to do this.

This unproductive way consists in making piles and putting stuff out of sight, but not actually dealing with it.

The productive way is like a triage and results in throwing away and getting rid up a lot of unproductive stuff.

The difference is the second way unburdens your mind whereas the first just pushes the burden under the proverbial rug, but doesn't actually rid you of it.


Trying to be productive instead of trying to be effective.
Learn the difference:
If you can resolve more jira tickets in a single day, you are being more productive.
If you learn to choose what are the right things to work on, that will have the biggest impact on your project, you are being effective.
It's mostly about getting into the habit of asking "why is this thing important?"


Crunch weeks (longer than 40 hour work weeks) for many weeks. Check out this great presentation about the 8 productivity experiments you don't need to replicate (not my presentation) Great visualizations, graphs you can share with your peers and management to show the loss of productivity. We've got over 100 years of experiments and we keep cycling through the cult of >40 hour work weeks for getting stuff done.


Packaging up code for reuse, when you don't have any current plans to reuse it. It takes effort to just solve your problem. But then it takes a separate effort to take that solution and package it for reuse. If the code never gets reused, then the latter is wasted effort.


(upfront) Developing (work) procedures. The way to work should evolve organically. When parts remain constant you document them as a work procedure.


Traffic light (red,yellow,green) project status reporting.


This might or not be controversial..... stand-ups.

Sometimes they are great and quite useful. But sometimes they suffer from at least 1 of the following:

1) I find people forget they don't need to contribute if they have nothing to say.

2) Some teams get worried if you have nothing to say but there might be a perfectly good reason for this.

3) Sometimes people forget that you don't have to explain everything you did. Bathroom breaks, coffee chats etc don't need to be part of the stand-up. Yes this has happened!

4) Sometimes they have a tendency to wander. You might have two people chat for ages about an issue but it only affects them not the whole team. Really an offline chat with just them would mean the other team members are productive while they chat it out.


Not taking frequent breaks to stand up. It took me quite some persuasion to get my boss to understand that me standing up to stretch and clear my head once an hour is actually improving my productivity! It helps me stay focussed throughout the day instead of hitting a wall at 2:30PM after which I just can't get anything done.


Pointing tickets way before you've scoped out what all is involved in the task, just so the board looks shiny πŸ€·β€β™€οΈ


In a corporate context, I think dealing with/triaging one's inbox.


Writing tests that aren't meaningful or less meaningful than harder ones just to up the code coverage.


I would need a definition of "productivity" to answer, but with a definition, the answer would be self-evident.


To-do lists, to some degree.

I am a fan of bullet journaling. I also do not get how overly elaborate, Instagram-worthy to-do lists or notes help with productivity.


Multi-tasking πŸ€·β€β™‚οΈ

Focusing on only one task is the key. "The One Thing" is a good book that touches the topic :)


Reading just a documentation without implementing it, seriously even you read it day & night you still gonna forget everything #cmiiw


I've found todo lists are an easy trap for time wasting. If you spend more time organizing your todo list than doing actual work, you're probably not using them effectively.


I think that sometimes people jump straight into creating a lot of pretty useless artefacts/documents like timetables and such. Also meetings, meetings, meetings.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct


Classic DEV Post from Feb 22

What's your Wifi's name?

Tell me the funniest ones you've seen!

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.