tl;dr - Coder Night is to practice development. You write code in pairs or individually and submit the code to me (joshsz @ gmail.com). I post an anonymized repo and you have a few days to look at all the solutions before a friendly night of code review.
The Problem
DNA Encoding! (see DNA.md
below)
Submissions Due
Tuesday October 11th at 11:59pm.
Coder Night
Coder Night is a chance to practice your coding skills outside your work environment or help get started if you are just learning. Coder Night provides an ego-free environment to perform deliberate coding practice and to receive critical but judgement free feedback on your progress.
Coder Night welcomes people of all skill levels from "I just wrote my first line of code" to "I have invented my own language"
Please RSVP if you intend on submitting code and participating in the meetup.
How does it work?
We will send out a homework statement a couple weeks before the meeting. You'll complete the assignment and submit your code anonymously (you may submit more than one entry). A few days before the meeting we'll start sharing solutions for everyone to read and review. During the meeting, the group will review and provide feedback for the posted solutions. The purpose of the meeting is to provide feedback to those who submitted code.
Your submission should also state what you are trying to achieve with the solution provided. Examples include:
- Just learning to code so I just want this to WORK.
- Learning Ruby, practicing writing with the "Ruby style"
- Trying "everything is an object"
- Golfing (fewest possible number of characters/lines) attempt
- 100% Test Driven (include the tests)
If you consider yourself an experienced developer and you raced through the assignment, you are "doin' it wrong" and should find an area to focus on. You should attempt to solve these assignments using techniques that are outside of your comfort zone. For example, perhaps try "TDD as if you meant it" or try to avoid using primitives (eschew integers for objects).
We will publish a full anonymized catalog of submissions with enough time to review them prior to the meetup.
Please do not just copy/paste a solution from the internet. That's definitely not the point of this meetup! :)
If you get stuck please join us in the DCTech Slack in the #ruby
channel. Someone will definitely love to help you figure it out!
The Meetup
What the meeting is:
- A place to get honest, critical, and helpful feedback on your code either anonymously or face-to-face
- A place to ask questions about the positive and negative qualities of many ways to solve the same problem (I guarantee there will be more ways than you'd expect)
- A chance to identify areas of problem solving, coding and Ruby you'd like to improve on. (and perhaps focus on for the next meeting)
- A great chance to help others.
What the meeting is NOT:
- Grandstanding ("Look at MY code, I'm the king of the world") -- I'll kick you out.
- Pick on the noob ("ZOMG, 200 lines, I could totally do that in 6!") -- Again, I'll kick you out
A few meetings rules:
- Please be sure to have reviewed solutions and be prepared to speak about them. We are not going to read each line of each submission as a group. The meeting only works if you have prepared notes.
- You can be critical, but you must be kind. Otherwise, yeah, you got it, I'll kick you out.
- You must be willing to follow up with people who want to ask questions or for additional detail regarding your comments.
- Please don't ask "Who wrote this anonymous solution?" -- Anonymity helps people feel safe. You can reveal yourself if you like but it's not required.
I understand people can be self-conscious of their code. It sometimes feels like an extension of yourself and you don't want to be criticized by others. This is why the anonymous option and "be critical but kind" is so important to the format of this event.
Finally, this has been stolen/adapted from Arlington Ruby, who stole/adapted it from Gavin and the folks from Tampa Ruby. Thanks for being awesome!