Ile zarabiacie - wizualizacja

10

Z okazji zostania juniorkiem javy udostępniam wszystkim aplikację do wizualizacji wyników wątku Ile zarabiacie?

https://julian4programmers.shinyapps.io/programista15k/

Załączam także plik z danymi.
Na ten moment wyłuskano 1446 poprawnych wpisów.

5

Po co to się zadręczać, patrzmy na siebie, a nie na innych, szkoda życia ;)

0

Średnia zarobków najwyższa w wielkopolskim? Coś tu nie gra :)

1
ralf napisał(a):

Średnia zarobków najwyższa w wielkopolskim? Coś tu nie gra :)

db.getCollection("4programmers").find({"Message.area":"WIELKOPOLSKIE"})
   .sort({"Message.Salary.monthlyValue":-1})
20
czysteskarpety napisał(a):

Po co to się zadręczać, patrzmy na siebie, a nie na innych, szkoda życia ;)

Gdyby nie ten wątek(ile zarabiacie?) do dalej bym tyrał za 3k u janusza, więc ciesze sie, że akurat w tym aspekcie patrzyłem na innych :D

2

Meh...

screenshot-20191008153752.png

2

Zgadzam się że takie wątki są potrzebne. W 2013 roku pracowałem jako programista PHP za około 3,2k zł netto na umowie łącznej UoP+UoD. Później w 2014 roku w innej firmie miałem już 4,5 netto na umowie łącznej UoP+UoD. Wtedy koledzy zdradzili mi że mają znacznie więcej. Więc sięgnąłem jeszcze wyżej i 2016 roku zmieniłem prace. Na początek miałem 6,5 netto +1k premii tylko UoP, a obecnie 6,7k + 2k netto premii.

Mysle że warto co jakiś czas się rozglądać i śledzić wątek ile zarabiacie. Z doświadczenia wiem że są różne firmy jedne stać żeby zatrudnić programistę np. za max 5k a inne są w stanie zapłacić znacznie więcej. Często zdarzają się również rekrutacje na których zdarzają się pytania trudne, po to żeby wynegocjować nawet o połowę niższą stawkę. Ale w końcu trafia się na odpowiednią firmę.

0
serek napisał(a):

Meh...

Jak na juniora to i tak nie najgorzej :]

1
serek napisał(a):

Meh...

screenshot-20191008153752.png

Bo wyfiltrowales tak o:
!(exp >= 2 years) & !(exp < 2 years) ;)
Niestety filtry sa jakie sa poki co.

2

Dane do poprawki:
"authorNick" : "Benutzername",
"Salary" : {
"monthlyValue" : 120000,
"exchangeRate" : 1
},

3

Na razie niestety nie jest to narzędzie do wizualizacji ale dezinformacji. Poza stworzeniem softu powinieneś chociaż chwile poświęcić na przejrzenie danych, żeby nie produkowały takich absurdalnych wyników oraz zastosować metody statystyczne do odrzucania grubych błędów. Niestety ale własnie teraz jest ten etap kiedy przychodzą upierdliwi użytkownicy i marudzą :)

1

Jeśli znasz Pythona, to warto zainteresowac się dashem (by Plotly). Podoba mi się to, że po prostu zacząłeś to kodzić i mamy pierwsze demo. Wielu danologów na tym forum (wliczając mnie) miało tylko chęci, by te dane wizualizować, i nic poza tym :) Tak jak pisała osoba wyżej, pracowałbym teraz nad danymi oraz metodami parsowania. Wróżę popularność temu projektowi.

0
Benutzername napisał(a):

Dane do poprawki:
"authorNick" : "Benutzername",
"Salary" : {
"monthlyValue" : 120000,
"exchangeRate" : 1
},

Dzięki za cynk.
Dodałem ten pojedynczy przypadek do testów:

@RunWith(Parameterized.class)
public class SalaryValueScrapperTest extends ScrapperTest<Integer> {

	@Parameters
	public static List<Object[]> data() {
		return Arrays.asList(new Object[][] {
// ...
			{ true, 10000, "<p>Bylo:<br> Doświadczenie 7-13 lat<br> Wykształcenie: mgr inz<br> Stanowisko: Senior / Lead Java Developer<br> Zarobki: 120k-130k CHF rocznie (net 8.3k-9.3k miesiecznie)<br> Miasto: Zurych</p> \\n<p>" } 
		});
	}

// ...

}

i zmieniłem w silniku:

  1. currency:

Dodałem CHF do enuma z walutami, a w traitService:

// ...
String chf = RegexUtils.transformRegexToTreatAsSeparateWord("chf");

TraitService<CurrencySalary>()
// ...
    .add(new TraitStrategy<>(chf, chf, x -> CurrencySalary.CHF))`
// ...
  1. value:
// ...
String yearlyPattern = ".*rocznie.*(\\.|<p>|<br>)";
// ...
TraitService<Integer> service = new TraitService<Integer>()
    .add(new TraitStrategy<>(thousandsCommaPattern + yearlyPattern, valuePattern, new IntMapper(1000.0/12.0)))
// ...

Rezultaty:

db.getCollection("4programmers").find({"Message.Salary.currency":"CHF"}).count()

było: 0 jest: 1

db.getCollection("4programmers").aggregate([
    { 
       $match: {
           "date":{$lt: ISODate("2019-10-07T00:00:00.000Z")}
       }
        
    },
    {
       $group: {
           _id: null,
           averagas: {
               $avg: "$Message.Salary.monthlyValue"
               
           }
       }
    }
])

było: 8 669 jest: 8 626

W załączeniu json.

Jak znajdziecie inne błędy to możecie zgłaszać ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1