Consider a system of queuing stations in tandem having both flexible servers (who are capable of working at multiple stations) and dedicated servers (who can only work at the station to which they are dedicated). We study the dynamic assignment of servers to stations in such systems with the goal of maximizing the long-run average throughput. We also investigate how the number of flexible servers influences the throughput and compare the improvement that is obtained by cross-training another server (i.e., increasing flexibility) with the improvement obtained by adding a resource (i.e., a new server or a buffer space). Finally, we show that having only one flexible server is sufficient for achieving near-optimal throughput in certain systems with moderate to large buffer sizes (the optimal throughput is attained by having all servers flexible). Our focus is on systems with generalist servers who are equally skilled at all tasks, but we also consider systems with arbitrary service rates.