Even if you were somehow very good at programming but you hatted it, would you choose it as a job? I'd drop it immediately, don't waste your precious time on it.
This leaves one other option: If you loved it more than any other job but you sucked at it, what would you do? I'd say: Do yourself a favor and find a job where you do what you love. If you prove my advice to be bad, you'd be the first human who made it through childhood without the ability to get better by practice, so don't worry. (And certainly don't think you have be on the Linus/RMS level to do meaningful things.)
(The options for sucking and hating and for loving and excelling are obvious ;))
"Even if you were somehow very good at programming but you hated it, would you choose it as a job? I'd drop it immediately, don't waste your precious time on it."
Not everyone has that choice, as making a living and doing what you love are sometimes mutually exclusive. Casey Neistat washed dishes before he got into making viral videos. Einstein worked as a patent clerk. Dreamtheater's Mike Mangini worked in IT to pay the bills before finding a way to make a living doing what he loved.
TL;DR: find a way to pay the bills to make time to do what really matters to you
For some it's even worse; for me, "doing what I love" is not "programming", but "programming as long as it isn't my job". Weird and not 100% capturing the complexity (I increasingly believe I may have an attention deficit disorder on top of diagnosed depression I'm dealing with), but in my case it's: I program for money, often hating it, because I'm relatively competent at it, and then I program for fun because I love it. I would consider getting a job that doesn't trigger my mental weak spots but the value proposition for most things not related to software is pretty bad these days.
TL;DR: It may be worth programming even if you don't like it, because it pays well. Also, life sometimes deals shitty cards.
The one thing people don't tell you about "do the thing you love" for a job is that the people who make decisions and decide which projects to work on usually won't be you, unless what you love to do is be a manager or business owner, which I really don't (I can be project leader, but I don't want to stop programming entirely).
So yeah, I've worked for several companies where I've absolutely loathed the project, but that's what I was assigned to do, so I have to program for it, even though it bores me to tears.
Even when I was making games for a living, I sometimes ended up working on games that I knew were awful, but I wasn't in a position where I could switch to something else easily (I live in the Midwest, where gamedev jobs are scarce anyway, which is one reason why I got out of that industry anyway).
What do I want to work on? Whatever game or app concept I came up with that excites me at the moment.
Who's going to pay me good money to do that? No one.
So instead I'm currently working in an enterprise environment to help pay down my school loans while working on my own stuff with what little energy I have after work hours.
I program for money, often hating it, because I'm relatively competent at it, and then I program for fun because I love it
I'm in the same boat!
I increasingly believe I may have an attention deficit disorder on top of diagnosed depression I'm dealing with
Have you tried exercising, getting enough sleep, eating healthier, doing more "outside" or social activities and/or testing out nootropics like citicoline/noopept? All of these have helped me greatly! BTW, highly recommend checking out The Healthy Programmer book: https://pragprog.com/book/jkthp/the-healthy-programmer
> Have you tried exercising, getting enough sleep, eating healthier, doing more "outside" or social activities and/or testing out nootropics like citicoline/noopept?
Oh, the usual stuff ;). Tried all of these at various points; haven't noticed much difference, but I think I might not have tried enough. Going item-by-item:
- Exercising: probably not enough; the amounts I did didn't really affect much (except weight), but I'm going to try again, at a gym this time.
- I have problems going to sleeping due to depression and anxiety (I constantly feel I haven't done enough yet, so I can't go to sleep yet), combined with being generally a night person (after day spent with people I really appreciate the late hours without any face-to-face distractions). But when I finally fall asleep, no force on Earth or in Heaven can wake me before I get my 7-8 hours. Which annoys my employers.
- I try, but I just don't like green food :(. Cutting out sugar from diet did wonders to my weight and dental health, but didn't improve mood issues.
- I'm a very social person, people call bullshit on me when they hear me describing myself as an introvert (I usually send them this classic then: [0]). I frequent various events, both as an attendee and speaker, help run a local Hackerspace and have uncanny ability to serve as a translator between technical and untechnical people.
- Piractem & noopept - little to no noticeable effects. Nicotine (pure, in gums, I'm not a smoker) - helps stay up a little longer and improves my alcohol tolerance. Adrafinil - does wonders when I need to skip a night's sleep or feel the stress-induced tiredness during the day. I didn't try anything else.
> BTW, highly recommend checking out The Healthy Programmer book
Thanks, I'll check it out! I highly respect the Pragmatic Bookshelf for Pragmatic Programmer and Pragmatic Thinking and Learning. The book you linked is one hell of an expense, but if it could help, then I guess it may be worth it.
I read a trick about writing everything down you need to get done so you don't get that feeling at night your going to forget to do something in the morning. helps sometimes.
Perhaps when you have finished you education and are choosing a job, but certainly not for picking your education. The job market may be radically different by the time you enter it.
Even if you were somehow very good at programming but you hatted it, would you choose it as a job? I'd drop it immediately, don't waste your precious time on it.
I've seen plenty of people in the past (less so in the recent past) that did the job, weren't well-suited or it, didn't particularly like it, but they did it anyway. Why? Money. The kind of money that has you ordering stuff on Amazon and never once asking yourself if you have the money for it. You quit balancing your checkbook years ago. That kind of money. Not bathing in $100 bills kind of money, but enough coming in every year that you don't sweat small financial details. You don't do that on the median US income of $50K/year.
You claim if you hated it, you'd "drop it immediately". I don't know you, so maybe you would. But before you commit to that answer, recall that your annual pay might very well get cut in half or more. No more BMW leases for you. Now, maybe that's fine for you (and admittedly, if I could be a professional musician but only making half what I make, I'd take it in a heartbeat; don't need a BMW that badly).
But I knew plenty of folks in 80s (back when programming was the "hot new thing") that got into it because it paid well. They hated the job (probably because they weren't very good at it), but when the kids come and the spouse has become accustomed to a certain lifestyle, it's hard to give it up.
Right on. Enjoying it helps you accomplish the many hours that will bring you way beyond a natural. There is a lot of evidence that mastery is through practice --- not natural ability.
Oh they do, it's usually called "Null Pointer Exception" or "X is unbound"/"not an Y" these days, depending on one's particular taste for typing flavours :).
On the other hand, it is harder to make your monitor explode while trying out fancy graphics effects...
It's hard to say. Would I rather watch a TV show than solve a brain teaser? Yes. But I can replace "solve a brain teaser," with just about anything there. I'm not lazy, I can work, but I'd be lying if I said I enjoy work MORE than leisure.
I'm interested in the practical aspects of programming, like being able to create something that produces value out of nothing. That's something I can get excited about. I'm not stupid; with enough thought I can solve a lot of Codingbat-esque problems. But it feels like high school math class.
If the puzzle questions seem like high school math, I second the idea of building something. Try to get a website set up if that interests you. If not, try building a command line tool to help you with something you do regularly.
The act of trying to build something that works is an incredible learning experience, and will teach you a lot about whether or not programming is something you should pursue.
I enjoy programming, but not the slow / invisible result like any enterprise application, where you'll only see modules / sub-modules updated & no visible change...
What I actually love is scripting / automating repetitive tasks... Still programming, but somewhat different in satisfaction (for me anyway)
Yes, you must definitely enjoy it. When it becomes a chore or you don't look forward to working on something you're probably not one with "programming aptitude". That said, I have met people that could pick it up quickly and then stopped because it wasn't their thing.
Even if you were somehow very good at programming but you hatted it, would you choose it as a job? I'd drop it immediately, don't waste your precious time on it.
This leaves one other option: If you loved it more than any other job but you sucked at it, what would you do? I'd say: Do yourself a favor and find a job where you do what you love. If you prove my advice to be bad, you'd be the first human who made it through childhood without the ability to get better by practice, so don't worry. (And certainly don't think you have be on the Linus/RMS level to do meaningful things.)
(The options for sucking and hating and for loving and excelling are obvious ;))