loading...

Starting My 100 Days!

approachingapathy profile image Ephriam Henderson ・2 min read

What's the hardest thing for an new developer to do? For me it's simply coding. Not the logic. Not the syntax. Not debugging. Those things are difficult to be sure, but the hardest part is simply finding something to build and sticking with it.

When I code for myself I often find myself tinkering with new frameworks and tools rather than actually building a project. I start building then discover something new, find myself distracted, and forget about the original project.

Nobody:
Not a single soul:
Me:

"I wonder if I can use GraphQl for this..."

"Gatsby seems cool..."

"This looks looks perfect for what I want to build!"

⬆ This... Is not useful. Tinkering can be fun, it can also be unhelpful and demotivating. When you tinker shallowly you don't tend to encounter the challenges that make you a better developer. You don't really gain much skill in the tools you're trying to learn. When you're not producing "finished" products you lose interest in coding itself.

100 Days

That's why I'm starting the 100 days of code challenge. For the next hundred days I will code for at least one hour each day. The goal of my coding will be building projects for my portfolio from start to finish. In order to stay focused and avoid procrastiswitching (switching technologies mid-development to procrastinate), I'm making some rules for myself.

Rules

  1. I must code for at least an hour each day. Code during work hours, or as work product does not count.

  2. Once coding has begun, the stack is set in stone. If I start a full-stack Express app that's what I'll make. If I start a Apollo backend with a React front-end, I have to see it to completion. I can't change the base technologies of the project halfway through.

  3. No switching between projects. The hour only counts for time spent on the current project. I can spend time above the hour anyway I want. I can't work on one project one day and a different one the next.

  4. I have to write a post everyday describing what I did for the day, what I learned, etc.

The First Project

The First project will be an app to keep D&D character sheets.

Stack

I'll be using Node.js and building a full-stack Express app with MongoDB.

Requirements

Minimum Viable

  • [ ] Present a D&D Character Sheet
    • [ ] The sheet should display all the same info as the first page of the 5e Official sheet.
  • [ ] Users should be able to log in and create player-characters.
  • [ ] Users should be able to edit character sheets.
  • [ ] Users should be able to organize character sheets into groups (parties/tables)
  • [ ] Sheets should auto calculate basic stats like ability modifiers.
    • [ ] Support Proficiency Bonuses

Cake

  • [ ] Extend character creation to allow the user to use any of the three common stat gen methods.
    • [ ] Point Buy
    • [ ] Standard Array
    • [ ] Roll
  • [ ] Extend the character sheet to all the info in the 5e official sheet.
  • [ ] Allow for image uploads for character portraits.
  • [ ] Allow for extended descriptions/backstories.
    • [ ] Characters should have nice full page backstories.
    • [ ] Preferably use a markdown editor.

Posted on by:

approachingapathy profile

Ephriam Henderson

@approachingapathy

I'm a Full-Stack Developer and recent Bootcamp Graduate. I'm most experienced with JavaScript, but I'm a python enthusiast and an all-around nerd. When I'm not coding I love anime, sci-fi, d&d.

Discussion

markdown guide
 

Hey Ephriam. Good for you for deciding to commit.

What are you doing to hold yourself accountable? Writing about it each day is great, but don't forget that it's another task, more work, and therefore another point of failure.

I would strongly recommend finding someone you trust and respect and giving them your brief and $100, explaining that you get back your money only if you fulfil the brief as described and on time.

In my experience, those without skin in the game will find a hundred (totally legitimate, seemingly reasonable) excuses not to finish, no matter how amped up they started.

 

Thanks for the advice! That's something I'll have to consider. Donating the money to something I dislike may be more motivating for me than giving my friend some money. For now the public nature of the commitment is my accountability.

 

procrastiswitching describes my experiences perfectly, was also thinking of doing #100daysofcode, will definitely follow your lead. My biggest problem is always accountability though.