Reflecting on #CaaSH: Looking Back on the First Time I Helped to Organize a Hackathon

It has now been a week since CaaSH, the City as a Service Hackathon kicked off. I had such an exhilarating time, and won’t soon forget the first hackathon I helped organize. From the organizing team, to all the new project teams, it has been amazing to see these collaborative groups come together. I am very excited to see what the teams have to show in a couple weeks, after a month long sprint. This will focused on my experience with organizing the event-so far.

My last post was an attempt to let people know I was still active, dropping a line to touch in. These last couple months have been a lot of fun, albeit at the expense of many items on my to-do list. But, that’s one of the reasons I’d do it again in a heartbeat.

My original interest in joining the hackathon planning group was to offer help the day of. To arrive early to move things, get set up and help check people in. Well… I did do that. But, I ended up doing more. A lot more.

On a daily basis, my agenda had time critical actions. It became a second job for me, forcing me to learn how to effectively manage my time both at work and at home. (My wife may disagree, but I’m getting better!) My time as a teacher helped with this, but that was one job. This project felt as if I had two jobs. Also, teaching was more of an individual endeavor, whereas CaaSH was a team project.

My office utilizes shared drives and shared documents, but we do not use much else for collaboration software. We use SourceTree for Git, but my role doesn’t offer me a chance to make commits often. Working with CaaSh opened my eyes to Slack, and wow is it fun. I’ve used Slack some with my other Code for Philly project, Leverage, but much of the hackathon planning happened through our dedicated Slack channel. The group has a great sense of humor, and I learned the fun aspects of Slack like custom emojis and giphy posts. But I also learned about polls and how to archive important posts and integrate tools.

Slack is fun and incredibly useful, but there were other tools used that aren’t as snazzy. Google Docs/Hangouts, Trello, and Uber Conference allowed the team to share information in real time and meet without having to be in the same room.  Far quicker and in a more organized fashion than had we relied on emails or in person meetings. Many of the organizers met in real life for the first time the day of the event.

Making the logo was an exercise in patient iteration. As I mentioned before, being an art teacher, especially at multiple schools at once, much of what I did felt like it was working in isolation. I would do what I could to help with overall climate and single school objectives, but my classroom was my classroom. It was the only one that was an art room. Planning the hackathon was a great team project. I was able to feel as part of a team in a professional manner more so than any other time I can remember. Every time I submitted a new iteration of the logo design, I felt that I needed the team feedback more than I needed to be finished. What I was doing would represent the project as a whole, and by extension, the people who were working so hard to help plan. I needed to hear their voices for me to feel finished. No matter how good the design might be, if they didn’t approve, it didn’t matter.

I guess you can see how much of an impact this team approach left on me. While most of this post has been about what I learned, this project was about the team’s efforts. Dawn McDougall, the Executive Director of Code for Philly set the tone early. Dawn has been organizing hackathons for Code for Philly nearly by herself, so this was a chance to delegate one for the first time. She made sure to celebrate each person. She also allowed some autonomy for taking the lead on anything someone wanted to work on. That isn’t how most companies work-at least not those that where I’ve worked. The fact that I had a chance to explore areas that I might find interesting was an invaluable experience. Each person on the team contributed based on their interests and skills. Not based on job title. As someone who often gets frustrated with bureaucratic workflows, this was a breath of fresh air.

There were mistakes along the way. Nothing I can think of as egregious. More like learning opportunities. I did end up doing what I originally set out to do, but am so thankful for the chance to do so much more. I had no intention of creating a logo, taking the lead on social media, or running a twitter chat. Both personal and team success from this event means I’ll be looking to work on another hackathon soon. Or, maybe I already am…

Reflecting on #CaaSH: Looking Back on the First Time I Helped to Organize a Hackathon

Catching my breath: Comments about work that is yet to be seen

I know I haven’t updated this in a while. The activity here doesn’t match the work I’ve been doing.

It’s strange to look back on old posts and see my trepidation at attending my first meet up and first Hackathon. To look back to that first step out into the real world of coding, and socializing with people that know much more than I do.  I’m now engrossed with volunteer projects that have been occupying much of my free time, and maybe some of my not free time.

Continuing my work on the Leverage project, I’ve added two other projects from Code for Philly to sharpen my skills with. One is in a fertile stage that I’ll keep under wraps. The other is the City as a Service Hackathon (#Caash)

Risking the whitest pun available, #Caash has been ruling everything around me. (Cream, get the money!)

Initially, I just wanted to offer my time to help with day of activities. Leverage will be working during it, but I figured I’d show up early to check people in, get to know a few folks to network with, then get started on the Leverage work. But then the first conference call happened.

My intentions this year was to focus on coding. Not design. I’m not the best designer, but those skills are much sharper than my HTML/CSS skills, let alone any other language. Because of this, it feels strange to me to make the hackathon logo and other promotional materials. Somehow I’ve become the communications team leader of sorts. What happened to sticking to coding? Well, no one else seemed to want to do it. I have the knowledge base, so why not contribute any way I can?

So here I am. About 9 months into my new Year’s Resolution to get better at coding. I don’t have much to show, but I know I’ve learned a lot so far. And one of the best parts: I feel like I found a place that I can contribute, feel supported, and can gain incredible job experience. And, now I’m contemplating marketing positions as a viable career path.

This blog may seem inactive, but I haven’t been.

Catching my breath: Comments about work that is yet to be seen

Resources for new coders

I want this post to act as an incomplete list of resources that are helpful to new coders. It is not exhaustive for many reasons, one of which is because this does not come from research. I’ve found each of these resources in different ways. Either stumbling on them somehow or by word of mouth. Each of the resources to follow I have found helpful. It is my hope that by organizing them here, someone might find something helpful.

CS50: Harvard University Introduction to Computer Science. The course is available online for free. You can enroll through edX.org, or watch the lectures from each week. I found this helpful because of the way I’ve learned computers. Computers have always been around me, and I’ve learned from my own experiences. But this way of picking up information can often lead to gaps in knowledge. This course was helpful in filling gaps in my knowledge of how it all works together. The instructor David Malan is entertaining and easy to follow, though he does move fast. The Shorts are helpful supplementary videos to the lectures. If you don’t know what is happening when a website is loaded from the server, this course could be helpful for you.

CodePen.io: If you like tearing things open to see how they work, this site is for you. If you want to see how code works by comparing the code and the end result, this site is also for you.

CodePen almost harkens back to an old HTML standard of frames. Three frames along the top house code for HTML, CSS, and JavaScript. Below is the pen, a frame that displays the code from above. Change the code above, see how it affects the display and behavior below. You can fork other people’s work to their code.

CodeNewbie.org: If you’re new to coding and don’t know about CodeNewbie, it is an amazing resource. CodeNewbie is a community that nurtures its participants to help from feeling overwhelmed. They have a message board, the podcasts, and the weekly Twitter chat. Here is a recent example of on of their Twitter Chat questions. The topic is like the theme of this blog post: https://twitter.com/codenewbies/status/722962585780264964

Slack: it’s a chat room styled communication platform. Use their website or download their app. Each Slack team has channels, which are themes. CodeNewbie has a Slack team, with a channel for anything you’re looking for. These are great places to actively take part by asking questions or passively by reading along with the discussions.

Slack is something you might have to get invited to. As in the case for CodeNewbies. But, it’s an automated process. Follow the directions on their site, and you’ll be in shortly.

CodeCademy: Free tutorials inside their IDE help guide you through specific programming languages. Learn Python, Ruby, Command Line Git, or any other of their large selection. You can start with their simple HTML and CSS course, or learn programming through JavaScript. There’s a premium option, but if you’re focused, you most likely won’t need it.

Code for Philly: This is a local group that is great of coders to develop skills. As they say, it’s a place to go from level 1 to level 2. They don’t offer classes, but support and opportunities to meet other coders. They have big on civic minded projects, and have hackathons built around this concept. If you are in the Philadelphia area, you should check them out.  They also have Slack.

Meetup.com: This has been invaluable for me. Networking and meeting new people can be scary, but it can be easier when  you share common interests. Through meetup.com, I found Code for Philly, which is a great resource for me. I’ve also found other meet ups that have helpful talks. I found it helpful to  see what other people are doing. I even signed up for a hackathon because of discussions I had at meet ups.

I implore you to go out and meet coders nearby. They have resources like these, but probably better. Many of the resources I’m listing here came from suggestions from people I’ve met through meet ups. As I stated in the beginning, this list is not extensive. A list made by someone researching coding resources would have more links. Over the last couple months, I’ve found myself returning to these resources for help. Because of this, I wanted to share.
If you have any extra places, please share below in the comments.

Resources for new coders

Hack for Democracy

Code for Philly hosted  Apps for Philly Democracy Hackathon: 2016 this past weekend. This weekend event started on a Friday night. Of course, for me, this event started well before Friday. This blog was started to highlight my intent to get serious about coding as my new year’s resolution. Now, three and a half months in, this was to be a great test to my gauge new skills.

Friday night was the kick off. A time for everyone who had a stake in the outcome to come together and brainstorm. In the caucus room of City Hall were politicians, coders,  and creative citizens. Together we offered ideas for how technology can help citizens of a democracy. Many concerns centered around access to information and connection to community resources. These concerns came with solutions using technology. Ideas were written on large paper. Then, people could add  post its for comments, and star stickers for ideas that excited them. Together, we drafted ideas that would become the pool of ideas to work on the next day.

Friday night was easy for me. I added to some ideas, liked others, and discussed a few with the originators. I sought out advice for preparing myself for my first hackathon. I talked to  some people I’ve been seeing at various meet ups. I saw this whole event as a gauge. Friday was a barometer, which gave me a sense I was where I needed to be developmentally.

Saturday was when the gardening began with the seeds from Friday night’s ideas planted. Groups of strangers with like minded interests convened around projects that grabbed their attention. Conversations began, introductions made, and laptops plugged in. At a rapid pace, parameters were set up, repositories created, and data accessed. The plants were starting to grow.

This first real day was mostly a blur to me. I was anxious to get started and anxious to prove to myself that I developed enough to contribute. I sat in awe at the conversations these strangers had. Periodically I understood what they were saying. The longer the breaks in between, the more I felt out of place. I was not prepared. I answered “Do you know…” with “… no.” Too often. R DBs,Postgres, Django, Angular: a list of totally unfamiliar to somewhat familiar terms. I feared that my worst fear of the weekend was coming true.

There were discussions that had little to do with coding that I really enjoyed, though. Who do we see utilizing this information? Who do we want to use this information? How do we present this information to them? How do we create access to the information for every stakeholder? The confines of time met with the scope of these questions, and we started to drive down to what minimum viable product would look like. These questions drove my focus of how to present this data. The answers that started to formulated in my head met with a familiar sense of ability. I finally felt like my skills were ready to contribute.

The first task I really had was how to take data and present it real time with charts on a website or app platform? Old nightmares of Probability and Statistics came back to haunt me. Suddenly, I was back in my freshman year data analysis class. Thankfully, opinions about graph styles and chart decisions were offered up to allow me to act like I knew what I was looking for.

Then came the point that my neurosis met with my ADHD. Fear of failure made me lose focus, so I got up to take a walk. Googling on my phone as I walked around, I found a list of charting services. I found one that made sense to me. Google Charts! My first real contribution. I even got to link it in the github and slack channel. First taste of success!

The time from when I researched for layout ideas for the  prototype was the most blurry time of the weekend. It also was the only time I felt like I truly contributed within the coding aspect of this project.  But, in the span of the weekend work, I did feel fairly inadequate comparing where I hoped I was to where I am. Having that measuring stick is a very important part of development, so I cherished this part most on a personal level. It is exactly what I wanted for myself from this experience.

Saturday came to an end with a sense of relief from being able to push my files to our GitHub. This was thanks to so small contribution to a team member, who patiently worked with me through the command line. After the final push, I retreated home to allow my brain to relax.

Sunday morning was the mad dash, if you want to call five hours of fine tuning a dash. It began as awkward introductions, now culminating into a presentation out our”minimum viable project.” We just needed to added our finishing touches. But, I found a problem with the charting technology we were planning on using. It might have difficulty displaying more than one chart per page. I created one page with a series of anchor tags for the sake of our MVP, so this wouldn’t just be a small problem. We would have to rethink our visualization model.

Thanks to my team members, this draw back was handled in a way that made me feel better about my failed suggestion . They rolled with the change like champs. I was frantically texting knowledable friends while my team just changed tactics.

Instead of live charts, we went with static images. They were charts built from the data that wouldn’t be changing, anyway. As the deadline drew ever closer, I worked with a teammate on adding them to the site. Myever present fear of the clock helped draw my attention to the need to simplify our tact. Just make img src tags, set the size, and fix it when we reconvene after today. Owing to the sense of unity developed over the weekend, I had no problem asserting myself into this fix, and making it happen. What was best, it worked.  And just in time. A git push with just a few minutes to go, and we were finished with our minimum viable product.

As a the presentations began, I started to feel like I was catching my breath. This was strange, as I hadn’t given a second thought to my breathing cadence until then. I sat back, beginning to slowly relax.  I really enjoyed  watching the amazing projects that the other teams presented.

My bias may show in the fact that I liked our group’s project most. Out of the five projects presented, two had begun being  worked on before the weekend. As proud as I felt with product my group had done, the overall contributions from all contributors was amazing. Strangers came together to create for the greater good.

After the presentations, as groups said their goodbyes, our group planned our next move. The group planed how to organize a way forward beyond this weekend, and set up a date in the future to get back to work.

I couldn’t have asked for a better group of people to work with for my first hackathon. Yes, I did not feel that my skills were where I wanted them to be. But, I was able to experience working on a project for the first time with a group.  And with a group that was patient, collaborative, and knew their core strengths. They were eager, knowledgeable, happy to assist, and passionate about the project. I’m extremely excited to work with this group moving forward. And, hopeful that I can focus my learning in ways that can help contribute more to the project.

 

Here is a list of all projects from the 2016 Hack for Democracy.

Here is a list for our project repo: Leverage.

Hack for Democracy