As others have pointed out, it truly depends on what you're trying to achieve with Tridion. If you take it from a pure WCM point of view (content management + publishing) then you'll be fine with basic programming knowledge and some time to adapt to Visual Studio and learning Tridion's Modular Templating. Its is very common too see a set of simple templates in Tridion that really just push a structured data model to the delivery tier (using XML or JSON) which your web application then uses to create layouts, views, etc.
If you're going to implement Tridion in a workflow-heavy, automation-heavy, customization-heavy type of environment/organization, then you're in for a ride.
If you're looking to do Workflow tasks:
- Learn WCF - half the problems you'll have are related to knowing how WCF works rather than Tridion. There are plenty of resources out there about Windows Communication Foundation, and many Tridion CoreService samples out there. Google truly is your friend
If you're looking to do Event automation (auto-publishing, auto-page creation, etc)
- The Tridion Object Model for .NET (TOM.NET) is where you'll spend a lot of time, and understanding the intricacies of Blueprint contexts. Knowing about .NET event handlers will also not hurt, but the main learning curve here is the TOM. Any good developer (in any OO language) should pick up the fundamentals of the Event System rather quickly, .NET knowledge comes in very handy when dealing with memory leaks in your code or performance bottlenecks.
If you're looking into customizing the Tridion UI (CME or Experience Manager)
From an admin point of view, it really helps to understand WCF configuration (especially when dealing with SSO and LDAP) and IIS configuration.