|
This is my first blog post. I'm not really part of any other communities, and this community seems to be pretty smart anyways, so it's probably as good a place as any other to post this.
Anyways, I've been feeling really stupid lately at my internship. I constantly do stupid things, usually minor, but some major. As an example (and what prompted me to post this), a month ago, one of the other developers released completely new, reworked server code. I checked that out and put it in a separate directory because we weren't ready to work with it yet. A week later I got another email saying that he had updated that code again, and he told me to check it out. However, we were in the middle of a bunch of demos for customers and nobody wanted to run the new server code yet, so I didn't check it out. In hindsight, I could have just checked it out because it was in a separate folder anyways and it wouldn't have made a difference.
Fastforward to today, where another developer was working on his own code. He was getting flustered because he wasn't receiving the messages he was expecting. Unfortunately, the problem was that the server code wasn't up to date. I have no idea how much time he wasted debugging, and quite honestly, I hate to think about it.
I feel like there is a huge pool of other cs undergrads they could have selected and they could all do the job better than me, with fewer mistakes. The company I'm working for is a pretty small agile company, about 20 people, which means there isn't really an HR department to speak of. More specifically, it's a defense contractor that works on cutting edge technology (e.g. pre-shot sniper detection systems and binoculars that establish optical links which you can use to communicate). I don't say this to brag, merely to better frame my situation.
Anyways, I feel really incompetent at this place sometimes and I feel like I make a ton of mistakes. In fact, I feel like they could have hired from a huge pool of other cs undergraduates that could do a better job than me.
Does anyone have any similar experience or advice or anything? I don't know if my situation is typical or not...
|
Being in an environment like that should motivate you to do better. Mistakes happen, but learning from them is what's important.
|
No one is perfect...
Those other undergrads probably look great on paper as well but are human too
just watch, i bet if you pay attention you'll see that the actual employees make mistakes too
|
I wrote up a huge response and then realized that it was all a brag. For my summer job:
I probably wasn't the best choice, but I probably wasn't the worst either, and someone would take advantage of the opportunity. It might as well be me. I'm doing web design. Just finished a site for the company: specialized shift report with features similar to but more refined than basecamp: also features the ability to be expanded.
Still I get your point. There are lots of smarter students in my major than me, who might still be looking for jobs because they want a computer job and don't speak English as well as I do, or who just haven't had the same luck I've had.
|
Your situation is VERY typical. Depending on the complexity of a job, it can take years before you're confident in what you're doing. In jobs like software development, mistakes are practically unavoidable even for veteran programmers. As long as you learn from your mistakes and don't repeat them, you'll get better and gain respect on the job.
|
Don't worry about it. I've done 7 internships in the past, and I made tons of mistakes and received all very positive reviews. Your mentor or whoever you are working with is cognizant of the fact that you are an intern, and mistakes are part of the learning experience.
There is a reason you get paid less than they do, no one expects you to be perfect, just give it your best shot, be open to criticisms and learn from your mistakes.
|
It seems like a really strange way to use version control to me. Why was another developer relying on what you had checked out to do his work?
I also don't understand why you were expected to check out different versions of the project to different folders... The whole point of version control is that it handles revisions/branches so things like this don't happen.
Very confusing situation. It doesn't sound like it was your fault at all.
|
16938 Posts
The great thing about an internship is that it's your chance to make mistakes and learn from them with pretty much no consequence. You have a great opportunity to learn as much as possible, get a feel for how the company operates, and actually make a positive difference through your assigned projects. The people at the company know about the intern experience, and they understand that it's probably one of your first forays into whatever industry/environment you're interning in. Fellow employees are there to help you and coach you through your mistakes, and you shouldn't worry about making them, but rather about how you can get the most from your intern experience.
That's sourced directly from the Managing Director of Genzyme China (except she said it in Chinese, of course).
EDIT: Have you guys considered using Git for version control?
EDIT2: Oh, it looks like you do ... question answered hahaha.
|
Thanks for the support guys.
On July 19 2011 12:12 vek wrote: It seems like a really strange way to use version control to me. Why was another developer relying on what you had checked out to do his work?
I also don't understand why you were expected to check out different versions of the project to different folders... The whole point of version control is that it handles revisions/branches so things like this don't happen.
Very confusing situation. It doesn't sound like it was your fault at all.
Well, as with many things, it's kind of complicated. The original directory we were using was copied from a git repo. Ordinarily, one would just do a git pull and update it, but since it wasn't a git repo, we had to leave it there. We cloned the git repo containing the new code and that's why it was in a separate folder. After we had transitioned to the new code, we would have deleted the old, non-git folder.
As far as the developer relying on what I had checked out, let me provide more detail. The code that I had checked out is relatively low level code. It interfaces with a sensor module and at a very basic level, sends out well-formed messages. The other developer writes the server software that takes those messages and maintains a database and eventually interacts with the client, which is what I'm in charge of. Maybe it's less confusing now that I've explained it.
|
If you feel like you're smart or exceptionally effective at your internship you're probably working with some pretty shit people. You're expected to make mistakes and generally be the weakest person on the team, otherwise you wouldn't be an intern you would be a full time employee.
|
Man, I remember my first internship. Bumbled around like an idiot trying to learn sketchup and photoshop as fast as possible to keep up with the people I worked with. It was at this big architecture firm in Beijing too, so I didn't wanna be the cause of missed deadlines. The first couple of days can be harrowing, but what helped me was making friends and generally becoming comfortable in that work environment. When you aren't worrying left and right about random stuff, you'll naturally work more efficiently and make less mistakes.
|
I should probably mention that I've been working there for a year now, actually. Many people might think that it's just the whole getting into it thing, but after a year, I figure people should have their shit together. Furthermore, this isn't a company that actually has an internship program. Therefore, I don't get a whole lot of feedback. They have never had an intern before (and probably never will again after me, heh)
|
Im sure there were times even Bill Gate felt as you do....look where he is to day. Bottom line: its part of being human.
|
On July 19 2011 12:48 Xanbatou wrote: I should probably mention that I've been working there for a year now, actually. Many people might think that it's just the whole getting into it thing, but after a year, I figure people should have their shit together.
Then learn from your mistakes. Like you said in your OP, in hindsight, you probably could've checked the code out anyway. Next time someone tells you a new code is out, check it ASAP. Weigh your priorities.
I still think it's completely psychological. You've psyched yourself out by those little mistakes, and eventually, you worry so much that it effects your ability to work.
|
I'm afraid to ask for help so i spend an entire day just reading through proprietary source code and getting no where. Today I wrote 0 lines of code, i asked at the end of the day how to do it lol.
|
Oh god, I remember an internship last year now. Completely failed at a VB coding and got fired immediately. I didn't know how to parse TT SO SAD TT
You need to be able to ask for help chaotic! Putting off asking for help only makes it worse.
|
Well, it doesn't seem like anyone was really bothered by it today, so I think i'm okay.
However, today I learned that you should always have a release directory and a development directory. I didn't cause any problems, but I modified the client and I guess people were surprised because I never made an official release or anything. I typically make sure it works before we go out and demo it, but now that it's been pointed out, it makes a lot of sense to have both a development directory and a release directory.
Is this something they are supposed to teach you in school? Maybe I haven't taken that class yet. Or is that something that's taught in industry?
|
My advice to people with internships is this:
Its easier to ask for forgiveness than permission.
Don't be afraid to take some initiative and risks- not sure how to do something? Guess! Just be sure you have someone check your work before it becomes to official. I usually keep a running list of questions for my boss so I can ask him a bunch at once rather than one every ten minutes.
You're not expected to know everything as an intern- guessing right is more impressive than guessing wrong, which is more impressive than asking (IMO).
|
On July 20 2011 06:23 TwistedHelix wrote: My advice to people with internships is this:
Its easier to ask for forgiveness than permission.
Don't be afraid to take some initiative and risks- not sure how to do something? Guess! Just be sure you have someone check your work before it becomes to official. I usually keep a running list of questions for my boss so I can ask him a bunch at once rather than one every ten minutes.
You're not expected to know everything as an intern- guessing right is more impressive than guessing wrong, which is more impressive than asking (IMO).
Alternatively, couldn't you discuss your approach with whoever it is you are involved with, rather than waste your time doing something wrong? Then they get to see your insight, you learn, and you don't waste your time?
|
On July 19 2011 11:05 Xanbatou wrote: Anyways, I feel really incompetent at this place sometimes and I feel like I make a ton of mistakes. In fact, I feel like they could have hired from a huge pool of other cs undergraduates that could do a better job than me.
Does anyone have any similar experience or advice or anything? I don't know if my situation is typical or not...
Three years ago I interned at a paper mill (I'm a chemical engineer). I made a few small slips, but nothing worth writing home about. Then one day I was monitoring the flow of a chemical line. It's called a draw down where we shut off the chemical supply, run the chemical through a graduated cylinder, and time how much passes in a minute. The tube was dirty and felt that letting it drain would be beneficial. For about 20 seconds the machine wasn't getting this chemical. Two minutes two of the three paper machines went down as a result. They were down for an entire hour. One little mistake cost the company $20,000 in down time.
I got a lot of crap from floor workers and a slap on the wrist from the machine manager, but the plant manager's reaction was basically "meh, we all make mistakes, don't do it again". Over the course of the summer I made a couple more mistakes, one of which ruined 6 tons of paper and another spilled about 50 gallons of chemicals on the floor, but I learned a lot. When I got to my second internship last summer I rocked the house!
Then I got to grad school and started research. My mistakes are comparatively minor (ruining test runs, breaking equipment, etc.) but this fosters a sense of mindfulness around the lab (not to mention an appreciation of the equipment I keep fixing!).
Whenever you start a new job you screw up. The measure of an effective worker isn't how little they screw up but how much they learn. You will be expected to make mistakes because the people above you were in your shoes not too long ago.
|
|
|
|