Well I think if you start with C++, the usual standard, it makes everything else seem easy afterward.
I don't think it is particularly useful at home but going to know about some basic programming may, as a side effect, make you more tech savvy and thus be able to handle your computer systems better.
For a job, it's tough. A lot of people get a degree, think that's the end of it when it's only the first step and then find out they can't get a job. These days, having a degree is a minimum, so you have to do a lot on your own to show that you're both motivated and skilled (such as personal pet projects, joining in on open source stuff, maybe making coding blogs). Basically, the shittier your degree, the more you have to do on your own. If I saw you had an MIT degree in computer science/computer engineering, I would go, hey that's pretty good I'd like to give you a shot at a job. But if instead I saw you had a degree from a state university in say [insert crappy state here], then instead I would be really hesitant and think "that degree is meaningless". Then you take on "I made this mobile app, which is basically pacman" and then I'd be very interested again, ask you how you went about it, your design philosophy, the kind of data structures you used, why you chose to do things... and probably a bunch of technical questions.
Good programming jobs usually use technical interviews these days and they involve three things (not counting the basic, "who are you" fluff questions)
- Behavioural questions where the interviewer asks you about your projects, past work experience, internships, what kind of technical problems you faced and what sort of solutions you wanted to go for
- Puzzle questions (less popular now) where they want to see you logically work through puzzles
- Straight language or coding questions. These are either one-shot (eg. "What is the difference between malloc and new in c++?") or longer (eg. "Okay let's say I have a game which has a x by x square grid and in each is a letter. I can start at any square, move up/down/left/right/diagonal and but not go over a square more than once, in how many ways can i make english words?")