By Mike McGee
on February 25, 2015
This is the second guest post by Starter League alumnus Roneesh Vashisht. He's a professional web developer at Sears and a mentor for our Web Development program. He wrote this message for our current class of web development students, but I thought it was too good to keep in-house.
I've now been coding for over two years (prior to that I was an engineer). I've helped a lot of newbs (aka a beginner) and I've worked with a lot of veterans. In my experience (and this just my experience, so take it only as that!) there's only one thing that determines if you'll be a successful coder:
Can you be zen about errors?
Everyone handles adversity differently, for sure, but the only commonality is if when confronted with a coding problem, can you just step back, breathe and work on it calmly.
It doesn't matter if you're old or young, man or woman, black, white, brown or green. To code, you don't have be smart, you don't have to be clever, you don't have be bold, hell you don't even have to be particularly passionate (though that helps).
You just have to be able to be zen. When you encounter an error that won't go away, you can't start letting a part of you die. You can't let your pulse rise. You can't take it personally. You can't get embarrassed or feel dumb (I mean, you will I suppose, but fight it!). I see it happen to people all the time, and this why "getting zen" is the #1 piece of advice I give to young coders and those looking to get into the field.
Errors, they happen man. Honestly, just today I spent twenty minutes on a misnamed variable. I swear to God I checked everything but the most obvious thing, and I've been doing this two years. You just started, so you'll spend even more time. It's part of the fun!
It also helps remember one important thing: a computer is one of the most fundamentally different things than you that exists on Earth.
Let's look at just one example.
If I tell you to go make me a peanut butter and jelly sandwich, you can do it. Most of you will go make it from your cupboard. A few of you will be clever and call a restaurant. One or two of you will try and convince me a tortilla is a PB&J. No matter the method, you'll do it, with minimal instruction and tons of improvisation.
If I tell a computer "Go make me a peanut butter and jelly sandwich", well, it will sit there and stare at me blankly like a dog. It will wag its tail, it won't even sit! However, if I give it detailed instructions, more detailed than you've ever imagined (like including coordinates of bread locations and stuff), it will eventually do it. And when there are finally the necessary pages and pages and pages of instructions required, it will make the sandwich perfectly.
If I give you 20 single-spaced pages of instructions to make this sandwich, you too will make it, but imperfectly. You'll miss a step or two inevitably. Humans just aren't meant to process 20 single-spaced pages of instructions perfectly, we're meant to improvise.
So don't feel bad, you're doing a hard thing that humans really aren't meant to do. You're meeting an alien life form half way. You're meticulously typing out the instructions and then letting the computer do them perfectly (bugs are when you got the instructions wrong).
This is an illustration of what is actually the only true error that exists in programming: You weren't clear enough on what the computer should do.
Errors are a computers way of saying "Hey man, this list of instructions isn't complete!" and when the errors aren't as helpful as the ones in Rails, well that's kinda like the computer saying "Hey man, I know something is off in this big list of instructions, but I'm not sure what."
So don't get mad, don't get defeated, you gotta get zen. You also gotta get your butt up and go ask for help ;-)
P.S. And don't feel bad about feeling bad! It's all one journey!
Missed Roneesh's first post? No worries, just click on this link - "What is a Web Application?"
By Vince Cabansag
on February 24, 2015
Bootcamps. There’s plenty of buzz around them these days. And for good reason. Who wouldn’t want the promise of a programming job after 3 months of immersive learning? It’s a honeypot that bootcamps use to attract anyone who’s looking for a career change. It’s also a path that’s become dogmatic — immersive learning has become more about sheer hours instead of a culture that promotes learning with a work-life balance.
Spending 80+ hours a week on anything will be disruptive to the rest of your life. If you’re considering a program that teaches you how to build web applications, and you’re devoid of any responsibilities or relationships, then a bootcamp is right up your alley. But there’s better ways to immerse yourself without sacrificing the other parts of your life. If you have a beloved pet, significant other, kids, spouse, or responsibilities that can’t be put on hold, then you owe it to yourself and to them to find a culture that fits your life, not the other way around.
A question that I’ll get when I interview students is, “Why does The Starter League have less class time than XXX bootcamp?”. My response is somewhere along the lines of this: “While we could increase the class hours and teach you everything about web development, there’s only so much knowledge that you can consume at a given time”. A study at UCLA found that cramming can be harmful to a student’s learning outcomes. They concluded that students perform better when they space their study sessions. We plan our classes so that our students have the proper time to implement the concepts we introduce. That’s important for long-term learning outcomes.
We also don’t set expectations where our students should stay up late at night or even sleep in the space because they’re exhausted from coding all night. Working longer, late at night or when you're exhausted doesn't teach you more or produce better work. We intentionally schedule non-class days where students can come in for office hours, review sessions and get help from instructors on their projects. We do this so that they can absorb the concepts from class, work through any issues on their projects, and make themselves better developers through good work flow practice. Our students’ schedule is more consistent with a 9 to 5 business day.
Alex Payne wrote a candid blog post to anyone who is considering a career as a programmer in a startup. After reading that post, I didn’t realize how many mom’s have taken our classes. For example, one of our Starter School students commutes from Libertyville five days a week. Her schedule is like clockwork — she’s in by 8am and out by 4:30pm. She’s also a mother and wife. If we scheduled classes later in the day or asked our students to stay late, then we wouldn’t have students like Amy.
Learning how to code is fun and as addictive as your latest Netflix season binge. If you’re looking at programs that teach you how to build web applications, consider the sacrifices that you’ll be asked to make. You don’t have to give everything up to make an impact on your life.
By Mike McGee
on February 13, 2015
This is a guest post by Starter League alumnus Roneesh Vashisht. He's a professional web developer at Sears and is a mentor for our Web Development program. Our current class has just started to type out their first lines of code, and Roneesh sent this message to remind them of what they're building.
Web Applications are in the running for world's simplest computer programs.
You've learned how to communicate with a computer program.
It's also interesting to realize how little we've come.
From about 1970-1990, a computer program was a thing you bought, probably in a Micro Center or hobbyist store, that displayed and manipulated text. You only communicated with it via text.
From 1990-2005, a computer program became a thing you bought, probably in a Best Buy, but it lived in a graphical world, where pretty soon your typing only became about the content. All other manipulations were graphical, and there was no database. When, how, why or in what way data was accessed was completely obscured. Programming them was hard (believe me I tried). They didn't share data, or play with other people, or do anything other than sit on your computer.
Then from 2005 or so onward, we started entering the world of web applications, and data started to live on the web, and it played nicely with other people, since the data was in the same pool, and now it was in a database, and even a lay person with an analytical mind could guess how that data was structured (hint: it was all forms).
What's interesting is that we've sort of returned to the world of 1970-1990, we only communicate with these programs via text. That text is your params hash and routes tables.
And so when I say that Web Applications are the world's smallest computer programs, I really mean it.
A web application is a computer program designed to respond to one input, a URL.
And since all URL's are just HTTP requests, we get this:
A web application is a computer program that just does one thing: respond to an HTTP request.
I'm not being dramatic or histrionic when I say that the above statement contains all the truth of a web application. It's kind of your North star. When I transitioned from student to full-time developer, I routinely found myself in meetings where I had to discuss technologies I had no clue about. What kept me sane was realizing that I was working on a web application, and it had just one job to do. From there I could riff.
It doesn't matter what your stack is, what language you use or what framework. A web application running Java, with no Ruby whatsoever still needs to be able to parse a URL, run some code, and return a response (a web page). A web application has just one job, and best of all, we can do it with just one thing, an address bar.
So go on, party like it's 1990. It still is.
By Mike McGee
on February 11, 2015
Due to limited computer and internet access, it's difficult for health organizations working in developing countries to track medical supplies and diseases. Starter League alumni Daniel Yu (Web Development - Winter 2013), Stelios Constantinides (Starter School - Class of 2014), and the rest of the Reliefwatch team are solving this problem.
Old School is The New Black
No, Reliefwatch is not trying to be Comcast and provide internet access to the entire world (the world doesn't deserve such horror), they've designed their application to work with the super-complicated technology of...
Yes, those year 2000 era phones you used to rock in junior high (and what your parents might still use now) are now being used by health workers to track medical supply inventory and monitor diseases all around the world. This is a genius idea since over 90% of people in developing countries have mobile phones.
The Rise of ReliefWatch
In the last five years Chicago has transformed into a startup city, and Reliefwatch has taken advantage of pretty much every resource available. Daniel started ReliefWatch (formerly known as Project Sam) while at the University of Chicago through their College New Venture Challenge. Last Fall, ReliefWatch was accepted into Impact Engine, a 16-week accelerator program for companies that address societal and environmental problems. While in Impact Engine (which is located in 1871), Reliefwatch was one of five Chicago companies to qualify for the 2015 Challenge Cup finals run by 1776, a startup tech center located in Washington, DC.
To top it all off, Daniel went over to the Unilever Sustainable Living Young Entrepreneurs Awards in London and won the Prince of Wales Young Sustainability Entrepreneur Prize.
And yes, he did get to meet Prince Charles.
Reliefwatch's Global Impact
In May 2014, Reliefwatch created its first partnership with Global Brigades, a not-for-profit organization with healthcare operations in Honduras, Nicaragua, and Panama. This partnership has resulted in a 90% reduction in drug expiration and almost fourteen million units of medicine digitized.
Reliefwatch has just launched a new version of their platform, which allows them to track inventory & diseases in over 180 countries and has support for 12 different languages.
What's next for Reliefwatch
While the new year is young Reliefwatch has already added a new partner! They recently joined forces with RTI International and the government of Benin (sandwiched between the countries of Togo & Nigeria if you're wondering #themoreyouknow) to start tracking their vaccine distribution process.
Their goal is to create 10 new partnerships before the end of the year, so if you know of any NGOs that need assistance with medical supply and disease tracking this is your startup!
If you are an investor: invest in this startup!
If you are a developer (especially with Ruby on Rails experience): Contact Daniel Yu (email@example.com)!
If you don't know Ruby on Rails but want to: We have applications open for our Spring Web Development program. Starts Monday, April 6th :)
By Mike McGee
on February 10, 2015
Last week on BuiltinChicago.org, Maura Gaughan published an article featuring the top 50 Chicago startups to watch in 2015. As I went through the list, I couldn't help but notice all the Starter League representation!
mRelief - Started by Rose Afriyie, Genevieve Nielsen, and Marina Goldshetyn (TSL Summer 2014)
mRelief is a Web and SMS-based tool that allows Chicago residents to check their social service eligibility. After building the prototype in our Web Development class, they have gone on to partner with the City of Chicago to get more exposure of their services. You can learn more about mRelief in their recent Chicago Tribune feature.
Rentalutions - Started by Ryan Coon (TSL Winter 2012)
Ryan created Rentalutions to help landlords enter the 21st century with property management. Rentalutions was one of the early members of 1871 and has been growing since its founding in 2012.
WeDeliver - Started by Jimmy Odom (TSL Winter 2012)
WeDeliver has been one of the hottest startups for the past two years and it's only getting hotter. Jimmy, Daniela, and the WeDeliver team powers the Chicago delivery market and is creating partnerships locally (and nationally) faster than I can write this blog post! Their newest venture is Locally (surprise), which brings amazing food and craft products directly to the doorstep of Chicago residents.
You can learn more about WeDeliver and their new product in the Chicago Tribune and on Tech Cocktail.
MU/DAI was founded before we created our school, but they have nabbed one of our inaugural students and former employees, Arvin Dang. You can learn more about Arvin's journey from The Starter League to MU/DAI on Medium.
PrettyQuick - Like MU/DAI, PrettyQuick was not built by a Starter League alum, they have received technical help from Mark Richman (TSL Summer 2013) and the Web Development company 3Binary, formed by Starter League alums Greg Williams, John Contreras, and Jordan Leigh.
Extra startup note: Members of the 3Binary team have now switched their focus to Matchup, a competitive fitness tracking platform helping friends, family members, and co-workers lead more active lifestyles. In November 2014, the Matchup team announced a funding round of 800k to help "reinvent company wellness programs and draw them away from outdated company services with surveys and clunky pedometers to current smart, wearable devices." You can learn more about Matchup in their Built in Chicago feature.
We are incredibly proud of what these alumni have accomplished since graduating from The Starter League. What's special is that these alumni represent the transformation that over 1,000 other people have taken since coming to our school. They've come from all different walks of life (journalism, retail, banking, construction, education, etc.), but with the same goals. To reinvent themselves, and solve problems they care about.
Congrats to what they have done and what they will do in the future.
By Mike McGee
on February 6, 2015
I'm in my mid-20s, but my mind has advanced decades with all the meetings I've been in. Now this is not a post about how to cancel meetings forever (sorry), but how to give yourself more comfort in future meetings.
Have you ever been 5-10 minutes late for a meeting?
Ok that wasn't really a question. Everyone reading this has been late for a meeting so stop lying to yourselves.
What are some factors to being late?
- Overbooking commitments
- Underestimating how long it takes to travel a meeting
- Addicted to making a meeting right on time (ok, you're weird)
Let's focus on the first two.
1. Overbooking - How many times have you setup back-to-back, or back-to-back-to-back, or in my case at Northwestern, back-to-back-to-back-to-back-to-back-to-back-to-back meetings? Ok avoid that last one.
Of course those meetings are 60 minutes, (because EVERY meeting needs to be 60 minutes long), which would result in me always being late.
Give yourself 15 minutes.
Instead of scheduling a meeting from 10-11am, why do you don't schedule it from 10-10:45am? For one, you can probably get that meeting done in 45 minutes, and it gives you 15 minutes to move to the next task or meeting.
2. Underestimating time - This is my big issue.
Oh yeah I can get this done 20 minutes before the meeting... "Oh crap it's 11:01am gotta go!"
Oh yeah it will only take me 12 minutes to walk to the meeting... WHERE DID ALL THIS SNOW COME FROM? 20 minutes later... "Hello everyone."
Give yourself 15 minutes.
Instead of starting a meeting at 10am, start at 10:15am. This 15-minute buffer allows you more time to transition (either with a task or travel) to your next meeting.
I've been doing this for the past few months and have had great results.
And the beauty of all this is the space time continuum has not fallen apart due to not starting a meeting on the hour! People are fine with it!
Who knows, maybe you are helping the group you're meeting with as well.