TechHui

Hawaiʻi's Technology Community

Hello fellow TechHui-ans!

My name is David and I am a ICS student at UH. I am posting here today because I am seeking the advice of seasoned professionals such as yourself.

I am in the last stretch of my undergraduate program and I have one final summer to go before heading into the workforce. I have had the opportunity to meet many local companies through career fairs and information sessions on campus. One common theme that everyone has preached is to get out there, do stuff, and just try to get as much experience as possible.

My dilemma is deciding which avenue to take to get that experience. This summer, I have a choice of:

1) Interning for a local tech company and help develop business applications
2) Taking on my own project and learn new languages that I’ve been dying to learn but haven’t had the time for

If I choose the internship, I would learn about business processes and gain some industry experience. However, there is a possibility I may be given less than stellar tasks which involve working with old or irrelevant technologies (because it's an IT, not software company). By choosing the self-selected project, I would get to work on what I want but at the cost of industry experience.

From an employer’s perspective, which would carry more weight for someone applying to your company? Why?

Views: 143

Reply to This

Replies to This Discussion

The internship usually looks better on your resume since it usually exposes a larger variety of things about yourself.

 

Taking on the internship means that you'll willing to take on new challenges.  Not only that, at a decent internship, usually you'll learn what you would like to do and what you wouldn't like to do.  At the point you may be at, you might not know what you want to do for the next twenty/thirty years of your life.  Most people eventually change careers.  Some people change from being from hardware engineers to software engineers and vice versa.

Also, let's face it.  Work is usually boring but you gotta make it fun for yourself.  Even in an IT environment, there are creative solutions to problems that they face everyday.  In fact, you might be able to teach others something.

 

Taking on your own project might also be an interesting idea, but it's very limited.  Unless you're coordinating with other people, you'll usually be thinking in your own little box for a while.  It's suitable if you have a good idea and able to make it work in three months (summer time).  I mean, if you can build the next facebook/twitter/google in three months, that would definitely carry more weight than an internship, right?

 

My question for you is...

Why not do both?

I agree with Boris - Do both. You are young and have plenty of time and energy. Intern during the day and learn to program iOS at night. That will look great on a resume.

Also, if the internship sounds like it will be boring find another one. There are plenty of companies.

I agree with Boris and Cameron. Do both. Ideally you should intern at the same type of company at which you would like to work full time. Quality interns are often extended entry level job offers and even if this doesn't happen companies are more likely to hire interns who have worked in their field.

Unless it's a local company that you're genuinely interested in working for after graduating, I'd say avoid internships in the islands. You will only be getting projects that will "groom" you to see how and where you can be placed to suit their long-term needs. Nobody else would really care about your Summer at XYZ Corp, doing retrofits on aging dBase for DOS applications.

 

Of course, if you need the money, any internship is better for you long-term than flipping burgers or working the sales floor at a local Best Buy.

 

Without a doubt, you will get the most return on your investment of time by doing your own project. Look at the hot tech startups that you admire, and get a feel for what technologies THEY use, and spend your summer getting a mastery of those technologies, by deploying and maintaining your own projects on the Web.

 

They don't have to be jaw-dropping gorgeous or awesome (though, that helps). Just demonstrating your ability to put together a project that uses those technologies goes a long way.

 

Sooner or later, you'll have to ask yourself.. do you want the fun and challenge of being a "Programmer", keeping up on at least 5 major frameworks, or do you want to still be paid well, but doing "boring" IT work? That's the fundamental difference between Bleeding-Edge programmers, and normal IT workers. Both are equally needed.

If your interest is software development or other applicable specializations in IT, you may want to consider contributing to an open source project. (I would recommend Google Summer of Code, but unfortunately the deadline just passed.)

Being able to point to patches looks good when applying for a job because it provides a lot of context. Beyond showing that you're proficient in your language of choice, it also demonstrates familiarity with software engineering methodology, demonstrates that you can get up to speed quickly on a large code base, and (especially for a project with a lot of contributors) shows that you can work effectively in a team.

Also take some time to learn the wide variety of tools used in software development:

  • Source control (the big ones today are Subversion and Git)
  • Bug tracking software (Trac, Redmine, Bugzilla, JIRA)
  • Continuous integration
  • Unit testing

Ultimately, I think the best way to get your foot in the door is to show both that you're knowledgeable, and that you know how to find the answers you don't have on your own. These are skills that employers are desperately searching for, and they'll serve you well.

Good luck!

I thought it was a knockout win for the internship until Laurence got his post in.  I really appreciate the different perspectives!

 

There was something else I didn't mention, which was that I already have the Hale Pilihonua project to work on over the summer.  On top of that, I am still debating between the internship or my own project (possibly with some other people).  Of course I could do it all but I want some semblance of a life away from the computer  :)

 

Now I'm curious.  On top of a 40 hour work week, how much time do you guys spend programming and working on personal projects?

For the best of the best (top 5% in open source), it goes beyond passion, and is entering into the realm of obsession. Just saying. Nobody says you need to be operating at that level, and from personal experience in Silicon Valley, I would recommend against it.

 

I used to live, think, and breathe Coding and Tech Hacking in my younger days, and had housemates in Sunnyvale that were like-minded. It was a great time in the dot com days, and it was amazing some of the crazy sh.. stuff we worked on in our garage. :-)

 

As I program for a living, most of my free time (maybe 15 hours/week plus an occasional weekend) is spent on hardware hacking. Hicapacity.org is starting up a series on Arduino devices, which is a good way to get your hands dirty with firmware coding as well as low-level circuits, and I'll occasionally stop by to check 'em out if my schedule can manage it.

 

While it helps to gain guidance from others, ultimately, you need to find a project that truly interests you -- and when you do, it'll turn into a rewarding project of passion. Charles Nutter (of JRuby fame) and Miguel de Icaza (of Mono/Moonlight fame) started their projects as hobbies, and now they're irreplacable industry leaders in their niche spaces.

David, I'm with Laurence.  An internship is really great for experience.  There is nothing like real world experience.  However, I would not do it with a place you are not interested in or has antiquated technology.  I would find a place that interests you and I would work for free if you have to.

 

Also doing something for an open source project would be great, again, if you are passionate about open source and about the technology.

 

So, try to work with people.  Don't waste your time with stuff you are not interested in.  You are young and can still make that choice.  :)

 

Laurence, you still sound like you are geeking out.  Your recommendations about life are spot on!  Sleeping under your desk gets old no mater how fun it seems at the time.


David, I agree with the general theme here. An internship would be a really good experience and give you great resume boost, especially if you don't have any other internships or job experience. I also agree with Jason that it sounds like this internship might not be the best fit for you. To that end I would like to plug my own company, Referentia. In fact we are currently looking for summer internships! You should apply. In my (admittedly biased) opinion Referentia is a great place to work and you would be doing actual software development (unless you apply to our IT intern opening).

I also agree that personal projects can really help you stand out from the crowd and demonstrate the passion you have for your work. Personally, I try to spend at least 5-10 hours a week working on personal projects.

My hours on a personal project varies since my work hour usually varies from 40 hours to 45 to 50 hours (depending if I work weekends). There are weeks I have no time to work on personal projects and that usually works fine since I still write all my ideas down on some type of software journal during work hours.

I haven't taken on any rigorous personal projects lately (mostly refactoring old projects), so I haven't been working very much on them. I have ideas for newer projects but haven't gotten around to starting them yet. When I do, I'll probably be working at least 10 hours a week on them. The starting point of any project is usually very tough (It usually like the start of writing an essay). I take the traditional approach of having some type of feature list and the most basic outlines of what I want to do. Then I usually code prototypes and get a functional framework while running iterations of continuous test phase. It works well for me since I know exactly where the end goal for me is, and I know exactly where my progress is.

David, it sounds as if you're trying to take on a lot over the course of your summer break. Remember that you cannot just throw hours on a project and expect it to work given enough hours. There may be days when you're trying to solve problems that are NP-complete and not realize it. You also got to know your own tipping point. There are weekends when I'm burnt out and don't feel like taking on any personal projects. When that happens, I usually take a break from the projects. Nobody's forcing you to finish those personal projects.

Oh! Welcome to the real world!
Thank you all for your insightful responses!  I will keep them in mind as I decide what to do next.

 

@David

 

I would would concur on doing something you are passionate about.  I would work with technology that is inline with what your interests are (troubleshooting windows 2000 or XP boxes for  local law firms is probably not the best bet if your interest is in development, unless you need the income)

 

If you work for a company, yes they will probably try to "track" you.  Internships are an essentially an on-site performance based interview.  If you have an entrepreneurial bent that may chaff at bit.  If you are worried you will spend a lot of time doing uninteresting, clerical stuff, ask them to be specific on your tasking.  If they give a fluffy, vague answer you probably will be.  If they can give you a solid answer then they probably have a focused task in mind.  The difficulty you will find is unless you know the tools the company uses, it will be difficult for them to spin you up in three months and have you get something meaningful done.  If the internship is a year, that is a different story.

Any experience in working with a team will be helpful.  I have found the best ideas do not form in a vacuum as they are acid tested and improved by the group.  So maybe the answer is the internship and working with some friends at night or weekends.  SourceForge is another site where you could become involved on a team.  How involved is the project you have in mind? 

 

Jason

Reply to Discussion

RSS

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service