Yeah, the Title of this blog sounds like a job opportunity... but that's intentional. I am proposing a job opportunity -- in the FOSS style 
When discussing with Aaron Seigo tonight about some old functions in KApplication that we wanted to move or remove from KDE4, we came up with the conclusion that we instead needed a new class. We've called it KAutoSaveFile and its purpose is to allow application writers to easily:
- Write unsaved data to a temporary file, in case the application crashes or the power goes out or something drastic like that.
- Determine if there is such unsaved data left behind and offer the user to recover it.
Fairly simple, eh? Well, we'd like to have someone to do that for us. Someone fairly motivated by open source and KDE, with good knowledge of C++, preferrably someone who isn't already a KDE core developer (knowledge of the KDE library policies is certainly welcome). I'll be coaching you and helping you along the way with my own ideas about this. Think of this like a very short Summer of Code or Season of KDE. But without any money.
And to kickstart this little adventure, we've already prepared the header file for the class! All you have to do is write the .cpp file for it.
If you're interested, just let me know.
Great idea in general
I think your plan is a great way to introduce new developers to KDE. But wouldn't it be even better to make it more general so that it could apply to KDE as a whole?
I know about the Junior Jobs, but I don't think that they are a very efficient way of attracting new developers. A much better way would be to create a new site with "job-listings" like this, where a user could pick a task or sub-project that sounds interesting. An experienced developer would then be assigned as a sort of "mentor", so that the potential new developer would know exactly who to contact in case of problems or questions.
The experienced dev could probably save time by completing the task himself insetad of mentoring, but that's probably not very smart in the long run, since attracting new developers to the project is very important.
And here I thought "yes,
And here I thought "yes, this is the opportunity to force myself to contribute to KDE" and you ruin it all by saying "with good knowledge of C++". *sigh*
My C++ knowledge is severely lacking, especially considering I've been mainly doing Java for the last.... well forever it seems
C++? Pah!
There are lots of ways to contribute to KDE without knowing C++: docs writing, translation, artwork, promotion, user support, and bug triage.
Bug triage is something you might be interested in if you're already familiar with programming (although you don't actually need to *do* any programming): it involves looking at bug reports on bugs.kde.org and closing duplicates, confirming reports that can be confirmed, asking for more information where required - basically, anything that will make it easier for coders to actually *fix* the bugs later.
Take a look at http://developernew.kde.org/Contribute/Bugsquad for more info
Phil is right
Phil is right. There are more ways to contribute, of course.
You can even contribute with Java code if you want. It just won't be this little class I proposed.
No no, I'm a software
No no, I'm a software engineer, I love programming and as proper I hate write documentation
And it's not that I don't know any C++. It's just when I read it I was like "great, now I can dust off some of that knowledge" until I read I had to be actually "good" at it
But that's the thing guys, I know all of you are trying hard and I know there are places to start, but maybe there are too many places to start. That's why this small project with the offer of coaching stood out to me, that way you can get started quickly because there is someone "to hold your hand".
But if you know a good way to get started, I'm all ears! (quintesseATgmailDOTcom)
KOffice
Is this requested functionality different from what KOffice does currently?
Have you tried stealing that code?
Hmm.. good point. No, I
Hmm.. good point. No, I didn't look at that code.
Maybe KOffice's functionality is the class that we want. Maybe it does more than we want in kdecore. But I'll leave that for the adventurer to determine.