Whilst there seems to be no shortage of talented people looking for non-profit jobs, there is always a shortage of money, and my donating would be unlikely decrease anyone else's donations. So, I feel this is the more effective option.
That's probably a safe assumption to make in most charitable fields, but not in existential risk reduction. For example, there are not enough qualified candidates for the position of FAI programmer, or to lead the project that Nesov recently suggested.
Compare the following hypothetical scenarios:
Which is easier to remedy? I suspect 1, because people like Peter Thiel can probably be persuaded to donate significantly more money if only they thought FAI had a more realistic chance of success.
Come to think of it, your main comparative advantage is that you're young. There are plenty of people in the world who can be donors, but not too many who have realized, at an age like yours, that they should think strategically about how to change the future. Having such a realization can be compared to winning the lottery. It may be that you should aim to be a donor after all, but to do so without thinking very carefully about whether you can specialize in an area that the future will really need, would be to throw away the winning ticket instead of cashing it.
(ETA: The above assumes that the main thing that a young person can do that others can't (or can't do as well) is to become a specialist that the future will need badly. But perhaps there are others?)
You're smart, want to help the world and are willing to work hard. You have no serious ties such as children or a marriage that would prevent you from making serious changes to your life, and you are willing to place others needs ahead of your own hedonistic desires. Given this, what should you do?
Should you aim to get involved personally with causes you feel passionately about? You can have greater control over your contribution if you do this, but can you achieve the most good in this way? Should you operate at a meta-level, such as by trying to convince other people to change their charitable giving, attempting to influence government policy, or by raising awareness of existential risks, or should you try and directly tackle the problems facing the world -- such as by donating money yourself, or by tackling open problems in friendly AI?
Once you've figured out what to do, you still have to find a way to support yourself, and fund any organizations or projects you wish to support. You could work for an existing organization active in the area that you are interested in - bearing in mind that ones contribution will only be the benefit of hiring you rather than the next-best guy. Or you could work in a completely unrelated job, and work part-time on the cause you are interested in; this is a route followed by many open source developers, e.g. the prolific Fabrice Bellard. Alternatively, you could aim to earn as much money as possible, and use this money to fund causes or projects you are interested in; this is the route followed by Jeff Hawkins, who founded Palm, Inc. in order to fund AI and neuroscience research, as well as notable philantropists such as Bill Gates and Warren Buffet.
The problem is a simple one: how should one lead ones life in order to maximize the positive impact it has on others? There is an ample amount of data to draw from, such as charity rankings by GiveWell, salary data and personal experience. If rationality has any real-world benefits, then a discussion amongst rationalists should make it possible for substantially better decisions to be made than would otherwise be the case.
References
Existential Risk Reduction Careers Network
Thiel Fellows
Income and happiness (Wikipedia)
Cost effectiveness of aid (GiveWell)