I graduated from college last semester and while I was there, I had a not-so-good internship and then I had the best internship ever. Lets get into it.

Finding that first internship.

After my freshman year of college, I really wanted to get an internship during the summer months as I was tired of working at restaurants and mowing lawns. I wanted something with more responsibility and something I could start to use my newly learned skills with.

I went into the career services department to get some advice as I had never applied or searched for an internship before. I had somewhat of an idea what I was looking for, just needed some guidance.

When I went into the office, they asked me where I saw myself in 5 years. Being the "super cool" freshman computer science student I was, of course I told them I wanted to work for a big cool company such as Google. Because I said I wanted to work for a big corporation, we decided that I should apply for a local corporation position to get the feel of what it's like to work for a corp. Not a bad idea. After all, I simply wanted an internship I didn't have a big preference who I worked for I wanted to get my feet wet.

After weeks of searching on job boards, sending emails, attending phone calls, I got an interview. I felt I had somewhat of a good chance because the requirements simply listed "SQL database administration". I had prior experience with MySQL from a web development business I started years ago making this job pretty good.

After the interview, I got a phone call only a couple days later saying I was selected for the position. Life was good! I was excited to be challenged with very difficult programming problems, to build enterprise level programs, meet some super smart programmers, and to learn a ton of new skills beyond my classroom skills. Turns out, none of this turned out to be true.

How to not run an internship.

I was with with company for a total of about 3 months before I decided to move on. I did not enjoy a minute of the position. I attended meetings all day that did not need to involve me, I was not given proper background information into tasks I was supposed to perform, I was also given tasks that had nothing to do with the job description I was hired for. Then when I personally asked to work on some projects I was denied permission because "you're just an intern".

It simply made me sad and disappointed. I was looking forward to a great learning experience and it didn't turn out to be true. (Although I did learn some cool new skills from reading all of those Linux text books during down time.)

While at this position I talked to a few other interns in the company and each of them shared their similar experiences with their positions. They did not learn any new skills, they were not given challenging tasks, and they attended meetings all day. What was even worse was their attitudes towards their positions. They enjoyed having a position like this. They enjoyed having it the easy way and getting paid to not be challenged.

Well, you guys enjoy yourselves. I am out to go find something I can make an impact with.

"you're just an intern."

What a sad statement to say. If this statement ever comes out of an employee's mouth at a company, it is time to rethink your internship program.

This was the way I was treated. I was never given the challenging tasks even when I volunteered to do them. I was just an intern which to them meant I was going to screw something up or "waste" someone's time.

I decided it was time to see if all internships were like this or just this one.

Banno to the rescue!

Spring break my sophomore year of college was arriving. This was about 6 months after my first internship was complete. Summer was fast approaching and it was time for me to find a new internship.

I was talking to a friend of mine in class one day who I would always chat with before class started. He was talking to me about this awesome internship he started a few weeks ago with a local startup company called Banno. He was a data intern working on the API backend. He talked about how he really enjoyed the job and that I should look into it as well. Because I did not enjoy my previous experience with the local corporation, I wanted to try to work for a small company to see how I liked it.

I arranged for an "interview" with the staff (which was actually not an interview. They bring you in, show you around, get an idea of your vibe and hire you from there if they are interested in your energy.) I went in, had a chat with some of the employees, they showed me around for a couple hours and I absolutely loved it.

I had an awesome time! The staff was very welcoming taking me right into the code they work on each and every day. They talked about their scrum workflow they use as a team. Showed me how they run book clubs and code reading sessions together to teach everyone new tricks. These people understood me. I belonged there.

A couple short weeks after this interview I started my position at Banno as their first non-data intern when I joined the Android team.

How you should run an internship.

  • I had zero experience with Android...

...before I started at Banno. They hired me not because I knew Android and they needed code written. They hired me because they liked my attitude and ambition for wanting to learn. Banno was always very good about this and are always willing to work with inexperience. They are excellent at turning you into an expert quick.

  • I was assigned a mentor...

...when I first started the program. This was a full-time employee assigned to me to answer questions I had about the company and my intern training program. I really enjoyed having this mentor. It helped me get to know the company better. Coming into a new position knowing nothing about your company (not even where the bathroom is) having someone work with you every day is very helpful.

  • I was hired to become an employee within 6 weeks.

At other internships, you could go years without ever touching production work. At Banno, they get you writing production code in 6 weeks. This meant that in a little over a month I was going to be touching the actual product that goes out to our customers.

This was so very powerful. I felt important. I felt needed. I was making a difference to this company getting real work done. When I completed a feature or fixed a bug in the app that went into the hands of thousands of people the next day, that was quite amazing.

  • Interns have priority.

At Banno, interns are not "just interns". Interns are valuable assets. They are these little programmers ready to take on the world. They are hungry students ready to suck in every ounce of knowledge that you have. Banno fed their hunger for knowledge and fed them well.

My mentor was always available whenever I needed help or had a question. He explained concepts to me that seemed unusual or confusing to me. However, he never gave me the answer. When I got stuck, he would say "yeah, I don't know keep working on it." which actually meant "The problem is on line 87 but I want you to figure that out yourself." Frustrating at first, but more helpful in the end when I always figured it out eventually.

Along the way while I was training as an intern, the full-time employees sat down with me and helped me make my code better. Banno could have easily heard me say "I got the sample app #2 done can I move onto the next app?" and let me move right along to the next. What was so important to them as a company was teaching me how to always be better. Every line of code that I wrote was looked over by at least 2 full-time employees looking for good and bad code that I wrote. They would then sit down with me for a couple hours giving me ideas on how I could make my code better. Talk about leveling me up!

  • When you give your employees a ceiling, you will get bad work in return.

This is a concept that I have always believed in. If you have a boss over top of you telling you what you can and cannot do, your creative freedom is gone. When you give your employees this type of creative ceiling, the work you get back will be at or less then you expect. Banno gave everyone creative freedom. Not much of a ceiling for them.

Even as an intern, any time that I had an idea for how to make our apps better for our customers, I was given the opportunity to bring it up. There were a number of times that I had an idea for the app where I then brought it up with my mentor who would discuss it with the rest of the company. Then if the staff liked the idea, they would assign me to build it right then and there to see if they liked it. How awesome is that!?

  • It was a fun place.

I enjoy great work environments. Colorful walls, open spaces, great lighting, fun furniture, all ingredients for a relaxing place to work. Banno provided a great environment for us all to work and give them back great code. We were given new powerful Mac computers with great software tools installed to do our jobs well. A couple days a week I was also able to work remote from my college campus where I could squeeze an extra hour of work in between classes. The employees actually smiled and gave a good laugh when they had a joke to tell. The company sent us to conferences of our choice to get new exposures in the industry and always encouraged us to get out there and speak at them.

I learned more at Banno then I ever thought was imaginable in an internship. By my college graduation, I was more experienced with software development then many full-time programmers get in their entire careers. It was hard work that didn't seem hard because I enjoyed it so much. I couldn't get enough of it.

Banno also taught me that not all internships are jokes. There are awesome internships out there. They do a great job. While some companies struggle to fill their 3 intern positions each summer, Banno has hundreds of applications to fill 30+ spots each summer.

Apply for an internship and give them a tweet saying hello!

Keep rockin it guys. Thank you, thank you, thank you for this awesome experience.