Hi there! Haven't said anything yet, as I've been a bit too busy
I'm a Computer Science student, so feel free to ask any programming related questions in the Development forum and I'll try to answer them. I did program in Pascal 3 or 4 years ago, but have completely forgotten the syntax. However, you'll find that most programming languages will have the same capabilities / control structures (functions, ifs, loops). If you pose the questions at that level of abstraction, we could go from there
Regarding SDL, it's simply a graphical library. This means that with it you can call functions that will, for example, open up a window, load images from disk, and draw them on screen. You will find libraries for all kinds of things, like (specialized) math functions, game development, network communication, and all sorts of stuff. Libraries are a way to abstract and modularize code, much like the engine idea you mentioned
Ncurses/crt might be a better choice. Instead of drawing images, it simply gives you the ability to write characters to a matrix (just like mathematical matrices) on-screen. So if you want the player to be at position (2,4), you can tell it to put character '@' at that position
That's it, plus a few other things. I recommend this, since graphic libraries have a tendency to involve a lot of error handling, which is bothersome and ugly.
Although some will argue that object-orientation is bad for learning programming, I now believe otherwise. It is a great abstraction! You can think of everything you do in terms of real-life objects! I think it might be easier to get into programming that way. Want a player? Program a Player class that contains everything that a player has, and offer functions for everything that a player can do! Want an object? Program an Object class... want some objects to be wieldable (and inflict damage), but retain stuff that is still valid from Object (such as weight, shape, etc?), then say that class Wieldable is the same as Object, but "specialized", by adding damage, type of damage, etc. That's basically inheritance for you.
If you have some time on your hands and are enthusiastic about it, I would recommend learning programming. It can be a wonderful thing to finally get something working. You will feel great about elegant solutions to problems, and perfect your logical reasoning ability. Plus, like it's been said, it's a marketable skill, and useful too.
Like others have said, keep it small for starters. I've never done roguelikes, but will happily give suggestions and follow your progress on this forum. Not that I have a lot of time on my hands, but there you go. I'm sure others will be willing to help too
Have a good stay!
-- edit --
Oops, a little big here. Sorry if I overextended myself, but let me just say that you will be very hard pressed indeed to find a programmer willing to "work for you". Most have projects of their own, or are too busy, and, like pointed out, while it can be satisfying, it is hard work. You'll find most programmers want to derive some fun from the other parts, or maybe it is the conjunction of both work and design coming to life that makes them 'tick'. That's my case
I enjoy programming, but not enough to do it "just because", and I don't particularly enjoy simply designing things. I need to think them up, and do them myself, see them growing piece by piece