From Silicon Priarie News

If you don’t know about SPN, they are a technology blog that focuses on the midwest. Primarily Omaha, Des Moines, and Kansas City. They are pretty well-known and have very loyal followers, so having the opportunity to write for them is a huge blessing.

SPN: No more homework or projects, it’s time to find where we fit

The last two weeks have been a lot of work. I’m not talking about project work, which can actually be a lot of fun. I’m talking about mock interviews, resume writing, portfolio building and documentation writing work.

Omaha Code School has done a lot for us over the last 12 weeks. They’ve taught us, helped us overcome difficult problems and provided mentors for us to learn from. But at no point have they been more helpful than the last two weeks. Lately we have been working on getting all our work ready to show to potential employers.

OCS found mentor after mentor willing to come review our resumes, give mock interviews and give us their prospective about what makes candidates stick out. It’s an eye-opening experience that preps you for the microscope that is the hiring process.

Two weeks ago, we took a much needed break to give a presentation for 1 Million Cups, a local entrepreneurship meetup. They asked us to give a couple of quick presentations about our group projects.

At first it was extremely intimidating. Roughly 50 people we had not met before in a giant lecture hall on UNO’s campus. As we got up to speak, I just put all that behind me and started to go through what we had practiced.

We talked about our client, SMAC! (Sock Monkeys Against Cancer), and how they needed a system to find angels for those in need. Everyone seemed to like what we had put together and were impressed at how far we had come in the first eleven weeks of class. It was a welcome dose of encouragement that we are starting to know what we’re talking about and can contribute to this community.

This was all building toward graduation night. A ton of people showed up to congratulate us on all the work wehave put in and to see what we have been up to over the past twelve weeks. We had a short ceremony, with an inspiring commencement speech from Megan Hunt. We received our awesome wooden diplomas, and had some time to show off our projects to family and friends who came down to take a look. But this night was mainly a celebration. We ate, drank, took advantage of the photo booth, danced and ate some more. It was a great night that left me completely exhausted.

Now it’s been two days since we graduated from Omaha Code School. The pressure is off. No more homework. No more projects.

So now what? Where do we go from here? What is the next thing on this amazing journey we have all been on?

For most of us, the next step is a job fair Omaha Code School is putting together for us. They have attracted the attention from the who’s who in local development businesses. Graduates will be able to talk to each business and start to understand what makes them tick. Nothing is guaranteed, but we will see firsthand what companies are looking for and how we might fit into that void.

Lastly, I have enjoyed recapping my code school adventure for Silicon Prairie News over the last three months. I cannot thank Jordan Pascale and the team enough for giving me this opportunity to get the word out about what we are doing. It seems like every event I attend has someone coming up to me who has read a post or two and it has peaked their curiosity. I don’t think we would have garnered the attention we have if it was not for SPN and their willingness to cover this school. I can never truly express my thanks for all they have done. Thank you.

SPN: A Client can be a Wonderful Thing

Having a client is a powerful thing. We started on a group project last week for SMAC! Sock Monkeys Against Cancer, a local organization that makes sock monkeys for cancer patients. Their founder, Jen Windrum, went through a devastating lung cancer case with her mother, who sadly passed away last year. Her mother lived 2,000 miles away, and she wanted to give her mother something she could keep with her during appointments and procedures when she couldn’t attend.

Jen often gets requests from a patients who would like a SMAC! monkey, but can’t afford it due to their ongoing treatments. When these cases come up, Jen relies on her existing social media channels to find someone willing to cover the cost. She calls them “Angels.”

This process works, but is very manual and time intensive. Many patients don’t realize they can request a SMAC! monkey. Once they do find a match, Jen must communicate directly with both sides to make sure the right information gets exchanged. Even though these are some of the more rewarding situations she deals with, it is a lot of work for her.

Seven of us were tasked with taking some of the friction out of the process. We needed to create a new website for the SMAC! Monkey Angel Program. The site needed to allow people to request a SMAC! monkey, and display their request to people who might be willing to cover the cost for them. We divided ourselves up into specific roles for this project. Johnathon, Todd, Matt and Lochlan were our back-end developers. Britt and Yofred were front-end specialists. I was the technical lead. This was the first time we had a specific focus and this many people working on a single project.

Luckily, we had a great client to work with in Jen. She was very excited to see what we came up with and gave us quite a bit of flexibility with how the site would look. I think we came up with a clean, informative site that really does take the friction out of the equation. With the new site (right), a person can request a SMAC! monkey for either themselves or on behalf of someone they know. People who see their request can share the need using the Facebook or Twitter share buttons right on the page.

If you want to get the first look at what we’ve built, I would like to invite you to come to 1 Million Cups this Wednesday at 9 a.m. 1MC meets in Mammel Hall on UNO’s campus and they have allowed Omaha Code School students to present our projects this week. Our team will be demoing our SMAC! Angels site. Another group of students will be showing off their recent redesign of the omawho.com website. I think both turned out pretty well, so come take a look and give us your feedback.

We are less then two weeks away from graduation. It has been a whirlwind experience. Going back and looking at the first couple of sites we created, it’s clear we have learned a lot and come a long way.

Here are a couple of events open to the public next week:

Allies Workshop

Monday, May 12, 6–8 p.m.

The Allies Workshop was designed by the Ada Initiative “to support women in their workplaces and communities.” Andrew and Zedeka will be conducting their own variation of the workshop. They will discuss allyship as it relates to gender, but also explore race, class, color, ability, identity and orientation. There is a cost to this course, so check out the Facebook page for more information.

Graduation Open House / Demo Night

Friday, May 16, 4:30–7:30 p.m.

This event will take place immediately after we graduate from Omaha Code School. Students will be on hand to show off some of their group or individual projects they have worked on in class. This will be the best opportunity to see how far we have come in 12 weeks.

SPN: Creating something useful for a real-life setting

We’ve had a hectic two weeks at Code School as we approach the end of class on May 16. We completed our first individual projects, and I have had a hard time keeping up.

The project requirements were pretty open ended. Instructor Sumeet Jain gave us some basic requirements to make sure we use the skills we were learning. Other than that, we could work on anything we wanted.

There were social networks, photography galleries, video games and automated bar tenders. Everyone’s personalities started to come through, and you could tell everyone was putting in a little extra effort to get their ideas off the ground.

I came into the class with a project I really wanted to do, and luckily it fit the project requirements. My wife helps coordinate the children’s program at the Acts2 Church in Gretna, Neb, and they needed a system to help check in kids for events. I wanted to help out and see if I could create something for them.

Since I had an actual client, I was able to practice gathering requirements by sitting down with them and getting a list a features. I also was able to lay out some of my ideas about what information would be be tracked, and how everything would interact. Once we understood the scope of the project, I got to work.

One of their key requirements was a way to email families during the week. They wanted to recap the lesson the kids heard on Sunday and offer activities to do to reinforce what they learned. The whole idea is that church is not about Sunday mornings. We need to support each other during the week too. Fortunately, we had just learned how to use SendGrid to send emails from Heroku. So after a little configuration, I got everything up and running. I’m excited to see what this allows them to do.

Eventually, our projects started to look like real web applications. We had layouts with thought out color palettes, images and flow started appearing on our computer screens. At this point we really started to get excited about what we were seeing other people create.

By the end of the week, we were trying get everything working so we could present to the rest of the class. We spent a couple hours watching demos, and I was really impressed by the diversity of ideas we got to see. After we finished, we went out for drinks to celebrate what was a very long week.

When we got back to class, we concentrated on refactoring our code. That’s when you go back and make sure everything is as efficient as possible and looked as good as it can. We were given a long list of things to look for. Everything from using CSS Sprites, to making sure we documented all of our custom methods. As we kept improving our projects, you could see it was making a difference. AJAX calls saved unnecessary page loads, database queries were kept to a minimum. My site started to feel snappy and responsive.

Everyday was a trial of perseverance. I kept running into issue after issue. I couldn’t get my Javascript to load, then I had a very complex database query I wanted to run in a single command, but it just wouldn’t work. Luckily Omaha Code School is setup to help. Sumeet is always available for questions. Abby, our teaching assistant, always has an idea or two to try, and we always try to help out our classmates. You can’t turn around without running into someone willing to help.

Next week is project week again. Who knows what we’ll be doing this time. Sumeet said he has some ideas he thinks we’ll like. Hopefully we keep learning and putting that new knowledge to work. I’m sure it will give me something to talk about next time.

SPN: Halfway through, balancing work and play is key

Six weeks, officially half way. It feels like we have been here three months already, but at the same time, like we just started. Long days are starting to catch up with me. I can hardly keep track of the days of the week anymore.

My language has changed from English to a weird set of acronyms and terminology I had not heard until recently. I literally code all day, over meals. I even dream about code. But this is what I signed up for, and I’m having a blast.

We had the opportunity to meet with a couple of really talented people. The Flywheel team came down, talked about how they make WordPress hosting easy and some for being truly successful. We learned about some of the problems they face, and how they make plans to overcome them. We also heard from Lemonly, a startup that turns data into infographics. It was really neat to see how their problems differed from the other speakers we have heard from and the unique ways in which they overcome geographic problems within their companies.

Omaha Code School students are working on projects like creating a wiki for the Code School. 

We’ve begun shifting our time to projects, which is a kind way of saying we are really busy. In week five we completed our first group project, an Omaha Code School wiki. We started with some wire frames, created a feature list, assigned responsibilities and got to work.

The wiki has features, including:

  • Articles to have a history stored as many updates.
  • Admins can roll-back an article to a previous update.
  • Updates are written using the Markdown format, giving the author freedom to organize, format, add links and pictures.(Gem RedCarpet)
  • URL should be human readable, not just a bunch of ID numbers. (Gem FriendlyID)

I was given the task of developing everything needed for an article on the wiki. This involved the article itself, a way to store many updates and categories. At first this seemed pretty challenging. We knew how to update a single object, but this was three separate objects. After trying to figure it out on my own, Sumeet told me about ‘accepts_nested_attributes_for‘. This feature saved me a ton of work. It essentially allowed me to create a new article and prompt the user for category and update information at the same time. It really does seem like magic, even though we all know better than to believe that.

Lectures were light all week to give us time to complete our projects, so by Thursday we were close to having a working product. My partners had got users setup with authentication and session management, the front end complete with some sweet CSS to make our pages look nice.

When we are working on projects, we have daily SCRUM meetings in the morning. If you are unfamiliar with that term, it just means we go around the room and talk about what we accomplished in the past day, and what we hope to accomplish the rest of the day. It really helps outline what you need to get done. Since we were working on Thursday, my goal for the day was to break our application—I succeeded.

I acted like I had no idea what I was doing on our site. Clicking on things randomly and on pages with no context to my action. I found that we had broken links, incorrect links, form inconsistencies and style problems. We wrote down everything we found and divvied up the work again. By Friday morning, we had the whole thing running on Heroku and working well.

On Friday afternoon, we presented the Omaha Code School Wiki to the class. We got to demo the app, and talk about one thing we did in code that we thought other people could use. Everyone seemed to like it. As we watched the other groups’ presentations, I learned a lot about what they had done. That weekend, we went back and refactored some of our project to incorporate what the other teams had taught us and we’re pretty proud of the outcome.

Last week was very challenging. We started learning about JavaScript(JS) and AJAX. This was a fundamental shift in the way websites work for me. I always thought simplistically. Servers send HTML to a browser and it is displayed to the user. JS adds another very powerful layer to that, allowing a website to be modified directly in the browser. It’s a lot to take in, especially after everything else we have already learned, but it’s starting to make sense.

This week we start our first individual project. We need to incorporate a complex database relationship, AJAX calls and a great front end—it’s not going to be easy and we only have a week to do it in. Hopefully we can put together all of the techniques we have learned to make something worth showing off on our Demo Day in May—only six weeks away now.

Work hard, play hard

We work hard at Omaha Code School. We show up every morning at 9 a.m., and sometimes don’t go home until after 8 p.m., only to go home and work some more. Throughout the day we need small breaks to keep our mind fresh and give our minds a break.

A bunch of us have put together a puzzle. We’ve officially branded it “Puzzle Club.” Our first puzzle was a picture of a cat coming out onto some grass.

By far the most popular way to waste some time is an online game called 2048. It’s one of those mesmerizingly simple games you get hooked on. If you haven’t played it before, you have numbered tiles that you have to slide back and forth, and if two tiles with the same value collide, they combine and the number doubles. The goal is to get a tile with the value 2048 on it. So far only one of our classmates has made that happen, but we are all desperately trying to be the next.

Our instructor, Sumeet, likes to play chess on his small breaks. He plays speed chess online in quick little three-minute games. He says he plays a pretty unconventional game when going fast and because of that his ranking has dropped quite a bit. He jokes that he gets upset when he gets a draw because he’s probably playing against a 6-year-old, and he should be able to beat a kid.

My personal favorite is flying quad-copters. Omaha Code School is meeting in a 8,000 square-foot retail space with 18-foot ceilings. That makes it the perfect space to fly small, light-weight remote control vehicles. Once you get a little practice, you can zip from one end of our space to the other pretty quick. We have even started to stack objects and practice flying between them. It’s the perfect break activity since you have to get back to work once the battery dies.

As you can see, even though we put in a lot of work, we also find time to have a good time. I would love to know some of your favorite activities for when you need a little break. Leave a comment below and we can debate which is best.

If you want to get more frequent updates, check out my blog. Or, if you have any questions, shoot me a message on Twitter.

SPN: A third of way home, with a lot more to learn

Four weeks. It’s crazy to think we are already a third of the way through Omaha Code School. We’ve come a long way since my last update. Let me get you up to speed with what we are doing.

Up until this point, our programs didn’t have any persistence. That means when we shut down the program, any information we had entered was destroyed and we had to re-enter it the next time we started up again.

This was a pain, so our instructor, Sumeet Jain, taught us about storing data in text files. That way we could import the values the next time the program ran. This worked, but it was only marginally better. Transposing values between our class objects and a comma-separated file and back was difficult and prone to mistakes. We thought there had to be a better way, and indeed there was.

We learned about structured query language, or SQL. It defines a standard way of interfacing with a database. We learned how databases are filled with tables—think Microsoft Excel spreadsheet. You can store any kind of data in a table, and they stay organized. Each row in the table corresponds to a unique instance of an object, and each column corresponds to a specific attribute describing that object. We used SQLite and practiced forming raw SQL queries and sending them into the database. Then we learned about ActiveRecord and all the methods it adds to Ruby to make our lives even easier.

After we got the hang of it, we were given our first real project. We needed to create a blog, only using Ruby, Sinatra and SQLite. We each had to come up with our own feature list. We had to decide if we wanted to integrate with an external API, allow comments or integrate email alerts. So even though we were all working on a blog, they were each unique and created by us. When we got started, I think we were all pretty intimidated by this assignment. It was a lot to take on compared to the other assignments. We spread out and got to work.

It didn’t take long before I found a groove. I found myself recalling everything we had learned and biting off a piece at a time. I eventually had a database with six tables to keep track of everything from users to posts. I even came up with some polls, so I could ask my readers questions and have them pick from a series of canned responses. It took three days, but I ended up creating a blog that looked and functioned as I had planned. We also got to see some of our classmates work. I was really impressed how far we had taken such an open-ended assignment. We all had fun and made it our own.

That night OCS hosted an open house. People from all over the community turned out to check out what we we were doing and offered their support. It was a packed house and I met a lot of really cool people. We talked about everything, from what their background was, to what we were working on in class. I even got to show a couple of them the blog that I had been working on. It was a great opportunity to meet new people and hear what they are doing in their various roles in our web development community.

Then we got to what we had all come here for: Rails. We left behind the simplistic ways of Sinatra and SQLite, and picked up a full-featured framework (Rails) and robust database (PostreSQL). At its core, Rails is a set of rules. These rules force you to build your application a very particular way. Rails also is stubborn. If you don’t follow the rules, Rails refuses to work. In exchange for dealing with the rules, you get the benefit of using hundreds of helper functions they provide. So if you give a little, you get a little. I was a little surprised how quickly we got going. I had tried to learn Ruby on Rails once before, and could never seem to get any traction. This time, it seemed to come naturally.

I have formed a team with Matt Hovanec and Cara Heacock. We are just starting our next project, and this time we get to pick anything we want to do and create it. We decided to make a Omaha Code School wiki. We hope we will use it to document some of our repositories and publish links to our sites once we deploy them onto the Internet. Hopefully I will be able to share the link with you in my next post so you can take a look at what we have been working on.

Until then, I need to get back to work. If you want to get more frequent updates, check out my blog. Or, if you have any questions, shoot me a message on Twitter.