package com.pgs.soft;
/**
* PGS Software to polska spółka informatyczna notowana na giełdzie.
* Jesteśmy jednym z największych polskich eksporterów branży IT.
* W naszych biurach we Wrocławiu i Rzeszowie zatrudniamy ponad 200
* programistów i testerów
* Tworzymy zaawansowane oprogramowanie dla klientów
* z Europy Zachodniej i USA.
*
*/
publicclass JavaDeveloper extends PgsTeam {
publicstaticfinal String WORKING_PLACE = "Rzeszów";
publicstaticfinal String REFERENCE_NUMBER = "IP-RZE-SJAVA-2013/06";
public JavaDeveloper(int experienceYears, boolean webProjects, boolean english, CV cv) {
super(experienceYears, webProjects, english, cv);
position();
requirements();
niceToHave();
configureWorkingEnvironment();
interview();
}
/**
* Define position at PGS
*/
privatevoid position() {
designAndImplement = true;
englishCommunication = true;
agileScrum = true;
}
/**
* Set up job requirements
*/
privatevoid requirements() {
qualified = experienceYears >= 2 && english && webProjects
&& cv.contains(new String[] { "Hibernate", "JPA", "Spring" });
}
/**
* Configure valued technical experience
*/
privatevoid niceToHave() {
niceToHaveTech = new String[] { "Camel", "Lucene", "GWT", "Vaadin",
"JQuery", "JSTL", "Apache CFX", "Groovy", "Grails", "Oracle" };
}
/**
* Set up PGS-SOFT offer
*/
privatevoid configureWorkingEnvironment() {
pgsWorkingEnvironment = new String[] {
"Stabilne zatrudnienie",
"Pracę w międzynarodowych zespołach",
"Rozwój na ścieżce eksperckiej lub managerskiej",
"Rzeczywisty wpływ na wybór technologii projektu",
"Możliwość zmiany projektu",
"Finansowanie certyfikacji technologicznej",
"Nieformalną atmosferę w naszym nowoczesnym biurze",
"Elastyczne godziny pracy",
"Prywatną opiekę medyczną",
"Kartę Multisport",
"Kursy języka angielskiego i niemieckiego",
"Drugie śniadanie i owoce",
"Pomoc w relokacji",
"Wyjazdy i imprezy integracyjne"
};
}
/**
* Validate interview proposal
*/
privatevoid interview() {
if (!qualified)
thrownew IllegalArgumentException("not qualified");
boolean techBonus = false;
for (String tech : niceToHaveTech) {
techBonus |= cv.contains(tech);
}
raiseEmploymentRate(techBonus);
if (AplikujCV.pressed()) {
requestInterviewWithCandidate();
}
}
}