private IInterviewStrategy GetStrategyForManager(InterviewedPerson person) { switch (person.Experience) { case Experience.Junior: return(new JuniorManagerStrategy()); case Experience.Medium: if (person.HiringType == HiringType.FullTime) { return(new MediumFullTimeManagerStrategy()); } else { return(new MediumNonFullTimeManagerStrategy()); } case Experience.Senior: case Experience.RockStar: return(new SeniorAndRockstarManagerStrategy()); default: throw new NotImplementedException("What kind of experience is this?"); } }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Give him a complex program to develop before he comes here"); Console.WriteLine("Prepare senior tester interview questions"); Console.WriteLine("Reserve a meeting with any 2 senior developers"); Console.WriteLine("Reserver a meeting with one of the managers"); }
private IInterviewStrategy GetStrategyForDevOp(InterviewedPerson person) { //It could get more complex, if we decide we want different process for different positions(part time/full time) switch (person.Experience) { case Experience.Junior: return(new JuniorDevOpStrategy()); case Experience.Medium: return(new MediumDevOpStrategy()); case Experience.Senior: return(new SeniorDevOpStrategy()); case Experience.RockStar: return(new RockstarDevOpStrategy()); default: throw new NotImplementedException("hiring for " + person.Experience + " is not implemented"); } }
public IInterviewStrategy GetInterviewStrategy(InterviewedPerson person) { Console.WriteLine("Reserve a meeting with one from HR"); switch (person.Role) { case Role.Devloper: return(GetDeveloperStrategy(person)); case Role.Designer: return(GetStrategyFOrDesigner(person)); case Role.Tester: return(GetStrategyForTester(person)); case Role.Manager: return(GetStrategyForManager(person)); case Role.DevOp: return(GetStrategyForDevOp(person)); default: throw new NotImplementedException("not implemented how to arrange interview for:" + person.Role); } }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Prepare senior tester interview questions"); Console.WriteLine("Reserve a meeting with any 2 senior testers"); Console.WriteLine("Reserver a meeting with one of the managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("We don't hire rockstar developers, because they are too cocky, this title was a trap"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Prepare medium developer interview questions"); Console.WriteLine("Give him a small program to develop before he comes here"); Console.WriteLine("Reserve a meeting with any senior developer"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Reserve a meeting with any medium/senior designer"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Give him a website to design"); Console.WriteLine("Reserve a meeting with best senior designers"); Console.WriteLine("Reserver a meeting with one of the managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Reserve a meeting with best senior DevOps"); Console.WriteLine("Reserver a meeting with one of the managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("We don't hire junior managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Reserver a meeting with all the managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("We dont hire Medium managers only full time"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("get third party rockstar testers to test him out"); Console.WriteLine("Reserver a meeting with one of the managers"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Give him medium designer test"); Console.WriteLine("Reserve a meeting with any senior designer"); }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Prepare junior tester interview questions"); Console.WriteLine("Reserve a meeting with any medium/senior tester");; }
public void Arrange(InterviewedPerson person) { Console.WriteLine("Reserve a meeting with any senior DevOps"); }