Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask YC: "Get things done" Motivation?
3 points by brooksbp on Aug 4, 2008 | hide | past | favorite | 6 comments
about: undergrad CS/ECE. summer internship developing code for routers/switches. involves kernel-level programming in C with networking emphasis.

problem: I know, feature-wise, what I have to achieve. Though, it's in C, so I don't quite have the experience to judge how much code or time it will take; have a good estimate, but no super-god-like hacker experience. But the work is really boring. It's like implementing network protocols in C and doing other boring OS-level programming. Project is spec'd out. Waterfall dev model. The whole shabam.

I CAN'T GET MOTIVATED. I've written ~700 lines of code, roughly 30% done. I feel that if it was in a higher-level language I could just suck it up and hack it out within a week. But every time I try to muster up motivation I can't keep it up; and C really, really doesn't help. Feel like packing bits and not really achieving anything via my code.

Is this just the consequence of an academic-oriented, theoretical mind taking up a typical SE internship? Or am I really just inexperienced and whiny? What do you do or what have you done in the past to overcome projects that you know will take ~1-3 months of really boring work (dead-line driven)?



EDIT:

The only really thing I've been trying to do that will keep me focused is trying to learn C better. Writing more elegant code, reading books like "Expert C Programming", etc... but at times, I feel like this might be counter productive because it's not really helping me get work done, it's just helping me understand the code and refactor it in a better form. It doesn't necessarily boost my short-term productivity, but good for knowledge of C and long-term benefits.

I am a language-junkie though, and still relatively young in academia world. I feel as though if I'm not reading papers published on SIGPLAN, reading RSS (reddit, news.yc), doing school-related work, doing research, talking to professors, etc... then I'm not that excited.

Maybe software engineering isn't for me? Or is this project/company just too PHB-like and traditional? Thoughts? experiences?

Thanks for the feedback because I've been wondering this for a while and always doubting myself, but I love CS... just would like to hear what other people have to say about this.


Well, I tend to do the work - pleasure - work cycle as much as possible, just to keep myself balanced. On top of that, since you mention you enjoy working in higher-level languages more than C, here is a recommendation that has worked well for me: When you get stumped by a function or the like, pull out your favorite scripting language, and write up a solution in it. After that, adapt it to C. This process gets more and more efficient as you do it.


I wrote a prototype in Perl ~300 lines within a few days. The C implementation is just taking forever and involving too much pure software engineering overhead that I can't stand. It's driving me away. I can't get motivated. Too boring, too simple.

It's like trying to find a needle in a haystack (extremely boring task that will take a while without proper tools)... but every time I start looking, I start wondering how I would construct the barn differently, or how the stack of hay came to be, if it could be organized to find the needle more efficiently, or who owns the barn and what they plan on doing with the barn and the needle and the hay... etc...

you see?


the hard reality is that the environment you land in after academia is a grab bag. you won't know what you're getting, for the most part, until you're sitting in your cube, doing work. it might be familiar and easy, it might not. you're in an internship, so ride it out and if you don't like the work when you're done, go somewhere else.

pounding out work is difficult. schedule a timer like studying where you must sit and do work for a half our and give yourself a 10-15 minute break to do whatever you want. keeps your mind fresh.



In the interest of brevity: Suck it up, kid.

There are two types of work: stuff you do because you love and they would have to pull you kicking and screaming from, and stuff that needs to get done that nobody else is doing.

Startups (and the rest of the real world) are a combination of both. It's perfectly fine to pursue your dream, count your daisies, run with the wolves, or whatever else metaphor you want to use for having more control of your life. But guess what? When you get there, some bozo has to write the C protocol code, or something similar.

Get used to doing sucky things to the point that you don't let you boredom or lack of motivation keep you from chasing your dreams. It ain't nothing but a thing. Do it well. Learn the Zen of programming.

So much for brevity. (grin)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: