From e730ee89fe7293d7bfe5aad99cd2075143f26e1b Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Mon, 4 Sep 2023 15:40:25 +0300 Subject: [PATCH] Tweak everything for 2023 --- .github/workflows/build.yml | 6 + .pre-commit-config.yaml | 14 + LICENSE | 22 + Makefile | 5 +- data/2023/results-en.tsv | 60 +++ data/2023/results-en.xlsx | Bin 0 -> 12931 bytes data/2023/results-fi.tsv | 897 +++++++++++++++++++++++++++++++++++ data/2023/results-fi.xlsx | Bin 0 -> 94903 bytes pulkka/chart_utils.py | 11 +- pulkka/column_maps.py | 180 +++++++ pulkka/data_ingest.py | 301 +++++++----- pulkka/data_utils.py | 12 +- pulkka/generate_charts.py | 25 +- pulkka/generate_profiling.py | 8 +- pulkka/massage_outputs.py | 10 +- requirements.in | 1 + requirements.txt | 17 +- ruff.toml | 7 + template/index.html | 20 +- 19 files changed, 1453 insertions(+), 143 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 LICENSE create mode 100644 data/2023/results-en.tsv create mode 100644 data/2023/results-en.xlsx create mode 100644 data/2023/results-fi.tsv create mode 100644 data/2023/results-fi.xlsx create mode 100644 pulkka/column_maps.py create mode 100644 ruff.toml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15b496d..84e2965 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,7 @@ jobs: GENERATE_SOURCEMAP: 'false' - run: cp -a analysaattori/dist ./out/analysaattori - run: ls -laR out + - run: touch out/.nojekyll - name: Deploy uses: JamesIves/github-pages-deploy-action@v4 with: @@ -44,3 +45,8 @@ jobs: folder: out clean: false if: ${{ github.event_name == 'push' }} + env: + GIT_AUTHOR_EMAIL: "koodiklinikka-robot@example.com" + GIT_AUTHOR_NAME: "Koodiklinikka Robot" + GIT_COMMITTER_EMAIL: "koodiklinikka-robot@example.com" + GIT_COMMITTER_NAME: "Koodiklinikka Robot" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..a59bf70 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,14 @@ +minimum_pre_commit_version: 2.15.0 +ci: + autofix_prs: false +repos: + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.0.291 + hooks: + - id: ruff + args: + - --fix + - repo: https://github.com/psf/black + rev: 23.9.1 + hooks: + - id: black diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b809b7c --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2021-2023 Aarni Koskela + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile index df48f61..2621643 100644 --- a/Makefile +++ b/Makefile @@ -12,8 +12,6 @@ export DATA_DIR export OUT_DIR export YEAR -# Comment this .PHONY out to not have to download the data every time: -.PHONY: all-data all: all-data copy-raw-data massage charts profiling @@ -35,6 +33,9 @@ charts: all-data profiling: all-data python -m pulkka.generate_profiling +# Comment this .PHONY out to not have to download the data every time: +.PHONY: $(DATA_DIR)/results-fi.xlsx $(DATA_DIR)/results-fi.tsv $(DATA_DIR)/results-en.xlsx $(DATA_DIR)/results-en.tsv + all-data: $(DATA_DIR)/results-fi.xlsx $(DATA_DIR)/results-fi.tsv $(DATA_DIR)/results-en.xlsx $(DATA_DIR)/results-en.tsv $(DATA_DIR): diff --git a/data/2023/results-en.tsv b/data/2023/results-en.tsv new file mode 100644 index 0000000..9d26e08 --- /dev/null +++ b/data/2023/results-en.tsv @@ -0,0 +1,60 @@ +Timestamp Employee or entrepreneur Have you switched from employment to entrepreneurship or vice versa after 1.10.2022? Age Gender Relevant work experience from the industry (in years) Education Change in income from last year (in %) How many years have you worked as an entrepreneur in this industry? What services do you offer? Hourly rate (VAT 0%, in euros) Yearly billing (VAT 0%, in euros) Do you use agencies or find your clients yourself? Where are your clients from? Company In which city is your office? What kind of a company you work in? Full time / part time How much of your work time you spend in company office? (in %) Role / title Monthly salary (gross, in EUR) Yearly income (incl. bonuses, etc; in EUR) Free description of your compensation model Is your salary competitive? What was left unasked that you want to answer to? Feedback of the survey +03/09/2023 12:01:25 Employee Yes, from entrepreneur to employee 26-30 test 6 MSc in Engineering Capital region (Helsinki, Espoo, Vantaa) Consulting 100 100 Test Web developer 5200 63000 Company bonus No Testing Thanks for english +03/09/2023 12:02:04 Entrepreneur Yes, from employee to entrepreneur < 15 yrs 12 12 Web dev 240 240000 Myself Finland +04/09/2023 09:48:37 Employee No 31-35 Male 14 Ylioppilas 20 Capital region (Helsinki, Espoo, Vantaa) Product company with softaware as their core business 100 20 Backend developer 7300 250000 Yes +04/09/2023 10:47:14 Employee No 41-45 Male 20 BBA 0 No HQ Product company with softaware as their core business 120 0 CTO 4500 54000 No +04/09/2023 12:37:38 Employee No 31-35 man 2 self-taught 5 Capital region (Helsinki, Espoo, Vantaa) Product company with softaware as their core business 100 80 Junior Full Stack Developer 3800 Yes +05/09/2023 11:01:44 Employee No 36-40 Male 14 MSc. in Software Engineering 0 Arado Turku Consulting 100 40 Fullstack developer 7100 86000 Our salary model is 50% from what we invoice (with base salary to help if there's no billable work) Yes Good stuff again, really nice that people find time to create and organize these surveys! +05/09/2023 12:23:29 Entrepreneur Yes, from employee to entrepreneur 46-50 male 22 M.Sc. Computer Science 5 1 backend, architecture, project management 80 130000 Agencies Abroad +06/09/2023 08:31:45 Employee No 26-30 Male 5 Bachelors degree in ICT 5 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 5 backend developer 3900 50000 No +06/09/2023 10:55:16 Entrepreneur No 36-40 15 PhD +10 2.5 Architecture, Cloud, Data, Software Development, Big Data 120 300000 Myself Finland, Abroad +06/09/2023 12:02:21 Employee No 41-45 20 Insinööri 3.5 100 20 architect 7400 91250 Yes +07/09/2023 11:14:35 Employee No 21-25 Male 1 University dropout 30 Oulu Consulting 100 10 Full-stack developer 3000 36000 Yes +07/09/2023 11:31:35 Employee No 36-40 23 University of applied sciences. 0 Capital region (Helsinki, Espoo, Vantaa) Consulting 85 5 Senior developer 4080 No +07/09/2023 11:48:39 Employee No 26-30 Male 4 University of Applied Sciences, Bachelor 12 Capital region (Helsinki, Espoo, Vantaa) Consulting 80 100 DevOps Engineer 4050 46000 I don't know +08/09/2023 08:29:51 Employee No 36-40 Female 8 AMK 7.5 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 2 Senior frontend developer and manager 4300 54000 Salary, vacation money, benefit for culture and sports No It's hard to know if salary is competitive if we do not have a baseline +08/09/2023 11:51:53 Employee No 31-35 woman 7 Bachelor of Engineering 1 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 10 iOS developer 6000 72000 no benefits at all No +08/09/2023 12:49:04 Employee No 26-30 Male 3 M.Sc. in Business Administration 30 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 3 Process Developer / Technical Writer 3900 52000 I don't know +08/09/2023 13:11:25 Employee No 31-35 male 10 Bachelor of Science 2.09 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 15 Senior Software Engineer 5310 66375 Salary and holiday pay based on collective agreement No +08/09/2023 13:13:02 Employee No 26-30 Male 3 Tietotekniikan DI 33 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 0 Mobile developer 4800 60000 Tuntipalkka Yes +08/09/2023 13:15:59 Employee No 26-30 F 4.5 AMK Insinööri 10 Wolt Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 0 Software Engineer 4950 Yes +08/09/2023 13:20:45 Employee No 36-40 Male 15 Doctoral Degree 3.5 Jyväskylä A company where software is support role (for example banks or healthcare) 100 100 Senior sensor engineer and project manager 5100 63000 Some stock option program No +08/09/2023 13:24:47 Employee No 31-35 Male 11 Datanome, BCompSc 16 Working from home (Turku) for a US-based company Product company with software as their core business 100 0 Senior Software Engineer 10920 136000 Fringe benefit, workstation upgrades and virtual taco handouts between employees (appreciation) Yes While I work for a US-based company, I'm hired via Deel Nothing comes to mind, this was great and thanks for doing these every year! +08/09/2023 13:26:10 Employee No 31-35 Female 7 Bachelor degree in CS 15 Capital region (Helsinki, Espoo, Vantaa) A company where software is support role (for example banks or healthcare) 100 0 software developer 6000 100000 Salary + stock options Yes +08/09/2023 13:30:18 Employee No 31-35 male 11 Datanome, BCompSc 16 I work from home (Turku) for a US-based company Product company with software as their core business 100 0 Senior Software Engineer 10920 136000 Fringe benefit, workstation upgrades, and virtual tacos gifted between employees (appreciation) Yes While I work for a US-based company, I'm hired via Deel SUBMITTED TWICE, SORRY!! I had two of these tabs open and my previous submission was partial (don't know what was missing so I submitted the correct one now). Hope you can filter out the previous one. Again, sorry for the mixup. +08/09/2023 13:36:54 Employee No 36-40 Male 12 Master of Computer Engineering 2 Capital region (Helsinki, Espoo, Vantaa) A company where software is support role (for example banks or healthcare) 100 10 Software Developer 5700 71000 Base + Bonus Yes +08/09/2023 13:37:25 Employee No 36-40 Male 1 MSc Tietoevry Capital region (Helsinki, Espoo, Vantaa) Consulting 100 5 Software developer 3400 0 Yes +08/09/2023 14:10:59 Employee No 31-35 Male 7 Master of Science (Economics and Business Administration) 11 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 50 Software Engineer 6700 80000 Salary + equity No +08/09/2023 14:12:39 Employee No 26-30 Male 3 Master's in Computer Science 0 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 80 Software Engineer 4500 54000 Stock options + pay No +08/09/2023 14:26:31 Employee No 36-40 Male 20 Elementary 0 Tampere Consulting 100 50 Lead 12100 150000 Salary No +08/09/2023 14:42:43 Employee No 26-30 Male 5.5 High school 12 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 10 Full stack developer 3800 45600 No +08/09/2023 15:11:46 Employee No 26-30 Male 7 Bachelor's degree in statistics 3 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 2 Data Engineer 6000 96000 salary + RSUs Unsure +08/09/2023 16:08:49 Employee No 31-35 male 15 master's degree in information systems -20 Smartly.io Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 40 Senior Software Engineer 6500 80000 Yes +08/09/2023 18:55:41 Employee No 41-45 Man 20 Bachelor 4 Capital region (Helsinki, Espoo, Vantaa) A company where software is support role (for example banks or healthcare) 100 10 full stack software developer 5940 73740 Don't know +09/09/2023 09:26:57 Employee No 51-55 Male 23 Matriculation examination 6.16 Tampere Consulting 100 20 Cloud Specialist 5650 70625 Yes +11/09/2023 08:16:14 Employee No 36-40 Male 14 AMK 0 Capital region (Helsinki, Espoo, Vantaa) Consulting 80 0 Hands-on architect 4200 94000 Part salary, part dividends Yes - You should ask about the ownership of the company, and the size of the ownership that the company is willing to give to regular employees. Great survey anyhow! +11/09/2023 09:16:04 Employee No 41-45 male 15 Bachelor of business administration, IT 8.7 Tampere Consulting 100 40 Tech lead 5000 62740 Yes +11/09/2023 13:17:56 Employee No 46-50 Male 25 High school 5 Tampere Consulting 100 90 Software architect 5600 70000 Yes +11/09/2023 14:36:59 Employee No 31-35 Female 3 Bachelors Degree (Information Technology) 48 Tampere Consulting 100 10 Cloud Engineer 4150 49800 Yes +12/09/2023 19:23:45 Employee No 41-45 19 2x MSc Capital region (Helsinki, Espoo, Vantaa) Consulting 100 20 Senior DevOps Consultant 6500 81250 The usual lunch vouchers, etc. No +13/09/2023 09:57:20 Employee No 26-30 Male 7 Undergraduate 9 Liikennevirta Oy Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 5 Senior Infrastructure Engineer 5800 82000 Yes +15/09/2023 17:56:25 Employee No 41-45 Male 24 Master of Science 4 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 100 CTO 6000 72000 Salary, but also some share options which are useless for now Maybe, depends on how much we value our startup share options +17/09/2023 16:48:43 Employee No 46-50 Male 20 1 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 20 Developer & Team Lead 4475 56000 Yes +18/09/2023 08:17:57 Employee No 46-50 Male 32 Master's Degree 3 Mapbox Oy Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 25 Engineering Manager 13390 168714 Just salary Yes +18/09/2023 12:48:30 Employee No 26-30 Male 5 Upper secondary school 15 Capital region (Helsinki, Espoo, Vantaa) A company where software is support role (for example banks or healthcare) 100 20 Full stack developer 4050 50625 No +20/09/2023 07:54:09 Employee No 36-40 Male 14 University of applied sciences 7 Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 85 nodejs fullstack developer 9900 120000 only compensation Yes +20/09/2023 11:25:20 Employee No 31-35 Women 6 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 30 Full Stack Developer 4500 54000 No +20/09/2023 21:36:09 Employee No 31-35 male 10 bachelor's 6 Mapbox Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 80 Android developer 10000 125000 Yes +21/09/2023 09:54:43 Employee No 31-35 Male 9 Masters in computer science 5 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 50 DevOps Consultant 5700 72000 Yes +21/09/2023 12:08:39 Employee No 26-30 Woman 5 Master's degree and lower university degree +4 Solita Tampere Consulting 100 40 Integration specialist 4479 55459 Salary and mobilephone compensation I dunno +21/09/2023 12:57:35 Employee No 36-40 Trans woman 16 Collage drop out +10 Oulu Consulting 100 45 5871 70500 Monthly salery Yes Do you have other responsibilities besides software development? Yes, managerial responsibilities +22/09/2023 07:37:57 Employee No 36-40 Female 12 Bachelor of engineering 7 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 10 Senior web developer, accessibility specialist 4400 53000 Don't know +22/09/2023 08:23:42 Employee No 36-40 female 9 PhD 13 Capital region (Helsinki, Espoo, Vantaa) Consulting 80 60 Senior web developer, Techical competence manager 5200 67600 No +22/09/2023 08:27:22 Employee No 46-50 6.5 Exove Oy Capital region (Helsinki, Espoo, Vantaa) Consulting 100 10 Senior developer 4920 62000 +22/09/2023 08:31:34 Employee No 26-30 woman 7 Master of science in IT 0 Oulu Consulting 100 30 Full stack software developer 4900 62500 Yes +22/09/2023 08:33:02 Employee No 26-30 Male 7.5 Vocational college + some university 8 Oulu Consulting 100 90 Senior Developer / Manager 5000 68000 Yes +22/09/2023 10:58:37 Employee No 26-30 Male 4 Bachelor's degree in media engineeering 19 Capital region (Helsinki, Espoo, Vantaa) Consulting 100 60 Support Developer 3100 40000 Yes +22/09/2023 11:29:22 Employee No 41-45 Female 0.5 Trade School certificate in relevant industry, Bachelor degree in other discipline Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 60 Fullstack Web Developer 3000 No +22/09/2023 13:23:28 Employee No 31-35 Male 8 Bachelor in IT 9 Oulu Consulting 100 5 Software Developer 4600 58000 Just the salary I belive it's in the middle. I could probably earn a bit more, or a bit less elsewhere with the same salary model. Naturally it's not competitive wrt. provisiopalkka, but it's not really fair to compare the two. +22/09/2023 14:19:12 Employee No 26-30 Male 4 Bachelor of engineering 0 Exove Capital region (Helsinki, Espoo, Vantaa) Product company with software as their core business 100 5 Support developer 3700 3700 100% salary Yes +22/09/2023 14:20:35 Entrepreneur No 41-45 Yes 22 Industrial Engineering 5 Front end, back end, fullstack, web, mobile, Integrations, maintenance 0 0 Myself, Agencies Finland \ No newline at end of file diff --git a/data/2023/results-en.xlsx b/data/2023/results-en.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..268d84f8dc3ed12f885cebddc532410e35c0cdbf GIT binary patch literal 12931 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±9>UJv6FXkfjR%Di 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 tulevaisuudessa optioita Kyllä +04/09/2023 19:16:08 Laskuttaja En 36-40 Mies 15 Filosofian Maisteri, Tietojenkäsittelytiede 0 2 Full-stack devausta 95 157000 Käytän välitysfirmoja Suomesta +04/09/2023 19:26:24 Laskuttaja En 31-35 mies 10 Tietotekniikan diplomi-insinööri 10 4 full stack 95 140000 Käytän välitysfirmoja Suomesta +04/09/2023 19:31:37 Palkansaaja En 41-45 mies 10 peruskoulu 6.5 Turku Konsulttitalossa 100 100 6180 Kyllä +04/09/2023 19:35:04 Palkansaaja En 51-55 M 25 DI 0 Compile PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Backend developer 7300 90000 Kyllä +04/09/2023 19:39:13 Palkansaaja En 36-40 Mies 12 Maisteri -10 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 40 Kehityspäällikkö 6300 78000 Kyllä +04/09/2023 19:44:44 Palkansaaja En 36-40 mies 15 m.sc. 3 Liikennevirta Oy PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Lead infrastructure engineer 7300 92750 Kyllä +04/09/2023 19:48:39 Palkansaaja En 31-35 Mies 13 Insinööri (AMK) 0 Exove PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Senior Developer 4300 Ei +04/09/2023 19:51:55 Palkansaaja En 36-40 mies 14 AMK 0 Tuotetalossa, jonka core-bisnes on softa 110 0 Senior software developer 3700 49000 Kuukausipalkka, joulubonus Ei +04/09/2023 19:53:14 Palkansaaja En 46-50 mies 2 Itseopiskeltu + Ammattikoulu + Työllisyyskurssi -15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Junior Software developer 2600 Ei +04/09/2023 20:02:23 Palkansaaja En 26-30 Mies 5 AMK 7 Smartly.io PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Fullstack developer 5100 69000 The comp target is a 85/15 split between salary and bonuses. Haven't reached this split lately (bonuses partially cut) Kyllä +04/09/2023 20:18:48 Palkansaaja En 31-35 Mies 7 Ylempi korkeakoulu 0 Tampere Julkinen tai kolmas sektori 100 20 Android native developer 5600 67200 Kyllä +04/09/2023 20:33:37 Palkansaaja En 31-35 Mies 8 Maisterin tutkinto 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 Native Android Developer 7400 92500 Kyllä +04/09/2023 20:37:41 Palkansaaja En > 55v mies 30 DI (tietotekniikka) 33 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 2 Ohjelmistoarkkitehti 8000 100000 Kyllä +04/09/2023 20:38:33 Palkansaaja En 51-55 Mies 28 Alempi korkeakoulu +25 PK-Seutu (Helsinki, Espoo, Vantaa) 100 30 Ratkaisuarkkitehti 8750 130000 Palkka+bonus+osakkeet Kyllä +04/09/2023 20:40:12 Palkansaaja En 36-40 M 10 FM 7 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Software Engineer 6500 110000 Kuukausipalkka + osakkeet Kyllä +04/09/2023 20:42:20 Palkansaaja En 26-30 Mies 8 DI 20 Compile PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Backend developer 7500 90000 Provisiomalli Kyllä +04/09/2023 21:05:57 Palkansaaja En 36-40 15 DI 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 20 5400 Kyllä +04/09/2023 21:19:24 Palkansaaja En 36-40 Mies 8 Ylempi korkeakoulututkinto 0 Compile PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 35 Full stack developer 7100 89000 45% laskutuksesta + bonus (kvartaaleittain asiakastyytyväisyyden mukaan) Kyllä +04/09/2023 21:33:15 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 31-35 Mies 9 Yliopisto -5 1 Data 95 165000 Käytän välitysfirmoja Suomesta +04/09/2023 21:34:35 Palkansaaja En 41-45 - 20 AMK 1.25 Oulu Tuotetalossa, jonka core-bisnes on softa 100 100 Architect / full stack lead developer 6400 Osakeohjelma lisää muutaman prosentin vuosiansioihin. Muut edut vastaavasti olemattomat. Kyllä +04/09/2023 21:36:06 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 26-30 Mies 5 FM (TKT) 0 Cloud ja devops painotteista agile fullstackia 88 129360 Käytän välitysfirmoja Suomesta Olen siirtynyt vuoden sisällä laskuttajaksi, vuosilaskutus on laskettu 7kk perusteella avg kk laskutus * 12 +04/09/2023 21:50:25 Palkansaaja En 21-25 Mies 7 YO -25 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Designer 6000 72000 Yhtiön osakkeita Kyllä +04/09/2023 21:52:20 Palkansaaja En 31-35 Mies 5 Filosofian maisteri, tietojenkäsittelytiede 2 Joensuu Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 40 Ohjelmistosuunnittelija 3500 44000 Ei +04/09/2023 21:55:08 Laskuttaja En 26-30 Mies 5 Yliopisto, tietojenkäsittelytiede 0 2 Fullstack, devops, cloud 80 115 Käytän välitysfirmoja Suomesta +04/09/2023 22:03:20 Palkansaaja En 36-40 Mies 15 Diplomi-insinööri 53 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 96 15 Staff engineer 11300 160000 Kuukausipalkka ja vuosibonus Kyllä +04/09/2023 22:38:30 Laskuttaja En 36-40 Mies 16 AMK Tradenomi 0 4.5 Front/full stack 85 150000 Itse, Käytän välitysfirmoja Suomesta +04/09/2023 22:50:21 Laskuttaja En 36-40 Mies 17 Ylioppilas 8 2 Full stack 70 120000 Itse Suomesta, Ulkomailta +04/09/2023 22:59:58 Palkansaaja En 26-30 Mies 4 TKT kandi 30 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Full-stack developer 5250 2000 Kyllä +05/09/2023 00:43:17 Palkansaaja En 41-45 23 AMK 10 Vincit Kouvola Konsulttitalossa 100 0 Full stack developer 5300 70000 Bonus kuukausittain Kyllä +05/09/2023 01:21:29 Palkansaaja En 41-45 mies 16 Ylioppilas 11 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 80 90 Senior Full Stack Developer, Architect, Yleismiesjantunen. Kaikki tuotetalon työt asiakasrajapinnasta arkkitehtuurisuunnittelun kautta palvelinten hallintaan. 4600 61000 Rahapalkan lisäksi 200€/kk lounasrahaa, 60€/kk polkupyöräetua, satunnainen kulttuuri-/liikuntaraha Ei +05/09/2023 03:06:04 Palkansaaja En 31-35 Mies 15 AMK 8 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 45 Cloud Architect 7000 105000 Kyllä +05/09/2023 06:53:42 Palkansaaja En 41-45 Mies 15 Insinööri 4 Oulu Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Fullstack 5400 62000 Ei +05/09/2023 07:43:52 Palkansaaja En 26-30 Mies 1.8 Filosofian maisteri 35 Turku Konsulttitalossa 100 15 Software Developer 3400 41200 Ei +05/09/2023 08:16:19 Palkansaaja En 31-35 Mies 5 Insinööri (AMK) 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Software Developer 5459 0 Kyllä +05/09/2023 08:17:23 Palkansaaja En 26-30 Mies 4 DI 3 Tampere Tuotetalossa, jonka core-bisnes on softa 100 20 Full-stack developer 3708 46721 Ei +05/09/2023 08:26:18 Palkansaaja En 41-45 Mies 20 Keskeneräinen tietojenkäsittelyntieteen kandi 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 90 Staff software engineer 8500 210000 Kuukausipalkka + osakepalkkiot Kyllä +05/09/2023 08:32:11 Palkansaaja En 41-45 Mies 20 Diplomi-insinööri 0 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 50 Software developer 5258 65725 Ei +05/09/2023 08:39:28 Palkansaaja En 31-35 Mies 9 Datanomi 7.68 Vincit Turku Konsulttitalossa 100 20 Full Stack Developer 4275 58000 Ei +05/09/2023 08:42:14 Palkansaaja En 36-40 Mies 13 AMK (tietojenkäsittelyn tradenomi) 10 Oulu Konsulttitalossa 100 20 Full Stack Developer 5700 72000 Kyllä +05/09/2023 08:54:01 Palkansaaja En 46-50 Mies 4 Ammattikorkeakoulu 10 Terveystalo PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 40 Full stack developer 4530 54480 Kyllä Itse jaksaisin vastata useampaankin kysymykseen, jos niitä on nyt karsittu pois. +05/09/2023 08:58:01 Palkansaaja En 26-30 mies 5 Tieto- ja viestintätekniikan insinööri 5 Tampere Konsulttitalossa 100 100 Ohjelmistokehittäjä 3800 Kyllä +05/09/2023 09:12:11 Palkansaaja En 41-45 Mies 16 FM, TKT 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Lead developer 6000 30000 Kyllä +05/09/2023 09:12:33 Palkansaaja En 21-25 Mies 2 Ammattikorkea 39 Vincit Jyväskylä Konsulttitalossa 100 80 Full stack web developer 3605 45062 Ei +05/09/2023 09:23:03 Palkansaaja En 41-45 Nainen 15 Ylempi korkeakoulututkinto 5 Valtion virasto PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 20 Full stack developer, Scrum master 4700 57000 Ei +05/09/2023 09:38:42 Palkansaaja En 26-30 Mies 5 It-tradenomi 2 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 Software developer 4500 59000 Kyllä +05/09/2023 09:39:24 Palkansaaja En 31-35 Mies 24 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 1 Staff Engineer 6434 83000 Perus optiopaketti neljän vuoden vestauksella ja vuoden kliffillä. Palkankorotuksien lisänä lisää optioita samalla logiikalla mutta ilman kliffiä. Kyllä Hyvä Juhis ja kaikki muut puuhaajat! +05/09/2023 09:44:16 Palkansaaja En 31-35 Mies 8 Fm (matematiikka) 33 Turku Konsulttitalossa 100 99 Software developer 5200 72000 En usko että paljoa realistista maksimia perässä jos Turussa pysyy ellei sitten vastuut kasva +05/09/2023 09:50:49 Laskuttaja En 36-40 15 0 8 softakonsultointi 110 160000 Itse Suomesta +05/09/2023 09:51:43 Palkansaaja En 31-35 mies 8 Tekniikan kandidaatti 0.3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Technical Project Manager 5140 65000 Kyllä +05/09/2023 09:57:30 Palkansaaja En 36-40 Mies 13 5 Reaktor Turku Konsulttitalossa 100 50 Full Stack 6400 94000 Kyllä +05/09/2023 10:04:17 Palkansaaja En 41-45 Mies 4.5 Ylempi korkeakoulututkinto 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 Fullstack developer 3950 50000 Kyllä +05/09/2023 10:07:03 Palkansaaja En 36-40 M 11 Ylempi korkeakoulututkinto, filosofian maisteri 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Full-stack developer 4900 58800 Ei muuta kompensaatiota kuin palkka. Kyllä +05/09/2023 10:12:44 Palkansaaja En 36-40 mies 14 Itseoppinut 18 Turku Konsulttitalossa 100 10 Full Stack Developer 6500 0 Kyllä +05/09/2023 10:14:48 Palkansaaja En 31-35 Mies 12 Msc 1 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 1 Senior Developer 7200 86400 Kyllä +05/09/2023 10:52:14 Palkansaaja En 36-40 mies 15 DI -4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 67 Full stack developer 6000 72000 optiot (startup) Kyllä +05/09/2023 11:04:52 Laskuttaja En 41-45 Mies 10 Diplomi-insinööri, tietoliikennetekniikka, Aalto-yliopisto 0 1 Backend kehitys, Java-teknologiat 80 142900 Käytän välitysfirmoja Suomesta +05/09/2023 11:05:26 Palkansaaja En 41-45 Mies 23 DI 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 37.5 2 Qt frontend developer 7000 88000 Kyllä +05/09/2023 11:06:21 Palkansaaja En 26-30 Mies 7 Diplomi-insinööri -15 Solita PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Data engineer 4300 Kyllä +05/09/2023 11:06:59 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 10 MSc Computer Science 1 Full stack 73 120000 Käytän välitysfirmoja Suomesta +05/09/2023 11:07:23 Palkansaaja En 21-25 Nainen 3.5 17 Tampere Konsulttitalossa 60 10 Fullstack Developer 3230 41000 Variable perustuen firman EBITiin Ei +05/09/2023 11:08:46 Palkansaaja En 31-35 Mies 11 Tietotekniikan DI 0 Vincit Tampere Konsulttitalossa 100 100 Full stack web developer 5100 61000 Ei +05/09/2023 11:09:09 Laskuttaja En 41-45 taisteluhelikopteri 20 elämämcoulis -9 20 fullstack 20000 200000 Itse Suomesta +05/09/2023 11:17:26 Palkansaaja En 26-30 Mies 5 Ammattikorkeakoulu 25 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Software Engineer 7300 90000 Kyllä +05/09/2023 11:30:02 Palkansaaja En 36-40 Mies 9 -40 PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 80 20 Fullstack developer 5700 +05/09/2023 11:35:48 Palkansaaja En 26-30 Mies 8 Ammattikoulu 0 Compile PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 1 Senior front end developer 7513 90165 Kyllä +05/09/2023 11:41:35 Palkansaaja En 26-30 Mies 1 AMK-insinööri Solita Konsulttitalossa 100 40 Software Designer 3200 38400 Kyllä +05/09/2023 11:45:29 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 26-30 Mies 11 Datanomi 120 0 Full stack, mobiili, arkkitehtuuri, DevOps 85 150000 Itse, Käytän välitysfirmoja Suomesta +05/09/2023 11:50:50 Palkansaaja En 41-45 Mies 19 Tradenomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Full stack developer 5400 100000 Kyllä +05/09/2023 11:54:48 Palkansaaja En 26-30 mies 7 Kandi 3 Tampere Konsulttitalossa 100 50 Software developer 5600 Ei +05/09/2023 12:00:00 Palkansaaja En 36-40 15 29 NorthCode Oy Konsulttitalossa 100 10 Senior DevOps Engineer 6500 Employees receive a base salary, with all profits naturally shared between subsidiary owners, i.e. employees. Kyllä +05/09/2023 12:03:15 Palkansaaja En < 15v Mies 2 Jyväskylä Konsulttitalossa 95 80 Junior developer 1800 Ei +05/09/2023 12:10:07 Palkansaaja En 31-35 Nainen 6 Maisteri toiselta alalta 35 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Senior Android Developer 6500 82000 Kyllä +05/09/2023 12:21:08 Palkansaaja En 31-35 10 FM 0 Tampere Konsulttitalossa 80 25 UX Designer 3680 Kyllä +05/09/2023 12:37:34 Palkansaaja En 36-40 mies 12 DI 2 Tampere Tuotetalossa, jonka core-bisnes on softa 100 0 DevOps 5300 67520 Vuosibonus perustuen firman tulokseen. Muutama tuhat euroa. Kyllä +05/09/2023 12:43:30 Palkansaaja En 31-35 Mies 9 Tietotekniikan insinööri 4.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Software developer 4600 Ei +05/09/2023 12:44:09 Palkansaaja En 31-35 nainen 1 AW Academy 0 Academic Work Consulting Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 AWS Cloud Developer 3050 38400 Tuntipalkka, ei bonuksia tai muita lisiä Ei +05/09/2023 12:47:11 Palkansaaja En 36-40 Mies 15 2x ins. 0 Mavericks PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 37.5 30 DevOps 7000 Kyllä +05/09/2023 12:53:53 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 26-30 Mies 8 AMK-tradenomi 3 Softadevaus, tuotekehitys, projektipäälliköinti 90 30000 Itse, Verkostot / kumppaniy välittää liidejä Suomesta +05/09/2023 13:00:37 Palkansaaja En 31-35 M 8 Tietotekniikan insinööri 6 Wolt PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Software Engineer 5600 84000 Kyllä +05/09/2023 13:40:18 Palkansaaja En 31-35 Mies 12 datanomi, ja amk-dropout 7 Valtion virasto PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 96.7 20 Sovellusasiantuntija (pilviarkkitehti, fullstack, jokapaikanhöylä) 4384 54800 ei mitään lisäkivaa Saisin muualla enemmän, eikä tarvis lähteä edes konsultiksi tai freekuksi Valtiolla tosiaan 7h 15min työaika per päivä, huomioin tämän merkatessani työaikaprosenttia palkan kasvuprosentti oli erikoinen, muuten hyvät kaupat ja nopea toimitus, suosittelen++ +05/09/2023 13:48:18 Palkansaaja En 26-30 Mies 3 Luonnontieteiden kandidaatti, tietotekniikka 17 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Full-stack developer 4200 55000 Kyllä +05/09/2023 13:54:21 Palkansaaja En 41-45 Mies 10 Diplomi-insinööri 2 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 3 AWS Cloud Architect 7000 88000 Peruspalkan lisäksi vuosibonus jos firman (tiukat) taloudelliset tavoitteet täyttyvät Kyllä +05/09/2023 13:58:18 Palkansaaja En 26-30 M 5.5 Tekniikan kandi, tuotantotalous 6.25 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Data Engineer 5100 65000 Palkka + bonusmalli + henkilöstön osakeohjelma Kyllä +05/09/2023 13:59:54 Palkansaaja En 31-35 Epärelevantti 12 Tradenomi, alempi korkeakoulututkinto 3 Valuemotive PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Software architect 6400 80000 Kyllä +05/09/2023 14:05:45 Palkansaaja En 31-35 Mies 12 Diplomi-Insinööri 10 Tampere Konsulttitalossa 100 30 Senior Systems Specialist / Cloud Architect 6700 86000 Kyllä +05/09/2023 14:10:21 Palkansaaja En 26-30 Mies 6 Diplomi-insinööri 8 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 25 Senior Backend Engineer 5253 65663 Kyllä +05/09/2023 14:31:46 Palkansaaja En 36-40 Mies 8 Amis 8 Shipit Oy Ab Full remote Tuotetalossa, jonka core-bisnes on softa 100 100 Full stack web developer 4000 52000 Kyllä +05/09/2023 14:50:18 Palkansaaja En 46-50 25 3 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Appsec 8700 118000 palkka + vuosibonus Kyllä +05/09/2023 15:25:54 Palkansaaja En 41-45 mies 16 Filosofian maisteri 1 Tampere Konsulttitalossa 100 0 Backend developer 7500 94000 Kyllä +05/09/2023 15:55:02 Laskuttaja En 36-40 13 DI 15 5 Softadevausta 80 100000 Itse Suomesta +05/09/2023 15:55:50 Palkansaaja En 36-40 mies 15 Tekniikan ylioppilas 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Lead developer 5600 78000 Kyllä +05/09/2023 16:01:15 Palkansaaja En 26-30 Mies 2 Yliopisto, melkein valmis DI 62 Turku Tuotetalossa, jonka core-bisnes on softa 80 25 DevSecOps Engineer 4000 52000 Kyllä +05/09/2023 16:02:39 Palkansaaja En 21-25 Mies 4 Tietotekniikan kandi, lähes valmis DI 11 Tampere Konsulttitalossa 80 0 Software developer 3300 43200 Vaihteleva bonus joka maksetaan kuukausittain Ei +05/09/2023 16:11:42 Palkansaaja En 36-40 mies 10 ylioppilas & ammattitutkinto, yliopisto-opintoja 4 Oulu Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 1 Backend / cloud developer 7400 93000 Palkka, vuosibonukset, muita erilaisia rahallisia insentiivejä Kyllä +05/09/2023 16:23:05 Palkansaaja En 36-40 Nainen 7 Luonnontieteiden kandi 0 Turku Konsulttitalossa 100 70 Johtaja 5600 1000 Ei +05/09/2023 16:40:55 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 31-35 Mies 10 Datanomi / media-assistentti 1.5 Markkinointia (verkkosivustot, verkkokaupat) 90 Itse Suomesta Röh +05/09/2023 18:02:25 Palkansaaja En 31-35 mies 9 Insinööri (AMK), mediatekniikka 8 Polar Squad Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 DevOps Consultant 5780 73000 Kiinteä kuukausipalkka, mahdollisuus osallistua pienosakeanteihin epäsäännöllisesti Ei Vaikka palkka ei kiinteänä ole itsessään kilpailukykyinen kysymyksenasettelun pohjalta, se on omassa mielessäni kompromissi kulttuurin ja kompensaation välillä (projekteista kilpailu ja laskutusasteen painotus vs. yhteinen hyöty). Aikaisempien vuosien kysymys muusta kompensaatiosta olisi kiva +05/09/2023 18:09:12 Palkansaaja En 41-45 Mies 15 Diplomi-insinööri 4 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 DevOps Engineer 5300 63600 Kyllä +05/09/2023 18:27:34 Palkansaaja En 31-35 Mies 5 Diplomi-insinööri 13 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Engineering Manager 6745 84000 Optioita palkan päälle Kyllä +05/09/2023 18:32:42 Palkansaaja En 36-40 mies 2 korkeakoulututkinto 3.5 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 software engineer 3615 47500 Ei +05/09/2023 18:34:47 Palkansaaja En 36-40 Mies 6 25 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 1 Frontend lead developer, tech lead 7267 92000 Optioita omaa sijoitusta vastaan Kyllä +05/09/2023 19:24:41 Palkansaaja En 31-35 Mies 6 Tieto- ja viestintätekniikan insinööri (AMK) 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 2 Software developer 5350 70000 Kyllä +05/09/2023 20:06:06 Palkansaaja En 31-35 mies 1 it-tradenomi, melkein valmis 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 80 0 Full stack developer 2400 Ei +05/09/2023 20:26:55 Palkansaaja En 36-40 mies 19 Ins Pankki PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Lead 7000 10500 Kyllä +05/09/2023 20:41:48 Palkansaaja En 26-30 Mies 5 Alempi korkeakoulututkinto 25 Berliini Tuotetalossa, jonka core-bisnes on softa 100 0 Backend developer 6700 80000 Kyllä +05/09/2023 21:05:56 Palkansaaja En 31-35 mies 9 M. Sc 3.7 Turku Konsulttitalossa 100 100 Senior Infrastructure Engineer (DevOps) 5915 76500 Ei +05/09/2023 22:44:32 Laskuttaja En 21-25 Mies 6 Tekniikan kandidatti 27 2 Systems programming, security 130 160000 Itse Ulkomailta +05/09/2023 22:48:26 Palkansaaja En 36-40 Mies 12 AMK insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 37.5 10 Senior Full Stack Developer 5300 63300 Kyllä +05/09/2023 23:08:56 Palkansaaja En 41-45 Mies 19 Filosofian Tohtori 3 Tampere Tuotetalossa, jonka core-bisnes on softa 100 0 Senior Software Architect 6750 87750 Palkka + optiot Kyllä +05/09/2023 23:33:30 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 31-35 Leppäkerttu 4 Lukio 1 Full stack 70 100000 Itse Suomesta Lama vaikuttaa työllisyyteen Hyvä kysely! Mahtavaa työtä! +05/09/2023 23:58:13 Laskuttaja En 36-40 Mies 15 Tietotekniikan kandi 0 1.5 full stack 85 130000 Käytän välitysfirmoja Suomesta +06/09/2023 08:43:35 Palkansaaja En 36-40 mies 4 media-assistentti 4 Lamia Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 33 Frontend developer 4250 50000 Ei - - +06/09/2023 09:06:34 Palkansaaja En 36-40 Mies 6 AMK 10 Tampere Tuotetalossa, jonka core-bisnes on softa 100 0 Software developer 4076 51966 Kyllä +06/09/2023 09:11:53 Palkansaaja En 36-40 Mies 17 Lukio 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Dev Team Lead 7650 91800 Kyllä +06/09/2023 09:16:46 Palkansaaja En 26-30 Mies 5 Tietotekniikan kandidaatti, 2. vuoden DI-opiskelija 3 HiQ Finland Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Backend developer 4400 58000 Ei +06/09/2023 09:18:23 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 15 AMK (ohjelmistotekniikka) 0.5 Full stack webdevaus 73 125000 Käytän välitysfirmoja Suomesta +06/09/2023 09:20:43 Palkansaaja En 26-30 5 Tietotekniikan diplomi-insinööri 6 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 33 Software engineer 3900 56900 Bonukset ja osingot normipalkan päälle. Ei +06/09/2023 09:32:36 Palkansaaja En 36-40 Mies 10 Filosofian maister (tietojenkäsittelytiede) 2.7 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Lead platform engineer 7200 9000 Bonus sidottu EBITDA:an Kyllä +06/09/2023 09:37:48 Palkansaaja En 41-45 Mies 20 Tekniikan tohtori 1 Tampere Tuotetalossa, jonka core-bisnes on softa 100 100 Suunnittelija (full stack developer) 5389 67815 Bonus +06/09/2023 09:49:11 Palkansaaja En 26-30 Mies 6 alempi korkeakoulututkinto 14 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 90 fullstack software developer 4700 Kyllä +06/09/2023 09:49:55 Palkansaaja En 41-45 mies 18 diplomi-insinööri 2 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 cloud/devops architect 6300 90000 täysautoetu, vuosibonus ja erillaisia pienempiä tukia Kyllä +06/09/2023 09:57:44 Palkansaaja En 36-40 Nainen 20 DI 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Product Owner 5210 74500 Ei +06/09/2023 09:58:48 Palkansaaja En 31-35 muu 9 Ammattikoulu 22 Lamia PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Director of Development 5500 70000 Erilaisia työhön sidottuja bonuksia Ei +06/09/2023 10:10:16 Laskuttaja En 46-50 Mies 23 YO, yliopisto-opintoja 0 16 WordPress sivustojen tekninen toteutus, lähinnä alihankintana mainostoimistoille. 90 100000 Itse Suomesta Hiljaisin syksy (2023) miesmuistiin. Aloitin golfin pelaamisen joutessani. Laskuttajalle kysymys: miten olet säästänyt kustannuksista (jos olet säästänyt) +06/09/2023 10:28:26 Palkansaaja En 36-40 Mies 16 DI 2 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 30 Lead developer 4775 57969 Ei Palkkakysely on palkkakysely, eli tietenkin tarkoitus on puhua rahasta, mutta voisikohan kyselyä laajentaa työn merkityksellisyyden suuntaan? Olisi mielenkiintoista tietää, kuinka paljon paskan lapiointi näkyy viivan alla? Hyviä kysymyksiä voisi olla vaikkapa: "Jos saisit samasta työstä saman palkan toisessa domainissa, haluaisitko vaihtaa työpaikkaa? Mikä on nykyinen domain ja mikä olisi mielekkäämpi?" +06/09/2023 10:47:48 Palkansaaja En 41-45 mies 20 KTM 3 Jyväskylä Konsulttitalossa 80 75 Koodaava arkkitehti 4575 57500 Kyllä +06/09/2023 10:52:35 Palkansaaja En 21-25 Mies 4 DI 3 Vincit Tampere Konsulttitalossa 100 5 Backend Developer 4300 53600 Ei +06/09/2023 10:53:02 Laskuttaja En 41-45 M 16 AMK 3 3 Softadevaus 80 Käytän välitysfirmoja Suomesta +06/09/2023 11:06:09 Palkansaaja En 36-40 Nainen 13 Datanomi 12 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Service Manager 5200 62400 Kyllä +06/09/2023 11:16:38 Palkansaaja En 31-35 Mies 15 Ylioppilas -10 Futurice Tampere Konsulttitalossa 100 20 Senior Software Developer 4680 61000 Kyllä +06/09/2023 11:29:50 Palkansaaja En 31-35 Mies 9 AMK 45 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Senior Fullstack Developer 6000 78000 Kiinteä kuukausipalkka + organisaation jaettuihin mittareihin ja henkilökohtaisiin mittareihin perustuva tulospalkkio kerran vuodessa Kyllä +06/09/2023 11:33:08 Laskuttaja En 41-45 mies 22 Tradenomi 0 6 softadevausta (backend) 75 Käytän välitysfirmoja Suomesta +06/09/2023 11:38:02 Palkansaaja En 31-35 Mies 8 Yliopisto 15 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Fullstack developer 5700 74000 Kyllä +06/09/2023 11:38:40 Laskuttaja En 21-25 Mies 6 Ylioppilas, ollut kirjoilla yliopistossa 90 3 Markkinointia ja liikkeenjohdon konsultointia 100 200000 Itse Ulkomailta +06/09/2023 11:40:38 Palkansaaja En 41-45 Mies 17 FM (tietojenkäsittelytiede) 0 Mavericks Software Oy Turku Konsulttitalossa 100 0 Senior software developer 6900 86000 Kyllä +06/09/2023 11:41:05 Palkansaaja En 31-35 Mies 15 0 Tampere Tuotetalossa, jonka core-bisnes on softa 100 0 Software developer 5000 80000 Ei +06/09/2023 11:43:31 Palkansaaja 36-40 Mies 10 4 Jyväskylä Konsulttitalossa 100 40 Senior Software Developer 5800 pohjapalkka + bonukset n. 10% Kyllä +06/09/2023 11:48:10 Palkansaaja En 21-25 muu/ei 3 lukio ja keskeneräinen tietotekniikan kandidaatin tutkinto 3.5 Knowit Tampere Konsulttitalossa 50 30 Systems specialist 3157.45 Ei +06/09/2023 12:01:47 Palkansaaja En 26-30 Mies 4 Yliopisto 14 Vincit Tampere Konsulttitalossa 80 90 Full stack developer 3600 40000 Palkka + firman laskutusasteeseen perustuva bonus Ei +06/09/2023 12:05:19 Palkansaaja En 36-40 Mies 6 Tietojenkäsittelyn tradenomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Full-stack developer 7500 90000 Kyllä +06/09/2023 12:07:31 Palkansaaja En 31-35 Mies 18 Peruskoulu 3.5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 3 Lead software developer 9321 115000 Kyllä +06/09/2023 12:11:43 Palkansaaja En 26-30 Mies 5 Tietojenkäsittely FM 6 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 4900 620000 Kyllä +06/09/2023 12:26:04 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 36-40 Mies 13 Tietoliikennetekniikan maisteri 1 full stack 79 Itse, Käytän välitysfirmoja Suomesta +06/09/2023 12:27:19 Palkansaaja En 41-45 18 Lukio 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 Lead developer 7140 90000 Kyllä +06/09/2023 12:54:49 Palkansaaja En 36-40 mies 7 FT, fysiikka 4 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 90 25 Data Scientist 5220 71500 Kuukausipalkka + henkilön, yksikön ja konsernin tulostavoitteisiin sidottu vuosibonus Kyllä +06/09/2023 12:56:25 Palkansaaja En 51-55 Mies 33 Tekn yo 3 Tampere Tuotetalossa, jonka core-bisnes on softa 100 5 Security platform architect 6527 81588 Kyllä +06/09/2023 13:11:47 Laskuttaja En 26-30 mies 8 maisteri 23 5 full stack 90 120000 Itse Suomesta, Ulkomailta +06/09/2023 13:24:02 Laskuttaja En 31-35 Mies 9 Yliopisto 2 2 Fullstack 87 150000 Käytän välitysfirmoja Suomesta +06/09/2023 14:02:08 Palkansaaja En 31-35 Mies 8 AMK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Senior DevOps Engineer 7875 50% laskutuksesta Kyllä +06/09/2023 14:28:10 Palkansaaja En 41-45 mies 20 diplomi-insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 full stack / arkkitehti / devops / kaikki liittyvä 5000 64000 Ei +06/09/2023 14:35:34 Palkansaaja En 31-35 mies 10 ylioppilas 37.5 Oulu Konsulttitalossa 100 5 Senior Developer 6700 0 Kyllä +06/09/2023 14:42:29 Palkansaaja En 26-30 Mies 10 Datanomi 0 Mavericks Turku Konsulttitalossa 100 0 Frontend developer 7200 90000 Kyllä +06/09/2023 14:45:13 Palkansaaja En 36-40 Mies 5 Diplomi-Insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Software Engineer 5700 70000 bonusta ja optioita, joille en kyllä laske tässä taloustilanteessa arvoa. Kyllä Hyvä kompakti kysely. Meemeistä lisäplussaa Juhikselle. Arvostan. +06/09/2023 14:48:01 Palkansaaja En 31-35 Mies 10 Maisteritutkinto CA, USA Konsulttitalossa 40 75 Staff Engineer 11150 135000 Suomalaisen konsulttitalon jenkkiliike +06/09/2023 14:48:26 Palkansaaja En 31-35 7 insinööri 2 gofore PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 cloud 5330 66625 Ei +06/09/2023 16:25:20 Palkansaaja En 31-35 Mies 8 Yliopisto dropout 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Data Lead 6000 80000 Bonus + etuja liuta Ei Voisin tienata paljon enemmänkin, mutta nykyinen firma on kiva tehdä duunia +06/09/2023 18:28:00 Palkansaaja En 36-40 Mies 17 Diplomi-insinööri 4 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 Senior software developer 5200 67000 Ei +06/09/2023 20:11:23 Palkansaaja En 26-30 mies 3 Diplomi insinööri 10 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Cloud Security Engineer 4500 57000 Ei +06/09/2023 20:15:04 Palkansaaja En 36-40 Mies 9 Ammattikorkeakoulukarkuri 0 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Fullstack developer 4400 55000 Ei +06/09/2023 20:33:33 Palkansaaja En 31-35 Mies 8 KTM 0 Microsoft Dublin, Irlanti Tuotetalossa, jonka core-bisnes on softa 120 90 Account Executive 10500 154000 Pohjapalkka, autoetu (rahana), myyntiprovikka, naamarajabonus, stonks, eläkesäästön company match, ESPP ohjelman stonksien 10% discount, muut pienemmät one off bonukset, perheelle sairasvakuutus, henkivakuutus, hyvinvointibudjetti Kyllä +06/09/2023 20:55:01 Palkansaaja En 31-35 3 Ylioppilas -10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 25 Fullstack developer 4500 60000 Palkka + start Upin optiot Kyllä +06/09/2023 21:03:32 Palkansaaja En 31-35 mies 1 Opiskelen yliopistossa 10 Talenom Oy Oulu Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Fullstack developer 2850 35000 Kyllä +06/09/2023 21:04:50 Palkansaaja En 36-40 Mies 13 Ammattikoulu 1 Siili Solutions - SiiliOne PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 UX Engineer 7800 98000 Optio mahdollisuus Kyllä Palkansaajan rooli, mutta yrittäjän riskit +06/09/2023 21:18:40 Palkansaaja En 36-40 Mies 18 Insinööri amk 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 Hands-on architect 6500 85000 Osingot, kk-bonukset ja provisiopalkka Kyllä +06/09/2023 21:25:19 Palkansaaja En 31-35 11 DI 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 100 CTO 5300 70000 Optioita useampi % työnantajan osakekannasta Kyllä +06/09/2023 21:28:26 Laskuttaja En 31-35 Mies 8 DI 0 3 Fullstack, pilvi, devops 95 120000 Käytän välitysfirmoja Suomesta +06/09/2023 22:05:29 Palkansaaja En 41-45 Mies 20 Ei ole 2.5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 30 Software architect 4700 55000 Palkka ja pieni bonus Kyllä +06/09/2023 22:21:03 Palkansaaja En 36-40 Mies 16 Ammatillinen perustutkinto 3 Polar Squad Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 15 DevOps konsultti 6350 79375 Ei +07/09/2023 06:27:28 Palkansaaja En 26-30 Mies 8 Tieotekniikan DI 0 Turku Tuotetalossa, jonka core-bisnes on softa 100 20 Lead developer, bacend & devops 3150 45000 Omistan firman osakkeita joiden osinko ja arvokehitys riippuu tuotteen menestyksestä. Tämän hetken palkka ei ole kilpailukykyinen mutta tulevat osinkovirrat kiinnostavat +07/09/2023 07:39:40 Palkansaaja En 31-35 Mies 10 Diplomi-insinööri 0 Eficode PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 37.5 20 Software Architect 6000 70000 Bonus Kyllä +07/09/2023 07:53:12 Palkansaaja En 26-30 Mies 2 Tietotekniikan diplomi-insinööri 0 Tampere Tuotetalossa, jonka core-bisnes on softa 100 50 Frontend developer 4300 52000 Kyllä +07/09/2023 08:28:11 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 20 Diplomi-insinööri 1 Full stack, arkkitehtuuri, team lead, tech advisor 95 120000 Itse Suomesta Laskuttajaksi siirtymisen jälkeen olen jatkanut 30h/vko työtuntimäärää havaittuani sen hyväksi joku vuosi sitten. Kyselyn palkansaaja-puolella sitä kysyttiin, mutta ehkä se ei ole oleellista laskuttajien kannalta +07/09/2023 09:29:28 Palkansaaja En 41-45 nainen 6 korkeakoulu 0 Siili Solutions PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 software developer 4517 Kyllä +07/09/2023 09:48:17 Palkansaaja En 36-40 8 AMK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Full stack developer 4000 50000 Ei +07/09/2023 09:55:43 Laskuttaja En 36-40 Mies 12 Masters of Science 0 2 Projektipäällikkö, arkkitehtuuri, devops, backend... 75 130000 Itse Ulkomailta +07/09/2023 10:10:21 Palkansaaja En 31-35 Mies 9 Insinööri, AMK 5 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 80 Web Developer 4400 52800 Kyllä +07/09/2023 10:12:17 Laskuttaja En 46-50 Mies 23 Ylioppilas, Yliopisto-opintoja 4 2 backend 90 120000 Käytän välitysfirmoja Suomesta +07/09/2023 10:56:18 Palkansaaja En 31-35 Mies 13 Alempi korkeakoulututkinto 3 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 Senior Software Developer 5825 72800 Kyllä +07/09/2023 11:09:45 Palkansaaja En 41-45 Mies 24 Korkeakoulu 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Full stack developer 7200 99000 Osakkeita, niistä osinkoa, joinakin vuosina bonus. Kyllä +07/09/2023 11:16:50 Palkansaaja En 31-35 Mies 11 Ylioppilas 20 Hion Digital Tampere Tuotetalossa, jonka core-bisnes on softa 100 20 DevOps Lead 6900 87000 Kyllä +07/09/2023 11:18:13 Palkansaaja En 36-40 Mies 6 Ammattikoulu (Datanomi) 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Software Engineer 5800 71000 Kiinteä n. 4100 plus provikka jonka lattia n. 1400 € Kilpailija on tarjonnut n. 10 k€/v suurempaa tc, mutta raha ei ole tärkeintä +07/09/2023 12:05:29 Palkansaaja En 41-45 Mies 16 Tietotekniikan DI 6 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 1 Software architect 5350 67000 Ei hajuakaan Hyvää duunia Juhis! +07/09/2023 12:24:17 Laskuttaja En 26-30 Mies 5 +8 3 data engineering, backend, devops, ml engineering 100 150000 Itse, Käytän välitysfirmoja Suomesta, Ulkomailta +07/09/2023 13:10:14 Palkansaaja En 41-45 Mies 16 AMK, bachelor of engineering 3 Mavericks Software Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 15 Senior full stack developer 7900 99000 Laskutukseen perustuva palkkamalli Kyllä +07/09/2023 14:02:53 Palkansaaja En 36-40 Mies 17 ylempi korkeakoulututkinto 3 Tampere Konsulttitalossa 100 10 5770 75000 Kyllä +07/09/2023 14:16:07 Palkansaaja En 36-40 Mies 6 AMK 16.67 Jyväskylä Konsulttitalossa 80 5 WordPress developer 2800 0 Kyllä +07/09/2023 14:35:35 Palkansaaja En 26-30 Mies 7 Valtiotieteiden maisteri 0 Conslut PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Data engineer 5900 80000 Firman tulokseen perustuva bonus Kyllä +07/09/2023 14:49:16 Palkansaaja En 31-35 Mies 6 KTM 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Data Analyst 4500 70000 Kyllä +07/09/2023 15:19:43 Palkansaaja En 36-40 mies 16 Lukio 0 Turku Konsulttitalossa 100 80 Lead UX Designer 3950 47400 Ei +07/09/2023 15:56:27 Palkansaaja En 31-35 mies 9 Tietotekniikan diplomi-insinööri 30 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 90 Full stack developer 5300 63600 Kyllä +07/09/2023 17:23:02 Palkansaaja En 26-30 Mies 5 Insinööri 8 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Integration developer 4500 56200 Kyllä +07/09/2023 18:50:20 Palkansaaja En 26-30 Mies 6 Insinööri Mehiläinen Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 70 Software developer 5300 63600 Kyllä +07/09/2023 18:52:50 Palkansaaja En 26-30 Mies 8 Diplomi-insinööri 7 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Team lead & full stack developer 6000 75000 Ei bonuksia Kyllä +07/09/2023 19:18:54 Palkansaaja En 21-25 Nainen 1 AMK tietotekniikan insinööri, viimeisen vuoden opiskelija Tampere Tuotetalossa, jonka core-bisnes on softa 50 30 Software developer 1200 En osaa sanoa +07/09/2023 19:47:57 Palkansaaja En 41-45 Nainen 5 Yliopistotutkinto 13 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Data engineer 6700 80400 Kyllä +07/09/2023 20:48:00 Laskuttaja En 41-45 Mies 20 DI 0 2 Full stack 100 174000 Itse, Käytän välitysfirmoja Suomesta +07/09/2023 21:32:05 Palkansaaja En 46-50 Mies 20 Ylempi korkeakoulututkinto 100 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 11000 135000 palkka + suoritus bonus + optioita Kyllä +07/09/2023 22:50:41 Palkansaaja En 36-40 Mies 15 Tietojenkäsittelytieteen FM 3 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 Fullstack developer 4450 56000 Ei +08/09/2023 07:20:50 Palkansaaja En 36-40 Mies 13 Tietotekniikan diplomi-insinööri 3.45 Tampere Konsulttitalossa 100 10 Liiketoimintavetäjä / Ohjelmistoarkkitehti 5281 70000 Ei +08/09/2023 08:24:43 Palkansaaja En 26-30 Mies 12 Datanomi 4 Tampere Tuotetalossa, jonka core-bisnes on softa 100 80 Team lead 4800 60000 Ei +08/09/2023 08:50:51 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 mies 18 DI 0.4 full stack web-kehitystä 76 Käytän välitysfirmoja Suomesta +08/09/2023 09:13:36 Palkansaaja En 36-40 M 11 DI 60 Tuotetalossa, jonka core-bisnes on softa 100 0 Senior software developer 7666 92000 Kyllä +08/09/2023 10:19:07 Palkansaaja En 31-35 Mies 8 AMK 1 Sanoma PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 100 Senior Developer 6300 83000 Ei +08/09/2023 10:46:06 Palkansaaja En 31-35 mies 8 ammattikorkeakoulu (tradenomi) 0 Tampere Tuotetalossa, jonka core-bisnes on softa 100 20 software developer (.net) 4800 60000 Ei +08/09/2023 10:51:14 Palkansaaja En 31-35 nainen 1 datanomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Junior Web Developer 3000 36000 Kyllä +08/09/2023 10:57:14 Palkansaaja En 36-40 Mies 12 AMK Mehiläinen Jyväskylä Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 80 Software Developer 4700 56400 +08/09/2023 10:57:54 Palkansaaja En 26-30 Mies 6 Ammattikoulu, Datanomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 90 5 Koordinaattori/Sovellusasiantuntija. Nimike virallisesti koordinaattori mutta vastuussa ITSM Ohjelmiston kehityksestä. Pääasiallisesti teen Sovellusasiantuntijan töitä. 3500 42000 Saan pelkän palkan per kuukausi. Ei mitään muuta ylimääräistä.Ei Lomarahaa. Ei Bonuksia. Ei ylityölisiä. Ei +08/09/2023 11:04:47 Palkansaaja En 36-40 Mies 14 Tietotekniikan insinööri (BSc) 3.6 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 0 Software developer 5700 68400 Kyllä +08/09/2023 11:09:58 Palkansaaja En 26-30 Nainen 7 Tietojenkäsittelytieteiden maisteri 6 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 Fullstack developer 5300 63600 Kyllä +08/09/2023 11:32:52 Palkansaaja En 26-30 Mies 7 Kauppakorkeakoulu 30 Mehiläinen PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 80 Development manager 7000 91000 bonukset sidottu omiin tavoitteisiin Kyllä +08/09/2023 11:34:41 Palkansaaja En 31-35 Mies 9 Tekniikan kandidaatti 9.1 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Team Tech Lead 6000 72000 Kyllä +08/09/2023 11:47:15 Palkansaaja En 46-50 mies 25 Ammattikorkeakoulu 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Software developer 5500 6000 Kyllä +08/09/2023 12:24:12 Palkansaaja En 26-30 Mies 6 Tieto- ja viestintätekniikan insinööri 0 Turku Konsulttitalossa 100 90 Lead software architect 4940 64220 Ei +08/09/2023 13:01:17 Palkansaaja En 26-30 mies 3 Master's in Software Engineering and Digital Transformation 27 Turku Tuotetalossa, jonka core-bisnes on softa 100 20 Mobile developer (Flutter) 5000 62500 Kyllä +08/09/2023 13:06:15 Palkansaaja En 15-20 Mies 2 Ohjelmistokehittäjä PK-Seutu (Helsinki, Espoo, Vantaa) Alihankkija, konsultointi 100 10 FullStack developer 2000 24000 Kyllä +08/09/2023 13:07:05 Laskuttaja En 31-35 mies 8 Tietotekniikan diplomi-insinööri 0 5 Full stack 90 170000 Itse, Käytän välitysfirmoja Suomesta +08/09/2023 13:07:18 Palkansaaja En 36-40 Mies 14 0 Tampere Tuotetalossa, jonka core-bisnes on softa 100 Frontend developer 5600 67200 Kyllä +08/09/2023 13:07:19 Palkansaaja En 31-35 mies 7.5 diplomi-insinööri 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 fullstack developer 5600 72500 Kyllä +08/09/2023 13:07:27 Palkansaaja En 31-35 Mies 8 Luonnontieteiden ylioppilas 8 Tampere Konsulttitalossa 100 95 Senior DevOps Consultant 5000 60000 Ei +08/09/2023 13:07:35 Palkansaaja En 36-40 mies 15 FM (tietojenkäsittelytiede) 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 Infra ja palvelut (IaaS PaaS) 7800 120000 Ei +08/09/2023 13:07:49 Palkansaaja En 31-35 Nainen 8 it-tradenomi 5 PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 20 Frontend developer 5500 71500 Kyllä +08/09/2023 13:07:53 Palkansaaja En 46-50 Mies 20 0 Tampere Konsulttitalossa 100 0 Web developer 3200 Ei +08/09/2023 13:08:01 Palkansaaja En 26-30 mies 3 tietojenkäsittelytieteen maisteri 13 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 95 Android developer, embedded c++ developer ja full stack developer 3500 44000 Satunnaisia pieniä joulubonuksia, muuten kuukausipalkka. Ei Pieni lvi-alan yritys, joten palkat eivät ole ns. it-tasoa. Viihtyvyys ja stressittömyys on sen sijaan todella hyvää tasoa. +08/09/2023 13:08:32 Palkansaaja En 41-45 Tihkutympönen 23 AMK 1 Tampere Konsulttitalossa 100 5 Ohjelmistoarkkitehti 5300 72000 Ei +08/09/2023 13:08:56 Laskuttaja En 41-45 Nainen 8 AMK 0 10 Front-End 30 50000 Itse, Käytän välitysfirmoja Suomesta, Ulkomailta +08/09/2023 13:09:00 Laskuttaja En 46-50 M 37 Datanomi -12 20 ARK, full stack 120 227000 Itse Suomesta +08/09/2023 13:09:06 Palkansaaja En 26-30 Mies 5 Ylempi korkeakoulututkinto 31 Gofore Jyväskylä Konsulttitalossa 100 100 Embedded software developer 4600 60000 Osakesäästöohjelma ja yrityksen bonusohjelma Ei +08/09/2023 13:09:11 Palkansaaja En 26-30 mies 7 Ammattikoulu 15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 80 5 full stack developer 6300 83000 Kyllä +08/09/2023 13:10:24 Palkansaaja En 21-25 Mies 4 Ylempi korkeakoulututkinto 40 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Lead developer 6200 Kyllä +08/09/2023 13:10:42 Palkansaaja En 26-30 Mies 6.5 Diplomi-insinööri 0 Tampere Konsulttitalossa 100 90 Senior fullstack developer 5200 62400 Kyllä Vapaat vastaukset esimerkiksi koulutukseen voivat tehdä datan analysoinnista hankalampaa +08/09/2023 13:10:52 Palkansaaja En 26-30 Mies 5 Diplomi-insinööri 3.5 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 100 Software developer 5350 69000 Kyllä +08/09/2023 13:11:02 Palkansaaja En 36-40 Nainen 3 AMK Tampere Konsulttitalossa 100 0 Full stack developer 3600 45000 Kyllä +08/09/2023 13:11:16 Palkansaaja En 31-35 Mies 10 DI PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Lead developer 5000 Prosenttiosuus laskuktetusta työstä, takuupalkka mikäli ei ole projektissa Kyllä +08/09/2023 13:11:22 Laskuttaja En 36-40 mies 12 DI 0 5 Full stack development 80 105000 Itse Suomesta Startupista optiot, laskennallisesti ~+15000e/v +08/09/2023 13:11:27 Palkansaaja En 26-30 nainen 2.5 7 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Full stack developer 4300 Kyllä +08/09/2023 13:11:28 Laskuttaja En 46-50 Mies 26 Ammatillinen tutkinto 0 9 full stack, architecture, technical project management, consulting 114 145647 Itse Ulkomailta +08/09/2023 13:11:34 Palkansaaja En 31-35 Mies 10 Filosofian Maisteri (Tietotekniikka) 3 Alle 30 hengen startup PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Team Lead / Senior Full-Stack Developer 6700 80400 Osakkeita ja optioita (itse valitussa suhteessa), realistinen arvo, jos startup tekee joskus onnistuneen exitin < 100 000€ Voisin varmaan saada halutessani up to 1000€ parempaa liksaa, mutta työajat ei vältsisti olis 7,5h päivässä Ah-mazing! +08/09/2023 13:11:48 Palkansaaja En 31-35 Mies 3.5 Tietojenkäsittelytiedo @ Helsingin Yliopisto 3.5 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 100 Software Developer 4900 63000 Kyllä +08/09/2023 13:11:57 Palkansaaja En 26-30 Mies 6 Maisteritutkinto Aallon Tietotekniikalta, joskin tämä saavutettu työskentelyn ohella, eli papereiden pohjalta olen ollut pätevä vain joitain kuukausia :) 13 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 15 Software Developer 4100 53000 Kiinteä palkka + firman tulokseen perustuva bonusosa (suurin osa kiinteää) Ei +08/09/2023 13:12:01 Palkansaaja En 36-40 mies 13 amk 9 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 25 senior software engineer 6300 83000 Kyllä +08/09/2023 13:12:07 Palkansaaja En 31-35 mies 7 amk 15 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 75 Software developer / team lead 6000 1000 laskutuslisä Kyllä +08/09/2023 13:12:08 Palkansaaja En 26-30 M 5 DI 3.5 Reaktor Turku Konsulttitalossa 100 50 Full stack developer 4663 60000 Kyllä +08/09/2023 13:12:12 Palkansaaja En 31-35 Mies 7 IT-opiskelija 20 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 Software Engineer and Partner 6000 84000 Palkka, bonukset ja osinko Kyllä +08/09/2023 13:12:27 Palkansaaja En 31-35 nainen 3 Bootcamp 6 Wolt PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Frontend developer 4500 88000 Osakkeita Kyllä +08/09/2023 13:12:39 Palkansaaja En 41-45 mies 20 alempi korkeakoulututkinto 5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Principal software engineer 10700 210000 Rahallisen bonuksen osuus kokonaistuloista on huomattava Kyllä +08/09/2023 13:13:28 Palkansaaja En 41-45 25 Insinööri 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 2 backend developer 6200 75000 Optiot Kyllä +08/09/2023 13:13:28 Palkansaaja En 31-35 mies 4 Tekniikan kandidaatti, läheltä liippaavalta alalta 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 70 50 3000 +08/09/2023 13:13:51 Palkansaaja En 26-30 mies 15 Ylioppilas 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 Lead ML Engineer 7000 90000 Osingot Kyllä +08/09/2023 13:14:06 Palkansaaja En 26-30 Mies 8 Diplomi-insinööri 3 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 90 Senior Software Engineer / Embedded 5650 71000 Kyllä +08/09/2023 13:14:47 Palkansaaja En 26-30 Mies 5 Tietotekniikan DI 3 Reaktor Turku Konsulttitalossa 100 90 Full-Stack Developer 4750 62500 Kiinteän kuukausipalkan konsulttitaloista en varmaan saisi enempää Turussa. Provisiopohjainen palkka luonnollisesti olisi varmaan isompi. +08/09/2023 13:15:00 Palkansaaja En 36-40 Mies 9 Filosofian maisteri (tietojenkäsittelytiede) 2 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 senior software developer 5123 65000 Palkka ei ole proviisiopohjainen, joten sama palkka oli projektissa tai ei +08/09/2023 13:15:08 Palkansaaja En 31-35 mies 5.5 Tietojenkäsittelytiede FM 7.5 Vincit Turku Konsulttitalossa 100 15 Full-stack developer 4500 54000 Ei +08/09/2023 13:15:08 Palkansaaja En 36-40 Mies 0.5 AMK-koulutus muulta alalta 0 Kuopio Tuotetalossa, jonka core-bisnes on softa 100 10 Full stack developer 3000 36000 Kyllä +08/09/2023 13:15:08 Palkansaaja En 31-35 Mies 1 Alempi korkeakoulututkinto 8 Capgemini PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Consultant 3133 1020 Ei +08/09/2023 13:15:43 Laskuttaja En 31-35 Mies 4 Lipasto 40 3 Backend 217000 Itse Ulkomailta +08/09/2023 13:15:43 Palkansaaja En 36-40 Mies 2 AMK 56 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Automation developer 4000 55000 Bonukset Kyllä +08/09/2023 13:16:02 Palkansaaja En 26-30 Mies 3 BIT, tradenomi AMK 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Software Engineer 3500 44000 Ei +08/09/2023 13:16:19 Laskuttaja En 31-35 mies 15 Yliopisto Kandidaatti (Yhdysvalloissa) 4 3 backend, full stack, infraa, ja kaikkea muutakin 120 180000 Itse Ainostaan Yhdysvalloista. No exceptions. Olen ulkomailla kasvanut/koulutettu suomalainen ja suurin osaa työuraani on muualla. Kun vihdoin päätin muuttaa Suomeen olin ihan shokissa että alan "kokeneet" Suomalaiset hyväksyy palkkaa mitä ite sain 10v sitten kesäharjoittelijana. Ei mitään järkeä. Haluaisin kovasti muuttaa tätä tilannetta Suomessa mutten tiedä mistä aloittaisi. Voisi jopa huomattavasti nostaa koko Suomen BKTtä jos Suomalaiset osaisivat vaatia alan normaalia palkkatasoa työstään. +08/09/2023 13:16:30 Palkansaaja En 41-45 Mies 17 Yliopisto 11 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 0 Software Architect 5900 75000 Kyllä +08/09/2023 13:16:52 Palkansaaja En 36-40 Mies 10 FM (tietojenkäsittelytiede) 2 Vincit Oyj Turku Konsulttitalossa 100 10 Full stack developer 4750 58000 osakkeista pientä vuosituottoa Kyllä +08/09/2023 13:17:09 Palkansaaja En 41-45 Nainen 1 Alempi korkeakoulututkinto 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Fullstack software designer 3200 Kyllä +08/09/2023 13:17:13 Palkansaaja En 31-35 Mies 10 Insinööri (AMK) 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Senior Game Programmer 4600 0 Ei +08/09/2023 13:17:23 Palkansaaja En 36-40 Mies 4 AMK 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Backend developer 4100 Vaikea sanoa +08/09/2023 13:17:35 Laskuttaja En 26-30 Mies 3 Diplomi-Insinööri 12 2 Webbisoftaa, frontti+bäkkäri ja vähän infraa 72 110000 Käytän välitysfirmoja Suomesta +08/09/2023 13:19:36 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 31-35 Mies 11 DI (TuTa) Startup PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 CTO 6000 78000 26% yhtiön omistuksesta Kyllä +08/09/2023 13:19:49 Palkansaaja En 26-30 Mies 3.5 Elektroniikka-asentaja amis 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Senior Full Stack Developer 6500 0 Kyllä +08/09/2023 13:19:59 Palkansaaja En 36-40 Mies 9 AMK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Senior Frontend Developer 5150 65000 Optioita vestautuu n. 500€/kk verran. Tietty niistä maksetaan maksu kotiutettaessa ja verot päälle, niin hyöty on paljon pienempi. Ei +08/09/2023 13:20:01 Palkansaaja En 36-40 Mies 8 AMK 3 Yleisradio PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 50 React Developer 5468 Kyllä +08/09/2023 13:20:09 Palkansaaja En 21-25 Mies 2.5 AMK 14 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 95 Product Owner 3500 45000 Ei +08/09/2023 13:20:17 Laskuttaja En 41-45 Mies 20 DI, tietotekniikka 0 2 Softadevausta, full stack 90 155000 Käytän välitysfirmoja Suomesta +08/09/2023 13:20:50 Palkansaaja En 36-40 M 12 DI 10 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 90 50 Manager 7750 100000 Kyllä +08/09/2023 13:20:52 Palkansaaja En 31-35 Mies 5 9.3 Turku Konsulttitalossa 100 50 4100 49200 En osaa sanoa. +08/09/2023 13:20:57 Palkansaaja En 26-30 Mies 5.5 Ylempi korkeakoulututkinto 11 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Full-stack cloud developer 5000 60000 Kyllä +08/09/2023 13:21:21 Palkansaaja En 31-35 Nainen 9 DI 5 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Fullstack developer 5210 65646 Kyllä +08/09/2023 13:21:21 Palkansaaja 31-35 Mies 9 AMK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Fullstack developer 5400 65000 Ei +08/09/2023 13:22:37 Laskuttaja En 36-40 Mies 15 TiTe DI 5 2.8 Fullstack softadevaus, + devops + melkein mikä vaan devaus mikä on tarpeen 95 130 Käytän välitysfirmoja Suomesta Ehkä voisi olla jonkinlainen "kuinka monta tuntia keskimäärin laskutat kuukaudessa/viikossa" kenttä, vaikka toki se vuosilaskutus hieman antaa siihen osviittaa. Sen pointti olisi se, että voisi vertailla, kuinka paljon tunteja tehdään töitä laskuttajana vs palkansaajana (jos palkansaaja-puolella on vastaava kysymys työajasta). +08/09/2023 13:22:52 Palkansaaja En 31-35 Mies 3 Ammattikorkeakoulu, tietojenkäsittelyn tradenomi 35 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Security consultant 4000 48000 Kyllä +08/09/2023 13:23:12 Palkansaaja En 41-45 Mies 18 Diplomi-insinööri 7 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Principal Consultant 7485 100000 Tulospalkkio minkä suuruus riippuu performanssista, prosenttiosuus vuosipalkasta Kyllä +08/09/2023 13:23:14 Palkansaaja En 31-35 Mies 6 Tieto- ja viestintätekniikan insinööri (AMK) 15 BeeHealthy Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 80 0 Software developer 4040 Kyllä +08/09/2023 13:23:23 Palkansaaja En 21-25 Mies 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 Full-stack developer 3510 +08/09/2023 13:23:41 Palkansaaja En 31-35 M 10 Datanomi 8 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Lead developer 4250 52000 Kyllä +08/09/2023 13:24:10 Palkansaaja En 36-40 Mies 11 Filosofian maisteri, tietojenkäsittelytiede Turku Tuotetalossa, jonka core-bisnes on softa 100 20 Software developer 5500 66000 Kyllä +08/09/2023 13:24:28 Palkansaaja En 36-40 Mies 15 Ammattikorkeakoulu 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Data-arkkitehti 6900 85000 Peruspalkka + kuukausittainen laskutukseen perustuva bonus + vuosittaiset pienmmät bonukset Kyllä +08/09/2023 13:24:31 Palkansaaja En 41-45 Mies 20 Tietotekniikka 1 Vincit PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Software Developer 6300 Kyllä +08/09/2023 13:24:50 Palkansaaja En 41-45 Nainen 1 ammattikoulu 3 Tampere startup 100 20 software developer 3200 40000 Kyllä +08/09/2023 13:24:53 Palkansaaja En 26-30 Miesoletettu 5 Toinen aste 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Full-stack Developer 4000 51000 Ei +08/09/2023 13:25:38 Palkansaaja En 26-30 mies 4 Luonnontieteiden kandidaatti 12 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 Software Developer 5400 67500 rajoilla +08/09/2023 13:26:02 Palkansaaja En 46-50 Mies 20 DI 2 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Software architect 5100 70000 Ei +08/09/2023 13:26:17 Palkansaaja En 21-25 Mies 3 Tekniikan kandi +26 Oyj PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 100 Junior Software developer 3000 13000 Palkkana kaikki Parani hyvin mutta neuvotteluvaraa on Joko töissä 100% tai 0% +08/09/2023 13:27:13 Palkansaaja En 31-35 Mies 4 KTM 16 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Data engineer 4800 60000 Peruspalkka + edut + tulospalkka Kyllä +08/09/2023 13:27:35 Palkansaaja En 26-30 7 Ammattikoulu 11 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Web developer 4200 52416 Ei +08/09/2023 13:27:39 Palkansaaja En 26-30 Mies 3.5 Filosofian Maisteri (Kyberturvallisuus) 16 Tampere Konsulttitalossa 100 1 Cyber Security Specialist 5000 65000 Kyllä +08/09/2023 13:27:50 Palkansaaja En 31-35 Mies 9 Filosofian maisteri (fysiikka) 35 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 100 Data science lead 6300 79000 Kk-palkka + optiot Ei 2727 +08/09/2023 13:28:21 Palkansaaja En 36-40 mies 7 Yliopisto 14.1 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 15 Full stack software development 4240 Ei +08/09/2023 13:28:32 Palkansaaja En 31-35 Mies 12 Ammattikoulu 0 Wunder Finland Oy Turku Konsulttitalossa 100 0 Drupal Developer 3734 45500 Palkka + "Halibonus" (5 virtuaalihalia annettavana työkavereille per viikko, määräajoin jaetaan X€ per saatu hali bonusta palkkaan) Ei +08/09/2023 13:28:40 Palkansaaja En 31-35 Mies 5 Korkeakoulu 5 Turku Konsulttitalossa 100 0 Software developer 4300 Ei +08/09/2023 13:29:11 Laskuttaja En 31-35 Mies 10 Diplomi-insinööri 10 3 full stack, cloud, arkkitehtuuria, agile 97 140000 Käytän välitysfirmoja Suomesta +08/09/2023 13:29:17 Palkansaaja En 31-35 Mies 11 ammattikorkeakoulu 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Software developer 4600 55200 Kyllä +08/09/2023 13:29:21 Palkansaaja En 26-30 Mies 7 Tietotekniikan diplomi-insinööri 4 Tampere Konsulttitalossa 100 50 Full stack developer 4600 60000 Kyllä +08/09/2023 13:29:28 Palkansaaja En 41-45 Mies 17 Ammattikorkeakoulututkinto 2.7 Tampere Konsulttitalossa 100 100 Test Automation Developer 5025.34 63000 Kyllä +08/09/2023 13:29:40 Palkansaaja En 26-30 nainen 0.5 0 Wolt Enterprises OY PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 90 Frontend web developer 3800 Kyllä +08/09/2023 13:29:49 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 36-40 Mies 25 Filosofian maisteri (Tietojenkäsittelytiede) 0 Saksalainen pörssiyhtiö, Suomen toimipiste PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Pilvi-infrastruktuurista vastaavan tiimin lead 12500 155000 15% bonus-pohjainen komponentti, 85% taattu kuukausipalkka En usko että saisin täysin suomalaisesta yhtiöstä samanlaista palkkaa +08/09/2023 13:29:56 Palkansaaja En 26-30 Mies 7 Yliopisto-opintoja 1 Jyväskylä Konsulttitalossa 100 40 Frontend developer 4500 56000 Kyllä +08/09/2023 13:30:18 Palkansaaja En 41-45 25 Yliopisto 0 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 3 Software architect 7100 98000 Kyllä +08/09/2023 13:30:37 Palkansaaja En 36-40 Mies 12 Diplomi-insinööri PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 90 Lead backend developer (python) 6283 Kyllä +08/09/2023 13:31:02 Palkansaaja En 36-40 Nainen 1 Perustutkinto Ammattikoulusta 0 Kuusamo Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Full-stack developer 2456 32000 Kyllä +08/09/2023 13:31:20 Palkansaaja En 26-30 Mies 2 Insinööri (AMK) 26 Tampere Tuotetalossa, jonka core-bisnes on softa 100 40 Fullstack Developer 3750 45000 Kyllä +08/09/2023 13:32:07 Palkansaaja En 36-40 Mies 10 FM, tietojenkäsittelytiede 3 Anders Innovations PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Senior developer 5100 61200 65725 Kyllä +08/09/2023 13:32:49 Laskuttaja En 26-30 Mies 7 Tietotekniikan DI 10.3 3 Full stack -devausta (fronttipainotuksella) 170000 Itse Ulkomailta Etäilen Jenkkeihin oman Oy:n kautta, eli olen de jurii laskuttaja, de facto työntekijä. Oman kompensaationi euromääräinen arvo vaihtelee dollarin kurssin myötä, kenties joku alasvetovalikko valuutalle voisi olla hyvä lisä? +08/09/2023 13:32:52 Palkansaaja En 21-25 Mies 4 TJT-opintojen maisterivaihe kohta paketissa! 6 Liian pieni firma! PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 3300 Ei +08/09/2023 13:33:05 Palkansaaja En 31-35 Mies 6 Ammattikorkeakoulu 5 Tampere Konsulttitalossa 100 20 Frontend developer 4500 56250 Kyllä +08/09/2023 13:33:48 Palkansaaja En 36-40 Mies 5 17 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Fullstack developer 4736 61000 Kyllä +08/09/2023 13:34:08 Palkansaaja En 41-45 Mies 18 Yliopisto-opintoja (kesken) 20 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 25 Software Architect 8000 96000 Kyllä +08/09/2023 13:34:37 Palkansaaja En 41-45 Mies 10 4 Turku Konsulttitalossa 100 10 Front-end / Full-stack 4200 52500 Kyllä +08/09/2023 13:35:21 Palkansaaja En 36-40 Mies 12 Automaatiotekniikan diplomi-insinööri 3 Leanware Oy Tampere Tuotetalossa, jonka core-bisnes on softa 100 1 Fullstack developer 4936.53 61377 Kyllä +08/09/2023 13:35:27 Palkansaaja En 41-45 Mies 6 Ylempi korkeakoulututkinto (tietotekniikan Master of Science) 0 Futurice PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 0 Fullstack developer, web apps 3910 52500 Peruspalkan lisäksi tulee muuttuva bonus riippuen miten firmalla menee. Osakeohjelmaan osallistuvat saavat ostaa tietyllä summalla osakkeita kerran vuodessa ja saavat pari optiota jokaista osaketta kohden. Ei +08/09/2023 13:36:47 Palkansaaja En 26-30 mies 4 DI 11 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Software developer 5200 +08/09/2023 13:38:34 Palkansaaja En 31-35 8 Tekniikan kandidaatti 24 Tampere Tuotetalossa, jonka core-bisnes on softa 100 20 Senior Full Stack Software Engineer 6100 80000 Kyllä +08/09/2023 13:38:45 Palkansaaja En 46-50 Nainen 26 5 Mehiläinen Oy Turku 100 10 5900 76700 Ei +08/09/2023 13:38:56 Palkansaaja En 31-35 Mies 5 48 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Senior Software Developer 5000 60000 Ei +08/09/2023 13:38:58 Palkansaaja En 36-40 mies 6 Luonnontieteiden kandidaatti 3 Jyväskylä Konsulttitalossa 80 50 Testiautomaatiokehittäjä 4220 44335 Laskutukseen perustiva provisio maksimissaan 10% kk-palkasta Kyllä +08/09/2023 13:39:05 Palkansaaja En 31-35 mies 18 yliopisto-dropout 10 Turku Tuotetalossa, jonka core-bisnes on softa 100 50 full-stack lead dev 6000 75000 optioita Kyllä +08/09/2023 13:41:11 Palkansaaja En 21-25 Nainen 1.5 Muotoilija (AMK) 3 it-talo PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Junior käyttöliittymäsuunnittelija 3320 500 - Kyllä +08/09/2023 13:41:12 Palkansaaja En 36-40 Mies 16 Insinööri (AMK) 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Designer / Front-end developer 7000 86000 Kyllä +08/09/2023 13:41:47 Laskuttaja En 36-40 Mies 16 DI 3 3 backend devausta datapuolella 54 92000 Käytän välitysfirmoja Suomesta +08/09/2023 13:42:23 Palkansaaja En 51-55 mies 30 peruskoulu 0 frends oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Integration developer 4800 1000 KKpalkka + kvartaalibonus Palkka on ok - en tiedä miten se vertautuu muihin +08/09/2023 13:42:31 Palkansaaja En 36-40 mies 15 amk 25 Konsulttitalossa 100 15 Fullstack Developer 5500 70000 Kyllä +08/09/2023 13:43:12 Palkansaaja En 31-35 Mies 8 Maisteri 1.25 Oulu Konsulttitalossa 100 40 Cloud engineer, esimies 4400 60000 KPI-perustainen bonusmalli joka meni puihin tänä vuonna -> pienempi bonus tänä vuonna. Ei +08/09/2023 13:43:36 Palkansaaja En 31-35 Nainen 0.5 Filosofian maisteri, tietojenkäsittelytieteet PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Fullstack developer 2548 Ei +08/09/2023 13:44:01 Palkansaaja En 46-50 Mies 4 Insinööri 1 Oulu Tuotetalossa, jonka core-bisnes on softa 100 5 Test developer 3160 Ei Oletko etsimässä työpaikkaa? Vaihtaisitko paremman palkattuun tehtävään? +08/09/2023 13:44:29 Palkansaaja En 31-35 Mies 13 Tietotekniikan AMK insinööri 8 Siili Solutions Oyj Seinäjoki Konsulttitalossa 100 0 Full stack developer 4500 55000 Ei +08/09/2023 13:44:33 Palkansaaja En 21-25 Mies 1 Tradenomi 11.5 Lappeenranta Tuotetalossa, jonka core-bisnes on softa 100 1 Full Stack Web/native Software Developer 2900 0 Ei +08/09/2023 13:45:15 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 31-35 mies 8 ammattikoulu 24 - Tampere Konsulttitalossa 80 80 Tuotantojohtaja 4150 42000 kvarttaaliboonukset kuukausipalkan lisäksi Ei +08/09/2023 13:46:32 Palkansaaja 31-35 Mies 10 Teekkari, ei valmistunut 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 70 Senior software engineer 5100 62000 Kiinteä kk-palkka 4500 (oma tuote), päälle ~600 suoraan asiakkailta laskutetuista tunneista Ei Mielenkiintoinen ala ja rento työilmapiiri hiukan kompensoi huonoa palkkaa +08/09/2023 13:47:10 Laskuttaja En 36-40 Mies 12 FM 0 4 Fullstack, mobiili 95 150000 Itse Suomesta +08/09/2023 13:47:39 Palkansaaja En 36-40 Mies 11 DI 23 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Fullstack Developer 5800 75000 Ei muita palkitsemisjärjestelmiä kuin palkka. Jouluna saa suklaata. Kyllä +08/09/2023 13:48:34 Palkansaaja En 36-40 Mies 17 FM 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 1 Software Development Engineer III 13300 199000 Palkka + optiot Kyllä +08/09/2023 13:48:52 Palkansaaja En 46-50 M 25 Alempi korkeakoulututkinto 2 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 30 Software developer 5300 66000 Kyllä +08/09/2023 13:49:04 Palkansaaja En 31-35 Mies 13 Tietoliikenne insinööri -21 Etä Tuotetalossa, jonka core-bisnes on softa 100 0 Software/DevOps Engineer 9600 115000 Tokeneita 3v palkan verran Kyllä +08/09/2023 13:50:09 Palkansaaja En 21-25 Mies 1 Tekniikan kandidaatti 0 Tampere Konsulttitalossa 80 80 Data engineer 2000 Kyllä +08/09/2023 13:50:42 Palkansaaja En 36-40 Mies 6 Tietojenkäsittelyn Kandidaatti 10 Siili solutions PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Fullstack developer 4500 58500 EBITDA sidottu bonus Kyllä +08/09/2023 13:51:47 Palkansaaja En 26-30 Nainen 6 Ei alan koulutusta 20 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 Software engineer 5500 70000 Kyllä +08/09/2023 13:52:27 Palkansaaja En 31-35 Mies 9 IT insinööri (AMK) 11 Seinäjoki Konsulttitalossa 100 100 Unreal developer 4100 4100 Kyllä +08/09/2023 13:53:04 Palkansaaja En 36-40 mies 5 yliopisto 9 siili solutions Oulu Konsulttitalossa 100 0 fullstack developer 3100 38800 ei ole Ei +08/09/2023 13:53:15 Palkansaaja En 26-30 Mies 1 LuK, tietojenkäsittelytiede Oulu Konsulttitalossa 100 40 Junior Fullstack Developer 2800 +08/09/2023 13:55:35 Palkansaaja En 31-35 Mies 7 Diplomi-insinööri 11 Nitor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Software developer 5300 66250 Kiinteä palkka 4480€ + 5% laskutuksesta Kyllä +08/09/2023 13:56:20 Palkansaaja En 31-35 mies 7 FM, tietojenkäsittelytiede 60 Mavericks Turku Konsulttitalossa 100 10 Senior backend developer 7000 84000 Kyllä +08/09/2023 13:56:56 Palkansaaja En 26-30 mies 6 AMK 15 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 15 Senior FE developer 5500 66000 Kyllä ilman tmi side-hustlea ei 5,5k brutto enää riitä kattamaan talouden menoja palkansaaja + freelancer -tilanteen yleisyyttä ja kannattavuutta ei harmillisesti mitattu +08/09/2023 13:58:30 Palkansaaja En 26-30 Nainen 8 Diplomi-insinööri 5 Wolt PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 Software engineer 6000 75000 +08/09/2023 14:01:14 Palkansaaja En 21-25 mies 0.5 ylioppilas, 80 % valmis LuK tietojenkäsittelytieteestä PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 50 80 Full stack developer 1179 Ei +08/09/2023 14:02:05 Palkansaaja En 41-45 Uros 20 Tietojenkäsittelytieteen ylioppilas 0 Compile Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 1 Senior full stack developer 7800 94000 Kyllä +08/09/2023 14:02:31 Palkansaaja En 21-25 Mies 1.5 Tekniikan kandi. Maisteri opiskelija Machine Learning and AI pääaineena. Sivuaineena ohjelmistotuotanto. 44 Tampere Konsulttitalossa 100 50 Data Engineer and Project Manager 3600 43200 Suhteessa koulutustaustaani ja kokemukseeni on. Työnimikkeeseeni suhteutettuna ei. +08/09/2023 14:06:18 Palkansaaja En 36-40 mies 18 ylioppilas 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Site Reliability Engineer 11250 135000 Kyllä +08/09/2023 14:07:03 Palkansaaja En 41-45 Mies 20 LuK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Solution Analyst 5700 68400 Kyllä +08/09/2023 14:07:15 Palkansaaja En 36-40 mies 15 AMK, ICT-tradenomi 2.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Senior IT consultant 5922.5 74031.25 Joku maksaisi varmaan enemmänkin, mutta tällä määrällä jo on vaikeuksia keksiä nykytilanteessa mitä tekisi. Bonuksista voisi kysellä vähän tarkemmin, niitä kun on yleensä kahdentyyppisiä, tulospalkkiotyylisiä kerran kvartaaliin sekä kertaluonteisia "hyvää työtä, ota tästä 50 € lahjakortti Steamiin" +08/09/2023 14:07:21 Palkansaaja En 31-35 Mies 10 Tietotekniikan DI 3.5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 100 Software Engineering Manager 6000 125000 palkka + RSUt + ESPP Kyllä +08/09/2023 14:09:44 Palkansaaja En 41-45 Mies 7 Ammattikoulu 4 Turku Konsulttitalossa 100 80 Software developer 4160 Kyllä +08/09/2023 14:09:56 Palkansaaja En 31-35 nainen 5 tradenomi 25 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 Test automation engineer 3400 45000 bonus mahdollisuus Ei +08/09/2023 14:10:15 Palkansaaja 36-40 M 15 AMK-insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 140 5 Senior BI Consultant 8500 100000 Provisiomalli, 50.7% laskutuksesta siirtyy bruttona mun palkkaan. Kyllä +08/09/2023 14:11:18 Palkansaaja En 31-35 m 5 FM 2 Turku Konsulttitalossa 100 10 Software developer 4100 55000 kk-palkka + tulokseen perustuva bonus Ei +08/09/2023 14:12:48 Palkansaaja En 26-30 mies 8 Tietotekniikan diplomi-insinööri 12 Yleisradio Oy PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 20 Developer 5175 65981 Kyllä +08/09/2023 14:14:39 Palkansaaja En 41-45 20 DI 3 Tampere Konsulttitalossa 100 75 7000 87500 Kk-palkka Ei +08/09/2023 14:17:05 Palkansaaja En 31-35 Mies 12 AMK-insinööri 10 Qvik PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Senior fullstack developer 5600 Ei +08/09/2023 14:18:40 Palkansaaja En 26-30 Mies 6 AMK 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Senior Software Engineer 6000 80000 +08/09/2023 14:18:52 Palkansaaja En 31-35 Mies 6 Luonnontieteiden kandidaatti, tietojenkäsittelytiede 11.6 Siili Solutions Oyj Oulu Konsulttitalossa 100 100 Full-stack developer 4012.5 48150 Ei +08/09/2023 14:20:01 Palkansaaja En 41-45 Mies 15 Filosofian Maisteri, Tietojenkäsittelytiede 0 CGI Joensuu Konsulttitalossa 80 2 Backend developer / Architect 4100 54000 Kyllä +08/09/2023 14:20:47 Palkansaaja En 36-40 mies 14 AMK 28 Tampere Konsulttitalossa 100 0 Senior WordPress Developer 6300 80250 Selvästi enemmän kuin muissa vastaavissa hommissa +08/09/2023 14:23:38 Palkansaaja En 26-30 Nainen 1 Kauppatieteiden kandidaatti ja Luonnontieteiden kandidaatti (tietojenkäsittelytiede) 1.15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 8 Software Engineer Intern --> Software Engineer (juuri sain ylennyksen) 3800 45600 palkka + RSU Ei +08/09/2023 14:23:45 Palkansaaja En 31-35 Mies 10 Alempi korkeakoulututkinto 3.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Clojure developer 5900 73000 Kuukausipalkka + laskutusprovisio Kyllä Kiitos jälleen palkkakyselyn toteutuksesta. Vastaaminen muistutti paikoitellen veroilmoituksen täyttämistä, eli tuntui raskaalta. Siitä huolimatta osallistuminen on mielestäni täysin siihen käytetyn ajan arvoista. +08/09/2023 14:26:47 Palkansaaja En 31-35 Mies 5 Media Engineer 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 1 Tech Lead / Software Developer / RPA Developer 5500 66000 Kyllä +08/09/2023 14:27:55 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 mies 18 diplomi-insinööri 0.5 full stack, arkkitehtuuri 90 125000 Itse, Käytän välitysfirmoja Suomesta +08/09/2023 14:28:32 Palkansaaja En 26-30 Mies 3 Bachelor of Science - BS, Computer Science 14 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 Full-Stack developer 5470 67500 Kyllä +08/09/2023 14:29:32 Palkansaaja En 26-30 Nainen 3 amk 17 PK-Seutu (Helsinki, Espoo, Vantaa) 100 3100 +08/09/2023 14:30:37 Palkansaaja En 41-45 nainen 3 7 Mehiläinen Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 30 Frontend developer 3600 43200 Kyllä +08/09/2023 14:31:16 Palkansaaja En 26-30 Mies 8 Diplomi-insinööri - Informaatioverkostot 12 Inderes PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Product Manager 6200 75000 Kyllä +08/09/2023 14:33:02 Palkansaaja En 31-35 Mies 5 AMK 6 Visma Pori Tuotetalossa, jonka core-bisnes on softa 100 20 Security Engineer 3500 42000 Ei +08/09/2023 14:33:40 Palkansaaja En 41-45 Nainen 16 LuK 5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 50 Engineering team lead 6240 115000 Optioita Kyllä +08/09/2023 14:34:00 Palkansaaja En 26-30 mies 8 Tietotekniikan diplomi-insinööri 5 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 5700 3700 Kyllä +08/09/2023 14:34:03 Palkansaaja En 41-45 Mies 18 Insinööri AMK 2 TietoEVRY Oyj Tampere Tuotetalossa, jonka core-bisnes on softa 100 60 Full Stack developer 5020 63000 Kyllä +08/09/2023 14:36:32 Palkansaaja En 36-40 Mies 14 Ylempi korkeakoulututkino, DI tietotekniikka 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Full-stack developer 8812 105774 Kiinteä kk-palkka + laskutukseen sidottu bonus. Kyllä +08/09/2023 14:38:07 Palkansaaja En 26-30 Mies 3.5 Medianomi 9.8 Siili Solutions PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 3 Frontend developer 3953 47436 Kyllä. En tosin tiedä kauheasti muiden palkoista, oli ne sitten toisessa firmassa tai samassa vastaavalla osaamisella. +08/09/2023 14:39:49 Palkansaaja En 31-35 mies 7 AMK, ei valmistunut 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Backend developer / cloud engineer 7500 93000 Kyllä +08/09/2023 14:44:44 Palkansaaja En 31-35 Mies 7 AMK, IT-tradenomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Senior Software Developer 6500 78000 Kyllä +08/09/2023 14:51:06 Palkansaaja En 41-45 Mies 17 Insinööri (AMK), ohjelmistotekniikka 14 Tampere Konsulttitalossa 100 82 Senior SW Engineer 5700 17250 Kyllä Bonusohjelmille, eli onko niitä ja miten iso osa palkasta ne on, voisi olla oma kenttänsä +08/09/2023 14:53:19 Palkansaaja En 36-40 4 25 Tampere Konsulttitalossa 100 80 Senior Software Developer 5000 60000 Kyllä +08/09/2023 14:54:30 Palkansaaja En 31-35 nainen 13 datanomi 20 Konsulttitalossa 100 5 frontend developer && service design 4200 koulutusbonareita saa vapaamuotoisestakin vapaa-ajan kouluttautumisesta Kyllä mietiskelen tällaista tapausta jossa on projekteilla aina vähän erilaisilla rooleilla, jotka kaikki ei ole missään nimessä vain teknistä suorittamista. että saatan olla samanaikaisesti esim yhdellä projektilla koodari, toisella määrittelijä, kolmannella palvelumuotoilija ja sivussa tehdä vielä vaikkapa myynnintukea. Tai hattu vaihtuu projektin elinkaaren mukaan: aloitan palvelumuotoiljana ja määrittelijänä, sit hyppään koodariksi ja jossain kohti mulla on joku projari-/scrummarihattu. että miten tällaiset ei-yhtä-selkeää-roolia- tapaukset napattaisiin, vai onko niitä tarve napata? +08/09/2023 14:54:30 Palkansaaja En 36-40 mies 9 Tradenomi, tietojenkäsittely (AMK) 6 Visma PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 2 Software developer 5500 73000 Kyllä +08/09/2023 14:55:48 Palkansaaja En 31-35 Mies 8 Diplomi-insinööri 0 Tampere Konsulttitalossa 100 30 Machine learning engineer 6500 81500 Työnantajan osakkeita sai ostaa kerran 2000 eurolla Kyllä +08/09/2023 14:57:58 Palkansaaja En 36-40 Nainen 7 Insinööri 0 Tampere Konsulttitalossa 100 60 Frontend Developer 4050 50625 Kyllä +08/09/2023 14:58:21 Palkansaaja En 41-45 Mies 22 Ylioppilas ja Opistotaso 4 Tampere Konsulttitalossa 100 80 Cloud Architect 8700 500 Kyllä +08/09/2023 15:02:47 Palkansaaja En 26-30 Mies 6 ICT-insinööri 0 Jyväskylä Konsulttitalossa 100 2 Senior Software Developer 4800 60000 Ei +08/09/2023 15:04:20 Palkansaaja En 41-45 non-binary, afab 17 DI 3 Tuotetalossa, jonka core-bisnes on softa 100 3 5665 67980 Kyllä +08/09/2023 15:15:26 Palkansaaja En 36-40 mies 15 DI 0 Posti Messaging Oy PK-Seutu (Helsinki, Espoo, Vantaa) 100 5 Senior Software Developer 5300 Ei +08/09/2023 15:18:03 Palkansaaja En 36-40 17 Engineer 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Senior Manager 7600 100000 Kyllä +08/09/2023 15:21:02 Palkansaaja En 41-45 Nainen 12 Tietojenkäsittelytiede / maisteri 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 2 Sovelluskehittäjä 6500 78000 Provisiopalkka Kyllä +08/09/2023 15:37:55 Laskuttaja En 41-45 Mies 22 DI 0 6 Fullstack, architecture, consultation 85 Käytän välitysfirmoja Suomesta +08/09/2023 15:41:58 Palkansaaja En 41-45 Mies 22 DI Remote Tuotetalossa, jonka core-bisnes on softa 80 0 4500 54000 Ei +08/09/2023 15:42:41 Laskuttaja En 41-45 mies 15 insinööri 37 2 full stack 110 180000 Itse Suomesta +08/09/2023 15:43:50 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 26-30 Mies 7 Tradenomi ja itseoppinut koodari 1 full stack, BI, konsultointi 120 105000 Kaksi isoa sopimuskumppania Suomesta +08/09/2023 15:45:01 Palkansaaja En 31-35 Mies 15 Datanomi 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 6300 Kyllä +08/09/2023 15:45:26 Palkansaaja En 41-45 Mies 16 Ammattikorkeakoulu 8 Kirkkonummi Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 80 Senior developer 6420 83030 Kyllä +08/09/2023 15:47:30 Palkansaaja En 31-35 Mies 8 Maisteri, tietojenkäsittelytieteet 6 Polar Squad PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Cloud architect/developer 5100 65000 Kyllä +08/09/2023 15:48:59 Palkansaaja En 36-40 Muu 5 AMK 5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 37.5 10 Software engineer 5875 72000 Enimmäkseen palkka. Lisänä työsuhdeoptioita. Kyllä +08/09/2023 15:55:58 Palkansaaja En 36-40 Mies 18 Datanomi 2 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 98.7 4 DevOps 6200 96000 palkka ja varallaolo Kyllä 13 v firmassa, taas YT ilmapiiri +08/09/2023 16:06:00 Laskuttaja En 21-25 Mies 6 Lukio 0 4 Full Stack 52800 Itse Suomesta Urakoitsijana vakituisella työtilauksella 4400€ kuukausilaskutuksella +08/09/2023 16:09:20 Palkansaaja En 36-40 18 Lukio 0 Hajautettu Konsulttitalossa 100 0 Software developer 7810 93720 Ei +08/09/2023 16:13:54 Palkansaaja En 36-40 7 Maisteri -10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 60 Senior software developer 5400 65000 Kyllä +08/09/2023 16:18:45 Palkansaaja En 26-30 mies 7 Fil yo 13 PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 15 6210 78000 Kyllä +08/09/2023 16:29:27 Palkansaaja En 26-30 Mies 2.5 Ylioppilas 10 Fraktio Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 75 Web Developer 3763.87 48000 Kyllä +08/09/2023 16:33:45 Palkansaaja En 46-50 18 KTM 3 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Software developer 6600 Kyllä +08/09/2023 16:39:41 Palkansaaja En 26-30 mies 4 Tietotekniikan DI 6 Englanti Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Senior Software Engineer 8300 99600 Optioita, neljän vuoden vestaus jossa on vuoden cliff Ei +08/09/2023 16:53:50 Palkansaaja En 31-35 Mies 16 Ammattitutkinto 32 Metosin Oy Jyväskylä Konsulttitalossa 70 10 Ohjelmoitsija 5670 72000 Kyllä +08/09/2023 16:57:32 Palkansaaja En 41-45 Mies 22 Insinööri 3 Vaasa Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 95 Software developer 4576 60000 Ei +08/09/2023 17:00:27 Palkansaaja En 41-45 Mies 19 DI 5 Täysi etätyö, ei toimistoa Konsulttitalossa 100 0 Lead developer 7300 92000 Kyllä +08/09/2023 17:01:13 Palkansaaja En 31-35 Mies 5 Amk 8 Solita Tampere Konsulttitalossa 100 0 Software designer 4200 48000 Kuukausipalkka Ei +08/09/2023 17:26:30 Palkansaaja En 31-35 Nainen 6 Tietotekniikan insinööri 6 Tampere Konsulttitalossa 100 100 Staffing manager 4915 61400 Kyllä +08/09/2023 17:48:18 Palkansaaja En 26-30 Mies 6 Yliopisto (jätin kesken, ei tutkintoa) PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Fullstack developer 5500 Kyllä +08/09/2023 17:58:10 Palkansaaja En 36-40 Mies 12 Diplomi-insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 1000 0 Senior developer 4700 56400 Ei +08/09/2023 18:12:59 Palkansaaja En 41-45 Mies 26 Tekniikan ylioppilas 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Lead Developer 6000 Ei +08/09/2023 18:14:20 Palkansaaja En 36-40 14 diplomi-insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 50 full stack developer 9700 116000 Kyllä +08/09/2023 18:30:05 Laskuttaja En 21-25 Mies 6 Tietojenkäsittelytieteen kandidaatti 20 2 full stack, data, infra 105 136000 Itse, Käytän välitysfirmoja Suomesta, Ulkomailta +08/09/2023 18:32:41 Palkansaaja En 36-40 Nainen 15 Ylioppilas 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 80 Developer 5000 Kyllä +08/09/2023 18:34:17 Palkansaaja En 41-45 Mies 18 DI 8 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Technical Lead 6500 72000 Kyllä +08/09/2023 18:34:25 Palkansaaja En 36-40 Mies 11 YAMK 0 Vincit Turku Konsulttitalossa 100 20 Full Stack Developer 4300 500 Ei Olen ollut ulkomailla töissä, joten Suomen palkka ei ole noussut yli vuoteen. Normaalisti varmasti olisi. +08/09/2023 18:46:41 Palkansaaja En 36-40 12 Amk insinööri 1 Turku Tuotetalossa, jonka core-bisnes on softa 100 10 Full stack developer 4000 50000 Ei +08/09/2023 19:14:38 Palkansaaja En 31-35 9 Tietojärjestelmätiede, KTM 3.5 Liikenne- ja viestintävirasto Traficom PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 95 1 5560 70000 Kyllä +08/09/2023 19:23:50 Palkansaaja En 31-35 Mies 9 Yliopisto 9 Tampere Julkinen tai kolmas sektori 100 0 Ohjelmistokehittäjä/-arkkitehti 6000 72000 Kyllä +08/09/2023 19:42:51 Palkansaaja En 41-45 nainen 3 7 Joensuu Konsulttitalossa 100 75 Software developer 2900 37000 Ei +08/09/2023 19:45:13 Palkansaaja En 26-30 nainen 3 DI PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Frontend developer 3300 +08/09/2023 19:47:43 Palkansaaja En 36-40 Mies 14 Ylioppilas 10 Oulu Konsulttitalossa 100 4 Backend developer 4500 61000 Kyllä +08/09/2023 19:56:27 Palkansaaja En 15-20 Mies 2 Lukio 25 Vaasa Konsulttitalossa 100 0 Software developer trainee 2418 Ei ”Vastaako työtittelisi työnkuvaasi?” (voisi muotoilla paremmin…). Esimerkiksi omassa työnimikkeessäni on ”harjoittelija”, vaikka työkokemukseni/työtehtävieni perusteella olisin jo juniori. Ja tästä aionkin jossain vaiheessa keskustella esimieheni kanssa. +08/09/2023 20:08:31 Palkansaaja En 31-35 Mies 8 DI 8 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Full stack developer 5900 76000 +08/09/2023 20:20:51 Palkansaaja En 31-35 mies 7 tietojenkäsittelytiede yliopistossa Turku Tuotetalossa, jonka core-bisnes on softa 80 50 Full-stack web-kehittäjä 4000 50000 Ei +08/09/2023 20:29:33 Palkansaaja En 31-35 Mies 15 DI 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Senior android native developer 7100 94000 Kyllä +08/09/2023 20:29:36 Palkansaaja En 21-25 Mies 1 Lukio 1 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Junior Cloud Developer 3540 Kyllä +08/09/2023 20:37:39 Palkansaaja En 36-40 8 Gofore Tampere Konsulttitalossa 100 100 Lead developer 5400 Kyllä +08/09/2023 20:50:54 Laskuttaja En 31-35 Mies 10 Ammattikorkea 20 5 Mobiili 80 125000 Itse, Käytän välitysfirmoja Suomesta +08/09/2023 20:58:33 Palkansaaja En 26-30 9 DI -15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 4700 73000 osakkeet+bonus Kyllä +08/09/2023 21:20:00 Palkansaaja En 46-50 Mies 25 Tradenomi 1.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Full Stack Web Developer 5950 75000 Kyllä +08/09/2023 22:24:11 Palkansaaja En 41-45 Mies 20 Diplomi-insinööri 3 Tampere Konsulttitalossa 100 20 Software Architect 6500 78000 Kyllä +08/09/2023 22:26:00 Palkansaaja En 26-30 Mies 5 Melkein maisteri 3.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Full-Stack developer 5500 68750 Kyllä +08/09/2023 22:47:40 Palkansaaja En 36-40 Mies 5 AMK -25 EU Konsulttitalossa 115 100 SAP Developer 4500 54000 Ei +08/09/2023 22:55:12 Palkansaaja En 41-45 mies 18 DI 4 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 50 Kehityspäällikkö 7650 100000 kk-palkka, vuosibonus, mahdollisuus ostaa firman osakkeita +08/09/2023 22:55:45 Palkansaaja En 31-35 nainen 1 Filosofian maisteri, englannin kieli Jyväskylä Tuotetalossa, jonka core-bisnes on softa 90 50 Junior QA Tester, automaatio- ja manuaalitestaus 2835 Polkupyöräetu 2000 e/24 kk palkan päälle. Puhelinetu 20 e/kk ja työpuhelin. Lounas- ja virike-etu n. 1300 e/v. Laaja työterveys Kyllä Tittelini on vielä junior, mutta työnkuvani on vaativampi, osin jopa QA Leadin tyyppinen. Pyysin siksi työsopimukseen merkinnän, että koeajan päättyessä roolini ja palkkani tarkistetaan työtehtävien mukaisiksi. Oli lyhyempi kuin odotin, erinomaista! +08/09/2023 23:08:44 Palkansaaja En 31-35 Mies 10 DI 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 95 Site reliability engineer 6000 100000 Optioita vestautuu kuukausittain, mutta ne ovat toki arpalippuja listaamattomalla yrityksellä. Kokonaiskompensaatioon laskettu noin puolikkaalla viime rahoituskierroksen valuaatioarvolla. Ei +08/09/2023 23:29:15 Palkansaaja En 41-45 Mies 18 DI 5 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 DevOps Specialist 5800 70000 Kyllä +08/09/2023 23:51:31 Palkansaaja En 31-35 Mies 5 AMK Tietoliikenne Insinööri 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 Azure Developer/konsultti 4227 53524 Riippuu monimutkaisesta laskutoimituksista, jos saa bonusta ja kuinka paljon Kyllä Kauniainen pk seutuun +09/09/2023 00:35:47 Palkansaaja En 41-45 m 23 di 4.5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 95 senior software developer 4700 70000 Optioita jotka vestautuu vuonna X Ei +09/09/2023 03:16:42 Palkansaaja En 31-35 Mies 7 Tietotekniikan DI 6 IPRally PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 Site Reliability Engineer 5500 70000 Kyllä Sopiva määrä kysymyksiä ja hyvä että oli selvennetty mitä kysymyksellä haetaan esim aikaisempi "tällä haetaan alan töiden tulotasoa eikä yksilön kokonaistulotasoa" jonka luulisi vähentävän "väärien" vastausten antamista +09/09/2023 03:24:05 Palkansaaja En 31-35 mies 6 Yliopisto 20 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 fullstack 5500 70000 Kyllä +09/09/2023 07:18:48 Palkansaaja En 46-50 mies 23 AMK 5.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Senior Software Developer 5500 Kyllä +09/09/2023 09:53:53 Palkansaaja En 36-40 Mies 12 Diplomi-insinööri 15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 8500 120000 Kyllä +09/09/2023 10:12:12 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 36-40 Nainen 0 Oulu . 100 75 Software developer trainee 2340 En osaa sanoa +09/09/2023 11:44:48 Palkansaaja En 31-35 Mies 7 Diplomi-insinööri 3.5 Tampere Tuotetalossa, jonka core-bisnes on softa 100 100 Web developer 4350 55000 Kyllä +09/09/2023 11:45:51 Palkansaaja En 21-25 mies 2 melkein tietojenkäsittelytieteiden kandi -4 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Trainee Software Developer 2500 30240 Kyllä Työnantaja vaihtunut tarkastelujakson aikana konsultitalosta toiseen. +09/09/2023 12:41:10 Palkansaaja En 31-35 Mies 11 Maisteri (tietotekniikka) 190 Mapbox PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 Staff engineer (AWS/cloud infrastructure) 11900 142800 Pelkkä palkka Kyllä +09/09/2023 16:10:59 Palkansaaja En 31-35 Mies 10 Tietotekniinan insinööri 10 Tampere Konsulttitalossa 100 90 Full-stack developer 4400 53000 Kyllä +09/09/2023 16:49:15 Palkansaaja En 31-35 Mies 10 Diplomi-insinööri 3 Unity Technologies Finland Oy PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 95 Senior software engineer 6433.94 114212.6 Palkan lisänä yrityksen osakkeita Kyllä Hyvä määrä kysymyksiä. +09/09/2023 17:18:35 Laskuttaja En 26-30 mies 7 insinööri 6 4 softadevausta 95 152000 Käytän välitysfirmoja Suomesta +09/09/2023 17:44:27 Palkansaaja En 41-45 Mies 3 Tradenomi, tietojenkäsittely (AMK) 3.5 Turku Tuotetalo, jolla myös konsultointia 100 20 Software developer 3385 42883 Ei +09/09/2023 18:01:45 Palkansaaja En 26-30 Mies 3 Amk ins. 10 PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 37.5 40 Full stack developer 4670 Kyllä +09/09/2023 21:00:26 Palkansaaja En 36-40 Mies 1 Tieto ja viestintätekniikan perustutkinto + (insinööri) -7 Digia Tuotetalossa, jonka core-bisnes on softa 100 0 Software developer 2800 Ei +09/09/2023 22:02:21 Palkansaaja En 31-35 Mies 5 Yliopisto, AMK, "Spec-Ops", Kaksoistutkinto 4 CGI Suomi Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Cyber Security Consultant 4700 61100 Firman osakkeita 3.5% kk-palkasta, jonka firma tuplaa Kyllä +09/09/2023 22:29:56 Palkansaaja En 36-40 Mies 17 Yo (tai tietotekniikkakandi) 19 Muu Tuotetalossa, jonka core-bisnes on softa 133 0 Software Engineer 11041 132500 Optioita Ei ole kilpailevia joilla olisi samoja rooleja Näyttäkää laskukaava tulojen vuodentakaiselle muutokselle, en benchmark/perf työssä tunne ketään, jolle tulisi luottavainen mieli nähdessään muutosprosentin tai haluaisi laskea sellaisen. Epäonnistuminen on aina mahdollisuus. +10/09/2023 00:11:19 Palkansaaja En 46-50 Mies 26 FM, matematiikka 4 Jyväskylä Konsulttitalossa 100 60 Product Owner 5500 80000 Peruspalkka, päivystyskorvaus, +0-15% suoritusperusteinen bonus Kyllä +10/09/2023 01:47:09 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 26-30 Mies 10 Datanomi 2 Turku Tuotetalossa, jonka core-bisnes on softa 100 95 CEO 5000 60000 Omistus kuuluu kompensaatioon, mutta yritys ei vielä ole maksanut osinkoja Kyllä +10/09/2023 09:39:27 Palkansaaja En 36-40 8 3 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 80 Lead web developer 6100 0 Kyllä +10/09/2023 09:59:25 Palkansaaja En > 55v mies 28 YTM 30 Tampere Julkinen tai kolmas sektori 99 40 backend developer 6000 72000 Kyllä +10/09/2023 10:20:57 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 46-50 mies 25 DI Tampere Konsulttitalossa 100 50 Fullstack 5500 Kyllä +10/09/2023 12:34:06 Laskuttaja En 36-40 mies 15 Diplomi-insinööri 15 4 Arkkitehtuuri, full stack 150 127000 Itse Suomesta Kiitos tästä. +10/09/2023 15:42:00 Palkansaaja En 41-45 10 FM 15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 90 CTO 6500 100000 +10/09/2023 15:49:27 Palkansaaja En 36-40 Mies 12 Ylempi korkeakoulututkinto 4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Software Architect 7000 96000 Kyllä +10/09/2023 17:44:11 Palkansaaja En 36-40 Mies 11 DI 7 Tampere Tuotetalossa, jonka core-bisnes on softa 100 90 7500 98000 +11/09/2023 08:15:19 Palkansaaja En 26-30 Nainen 5 Ammattkikorkakoulu 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Software developer 4000 Ei +11/09/2023 08:49:57 Palkansaaja En 31-35 Mies 8 Lukio 0 Mehiläinen Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 75 4500 54000 Ei lomarahaa Ei +11/09/2023 09:01:52 Palkansaaja En 36-40 Mies 18 Filosofian maister 5 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 90 20 Android native developer 5195 55311 Ei mitään Kyllä +11/09/2023 09:07:25 Palkansaaja En 26-30 Mies 2 Kauppatieteiden maisteri 10 Kuopio Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Data Analyst 4000 54000 Kk palkka + tulospalkkio joka on 1,5 * kk palkka. Tulospalkkio maksetaan jos liiketoimintalinjan euromääräinen tulostavoite täyttyy. Kyllä Data analytiikka puolen palkkaus on mielestäni Suomessa kilpailukykyinen muihin aloihin verrattuna, mutta kansainvälisesti hieman heikko. +11/09/2023 09:22:50 Palkansaaja En 26-30 Nainen 5 Filosofian tohtori 0 Turku Julkinen tai kolmas sektori 80 4 Senior researcher/ software developer 2849 35323 Työnantajalta vuosittainen bonus-kertaerä Kyllä +11/09/2023 09:51:41 Palkansaaja En 36-40 Mies 5 Ammattiopisto 9 Gofore Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Full stack developer 4700 58000 Kyllä +11/09/2023 09:56:04 Palkansaaja En 36-40 Nainen 4 Datanomi 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Frontend Developer 3650 45000 Kyllä +11/09/2023 09:57:09 Palkansaaja En 36-40 Mies 16 DI -9 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 15 Full-stack webbidevaus + operointi (JVM backend, JS front, PostgreSQL, Azuren kube ym. kilkkeet) 6220 77750 Pelkkä kuukausipalkka Kyllä +11/09/2023 10:16:35 Palkansaaja En 31-35 mies 6 it-tradenomi dropout 15 Sanoma Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Frontend developer 4750 57000 Ei +11/09/2023 10:42:07 Laskuttaja En 46-50 Mies 25 Tietotekniikan DI 5 12 Full stack, devops, arkkitehti 100 150000 Itse, Käytän välitysfirmoja Suomesta +11/09/2023 10:43:39 Palkansaaja En 31-35 nainen 4 ei olennainen 10 Pori Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 Full stack software developer / system specialist 3400 44000 Kyllä +11/09/2023 10:44:10 Laskuttaja En 31-35 Mies 7.5 Tekniikan ylioppilas 23.5 3.5 Fullstack ohjelmointia, mutta kesästä eteenpäin data engineeringiä 84 123500 Itse, Käytän välitysfirmoja Suomesta +11/09/2023 10:55:10 Palkansaaja En 36-40 Mies 15 Tradenomi 3.5 Netum Group Oyj Tampere Konsulttitalossa 100 20 Järjestelmäasiantuntija 3700 44400 Ei +11/09/2023 11:40:15 Palkansaaja En 31-35 nainen 8 Maisteri, Computer Science 5.45 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Full Stack Software Developer 5800 75000 osakkeita Ei +11/09/2023 13:09:36 Palkansaaja En 26-30 Mies 4 Opiskelija 9 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 75 Konsultti 3255 Ei +11/09/2023 13:33:13 Palkansaaja En 26-30 Mies 6 Tekniikan ylioppilas -10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Software Engineer 6500 81250 Palkan lisäksi osakkeita (startup) Kokonaiskompensaatio on kilpailukykyinen, palkka ei +11/09/2023 13:35:43 Palkansaaja En 26-30 Mies 4 122 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Software Engineer 10000 Kyllä +11/09/2023 13:36:15 Palkansaaja En 36-40 Mies 15 Tietojenkäsittelyn tradenomi 26 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Full Stack Developer 5300 70875 Oma toimisto, puhelinetu, netti kotiin Kyllä +11/09/2023 13:38:45 Palkansaaja En 36-40 nainen 13 Jyväskylä Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 50 5300 Kyllä +11/09/2023 13:48:23 Palkansaaja En 41-45 Mies 21 FM 6 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 15 Senior Software Developer, backend 5150 +11/09/2023 13:50:51 Palkansaaja En 31-35 Nainen 5 Kandi 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Fullstack developer 3700 44400 Ei +11/09/2023 13:56:31 Palkansaaja En 26-30 Nainen 4 Ammattikoulu / Datanomi - ohjelmistokehitys 3 Siili Solutions Joensuu Konsulttitalossa 90 100 Frontend Dev 3075 1500 Ehkä +11/09/2023 14:04:01 Palkansaaja En 31-35 Mies 14 Ylioppilas 10 Turku Tuotetalossa, jonka core-bisnes on softa 110 20 Full Stack + Data Engineer 6000 78000 ihan vaan palkkaa Kyllä +11/09/2023 14:17:14 Palkansaaja En 26-30 Mies 5 Kauppatieteiden maisteri Tietojärjestelmätieteistä 18 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 70 Product owner 4500 59000 Kyllä +11/09/2023 14:44:13 Palkansaaja En 41-45 Mies 8 DI 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Toimitusjohtaja 0 0 Nostan palkkaa vasta, kun vasta perustettu yritys on kannattava +11/09/2023 15:52:18 Palkansaaja En 41-45 mies 19 DI 0 Aiven Oy PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 60 20 Senior Software Engineer 3700 69995 +optiot Kyllä +11/09/2023 16:37:43 Palkansaaja En 31-35 Mies 6 AMK 67 Amsterdam Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 90 Software engineer, fullstack 9166 110000 Peruspalkka, bonuksiin mahdollisuus Kyllä Alankomaissa on merkittävä veroetu expateille +11/09/2023 16:50:42 Palkansaaja En 36-40 Mies 1 Tietotekniikan ylioppilas 0 Columbia Road PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 80 95 Full stack developer 2600 31000 Palkka Kyllä +11/09/2023 22:38:31 Palkansaaja En 21-25 Mies 4 Tekniikan kandidaatti, Tietotekniikka, Aalto-Yliopisto 0 Jenkki startup PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Software Engineer, Full-stack 13333 160000 Kyllä Firman sijainti, koko (tai "tyyppi", esim. startup, bootstrapped, korporaatio, julkinen), ja rahoitus olisi mielestäni kiinnostavia kysyä myös +12/09/2023 07:22:28 Palkansaaja En 51-55 Mies 25 Ylioppilas 2 Jyväskylä Tuotetalossa, jonka core-bisnes on softa 100 0 Technology director 6500 1500 Palkka + yrityksen tulokseen perustuva bonus Ei +12/09/2023 09:33:12 Palkansaaja En 31-35 Nainen 15 DI 0 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 Tiimin vetäjä 4900 65300 Ei +12/09/2023 10:38:38 Palkansaaja En 26-30 Mies 8 Tietotekniikan Diplomi-insinööri 13 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Full-stack developer 5350 65000 Kyllä +12/09/2023 12:29:16 Palkansaaja En 31-35 Mies 6 Ammattikorkeakoulu 4.5 Pori Tuotetalossa, jonka core-bisnes on softa 100 10 Software developer 3800 Ei +12/09/2023 13:11:41 Palkansaaja En 31-35 jänis 7 DI 4 Netum Tampere Konsulttitalossa 100 0 ohjelmistosuunnittelija 5200 65000 Kyllä +12/09/2023 14:47:45 Palkansaaja En 31-35 5 1.8 Siili PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Frontend developer 4400 Ei +12/09/2023 15:18:06 Palkansaaja En 31-35 Mies 3 Lukio / keskeneräiset opinnot amk 10 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Senior Data Engineer 4650 58125 Kyllä +12/09/2023 16:39:26 Laskuttaja En 31-35 Mies 11 Luonnontieteiden kandidaatti (Tietojenkäsittelytiede) 0 5 full stack, arkkitehtuuri, koulutukset 93 160000 Itse Ulkomailta +12/09/2023 17:06:50 Palkansaaja En 31-35 Mies 15 Lukio 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 8500 116250 Kyllä +12/09/2023 18:47:50 Palkansaaja En 41-45 Mies 20 Filosofian maisteri 4 Tampere Konsulttitalossa 100 1 DevOps Consultant 4700 58750 Ei +12/09/2023 18:56:25 Palkansaaja En 41-45 Mies 10 Ylioppilas 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Development Advisor 5400 64800 Ei +12/09/2023 19:53:24 Palkansaaja En 36-40 Mies 17 Ammattiopisto 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Devops konsultti 5700 72000 Saisin muualla enemmän +12/09/2023 20:14:14 Palkansaaja En 46-50 mies 25 AMK 0 Polar Squad PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 DevOps Consultant 6400 80000 Ei +12/09/2023 20:22:32 Palkansaaja En 46-50 Mies 25 Yliopisto-opintoja 13 Tampere Julkinen tai kolmas sektori 100 80 DevOps / SRE 5900 73000 Kyllä +12/09/2023 21:47:45 Palkansaaja En 36-40 Nainen 3 Tradenomi 11.72 Tampere Konsulttitalossa 100 40 Software Developer 3673 Laajat työsuhde-edut Kyllä +12/09/2023 23:46:34 Palkansaaja En 41-45 mies 20 DI 4 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 25 Engineering team lead 7000 87500 Kyllä +13/09/2023 00:14:59 Palkansaaja En 41-45 mies 19 yliopisto 20 Turku Konsulttitalossa 100 50 unit director 5200 63000 Ei +13/09/2023 02:59:32 Palkansaaja En 41-45 M 11 BSc CS 4 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 Devops consultant 5100 62000 Kyllä +13/09/2023 07:57:40 Palkansaaja En 31-35 Mies 9.5 Tietojenkäsittelyn tradenomi (AMK) 6.5 Mikkeli Tuotetalossa, jonka core-bisnes on softa 100 Front-end lead developer 3750 45000 Kyllä +13/09/2023 08:06:20 Palkansaaja En 36-40 mies 15 tekniikan kandidaatti 9.1 Polar Squad Oy Tampere Konsulttitalossa 100 95 DevOps Consultant 6000 75000 osakeohjelma Kyllä +13/09/2023 08:43:32 Palkansaaja En 31-35 Nainen 7 Filosofian maisteri (pääaine matematiikka) 5 Tampere Konsulttitalossa 100 50 5780 69400 +13/09/2023 08:45:51 Palkansaaja En 41-45 Mies 17 4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 Team Lead 7300 Kyllä +13/09/2023 09:04:40 Palkansaaja En 36-40 Mies 16 Ammattikoulu 3 Polar Squad Oy PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 DevOps Consult 7000 87500 Kyllä +13/09/2023 09:40:08 Palkansaaja En 36-40 Mies 9 Tekniikan ylioppilas 2 Tampere Konsulttitalossa 100 75 DevOps Konsultti 5100 61000 Kyllä +13/09/2023 09:44:36 Palkansaaja En 36-40 Mies 12 Yliopisto 5 Ulkomaat Konsulttitalossa 100 80 Data team lead 7000 110000 Kyllä +13/09/2023 10:10:02 Palkansaaja En 36-40 Nainen 15 Tietotekniikan DI 0 Vincit Tampere Konsulttitalossa 100 10 Designer & Software Developer (Web, Desktop, Mobile iOS) 5300 68000 Ei +13/09/2023 10:12:46 Palkansaaja En 36-40 Mies 13 Tietotekniikan DI 12 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 6500 82250 Ei +13/09/2023 10:39:38 Palkansaaja En 26-30 Mies 2 Kauppatieteiden maisteri 14 Solita PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Software developer 4000 48000 Kuukausipalkka, ei tulospalkkioita tms. Kyllä +13/09/2023 11:49:13 Palkansaaja En 31-35 M 10 Ammattikorkeakoulu 0 Mavericks: a Witted company Turku Konsulttitalossa 100 0 Software developer 7100 85000 Noin 51% laskutuksesta bruttopalkkaa. Kyllä +13/09/2023 13:41:42 Palkansaaja En 31-35 mies 6 Tietotekniikan insinööri (AMK) 1 Vincit Turku Konsulttitalossa 100 60 Fullstack developer 4100 55000 Palkka + solun laskutusasteeseen perustuva bonus Kyllä +13/09/2023 13:45:21 Palkansaaja En 31-35 mies 13 3 Tampere Konsulttitalossa 100 95 Technical Architect 5700 70000 Kyllä +13/09/2023 14:14:31 Palkansaaja En 31-35 Mies 7 Diplomi-insinööri 0 Tampere Konsulttitalossa 100 80 DevOps Consultant 4500 55000 Kyllä +13/09/2023 14:30:27 Palkansaaja En 36-40 Mies 5 Ammattikoulu 11 Koud Oy Tampere Konsulttitalossa 100 66 Unity developer 4200 52500 Kyllä +13/09/2023 14:47:03 Laskuttaja En 41-45 Mies 10 Tekniikan tohtori 7 3 Data engineer, data scientist 125 200000 Itse Ulkomailta +13/09/2023 15:31:58 Palkansaaja En 31-35 Mies 10 DI 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Frontend developer 5800 71000 Kyllä +13/09/2023 16:00:35 Laskuttaja En 31-35 10 AMK 0 3 Frontend 85 160000 Käytän välitysfirmoja Ulkomailta +13/09/2023 20:22:37 Palkansaaja En 41-45 mies 20 DI TKK Tietotekniikka 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Senior Consultant 6462 2000 Kyllä +14/09/2023 08:39:30 Palkansaaja En 26-30 Mies 7 Melkein maisteri 4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 Full stack engineer 5600 83000 Työsopimuksen yhteydessä saatu RSU osakebonus, saanti 3kk välein Korkeampaa palkkaa voisi saada helpostikin, mutta kokonaiskompensaatiota ei +14/09/2023 08:39:56 Palkansaaja En 41-45 Mies 20 FK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 33 Full-stack developer 5730 71600 Kyllä +14/09/2023 08:47:31 Palkansaaja 41-45 Mies 15 Diplomi-insinööri 4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 Staff engineer 7170 100000 Osakkeita Kyllä +14/09/2023 09:08:10 Palkansaaja En 36-40 Mies 15 MSc 3 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 60 Lead Application Developer 6000 75000 Kyllä +14/09/2023 11:50:57 Palkansaaja En 26-30 Nainen 3 - 23 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 0 DevOps 4500 54000 Kyllä +14/09/2023 13:30:25 Palkansaaja En 26-30 Mies 6 AMK 3 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Frontend developer 4300 55000 Ei +14/09/2023 14:15:38 Palkansaaja En 46-50 Mies 25 DI 0 Tampere Tuotetalossa, jonka core-bisnes on softa 100 90 5300 66000 Ei +14/09/2023 14:16:40 Palkansaaja En 26-30 Mies 5 Tieto- ja viestintätekniikan insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 Frontend developer 4500 54000 Kyllä +14/09/2023 14:44:03 Palkansaaja En 36-40 nainen 3 AMK 5 Oulu Konsulttitalossa 100 10 fullstack web developer 3950 48000 Kyllä Osa alan kokemuksesta koulutuspuolelta, ei projektityöstä +14/09/2023 14:49:08 Palkansaaja En 26-30 mies 8 tietotekniikan DI 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 Fullstack-developer 5700 70000 Kyllä +14/09/2023 15:06:07 Palkansaaja En 31-35 Mies 5 Tietotekniikan insinööri 2 Oulu Konsulttitalossa 100 5 Fullstack Developer 6800 75000 Kyllä +14/09/2023 15:10:37 Palkansaaja En 26-30 Mies 3.5 Insinööri (OAMK) 19 Oulu Konsulttitalossa 100 40 Ohjelmisto kehittäjä ja ohjelmoinin kouluttaja 3250 40000 Kyllä +14/09/2023 15:46:03 Laskuttaja En 36-40 Mies 17 Datanomi -20 2 Firmojen johtaminen (erityisesti startupin johtaminen) 150 30000 Itse Suomesta +14/09/2023 16:16:14 Palkansaaja En 31-35 Mies 6 Diplomi-insinööri 0 Tampere Konsulttitalossa 100 2.5 Fullstack Developer 6000 79000 Laskutukseen pohjautuva provisio 4000 e/kk takuupalkalla. Kyllä +14/09/2023 16:20:54 Palkansaaja En 36-40 10 Diplomi-insinööri 11 Tampere Konsulttitalossa 100 50 Software architect 4850 58200 Ei +14/09/2023 16:50:11 Palkansaaja En 46-50 Mies 20 Ammattikoulu 4.4 Tampere Konsulttitalossa 100 0 Senior software developer 5684 71050 Kyllä +14/09/2023 20:12:16 Palkansaaja En 41-45 Mies 3.5 Tietojenkäsittelytieteiden kandidaatti 3 Turku Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Software Specialist 4300 52000 Ihan ok, ottaen huomioon kokemuksen ja aiemman palkan eri firmassa +14/09/2023 21:19:43 Palkansaaja En 36-40 mies 15 Ammattitutkinto, itseopiskelu 3 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Lead developer 6020 75000 Ei +14/09/2023 22:19:11 Palkansaaja En 31-35 Mies 9 Insinööri (AMK) 3.25 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Head of Engagements 7300 105000 Kyllä +14/09/2023 22:24:53 Palkansaaja En 31-35 8 IT-tradenomi 11 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 Arkkitehti (Dynamics 365) 5580 75000 Asiakastyön kannattavuuteen perustuva bonusmalli Kyllä +15/09/2023 06:06:31 Palkansaaja En 31-35 Mies 12 Luonnontieteiden Kandidaatti (tietojenkäsittelytiede) 10 Prime Island PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Fullstack developer 7000 87000 5000 pohja + 13.5% laskutuksesta Kyllä +15/09/2023 06:53:54 Palkansaaja En 31-35 Nainen 3 Insinööri (AMK) 11 Roima Intelligence PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 30 Software Specialist 3660 Ei +15/09/2023 07:24:45 Palkansaaja En 26-30 Mies 5 Diplomi-insinööri 0 Buutti Tampere Konsulttitalossa 100 0 Senior software developer 5800 0 Kyllä +15/09/2023 07:45:38 Palkansaaja En 36-40 M 8 Diplomi-insinööri 70 Leanware Tampere Konsulttitalossa 100 50 Senior developer 8000 95000 Provisio-osuus laskutuksesta Kyllä +15/09/2023 09:39:03 Palkansaaja En 31-35 Mies 9 Lukio + AMK-opintoja valmistumatta 10 RELEX Solutions PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 1 Senior Software Developer, backend 5800 73000 Kyllä +15/09/2023 09:53:17 Palkansaaja En 36-40 Mies 6.5 Lukio 0 Verkkokauppa.com PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 0 Frontend/React developer 4583 55000 Vain peruspalkka Ei +15/09/2023 11:09:43 Palkansaaja En 46-50 Mies 25 FM 3 Valtio Kuopio Julkinen tai kolmas sektori 100 10 Technical architect 4800 60000 Kyllä +15/09/2023 11:54:47 Palkansaaja En 31-35 nainen 2 30 Turku Konsulttitalossa 100 60 Frontend developer 3900 48000 Kyllä +15/09/2023 12:26:33 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 36-40 15 Tekn. yo 0.5 full stack -devausta 85 Itse, Käytän välitysfirmoja, Suomesta +15/09/2023 12:34:32 Laskuttaja En 36-40 Ei liity asiaan 15 Maisteri 2 5 Full stack 92 205000 Käytän välitysfirmoja Suomesta +15/09/2023 12:37:07 Palkansaaja En 46-50 mies 24 KTM 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 CDO / design lead 6450 84000 Suomen sisällä hyvä, kansainvälisesti ei kilpailukykyinen. +15/09/2023 12:52:13 Palkansaaja En 21-25 1 Toisen asteen kaksoistutkinto 10 PK-Seutu (Helsinki, Espoo, Vantaa) 100 0 Full Stack 2600 32500 Ei +15/09/2023 14:23:17 Palkansaaja En 36-40 Mies 5 Ammattikorkeakoulu dropout, itseoppinut koodari -1 Gofore Spain Barcelona Konsulttitalossa 100 0 Fullstack developer 3510 42120 Ei bonuksia Suomessa olisin palkkakuopassa, mutta Barcelonassa ihan keskitasoa (avg 43k/y) +15/09/2023 18:14:25 Palkansaaja En 36-40 Mies 15 Insinööri (AMK) 2 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 20 DevOps Engineer 4300 55000 Kyllä +15/09/2023 20:01:50 Palkansaaja En 1 10 Sasken Finland Oy Tampere Konsulttitalossa 100 80 Software Engineer 3300 Ei +16/09/2023 08:43:21 Palkansaaja En 26-30 Mies 3 Luonnontieteiden DI 13 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 1 Data scientist 4800 60000 95% palkasta tulee rahana Kyllä +16/09/2023 12:29:45 Palkansaaja En 41-45 23 AMK insinööri 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 VP of Engineering / CTO / Cloud Architect 8000 100000 Kyllä +16/09/2023 14:57:03 Palkansaaja En 41-45 Mies 13.5 Tietojenkäsittelyn tradenomi 4.1 Cirit Tampere Konsulttitalossa 100 50 Senior Frontend Developer 5000 64800 Kyllä Lykkäsin kyselyn tekemistä, kun pelkäsin, että pitää tehdä paljon esivalmisteluja, kuten kaivaa verotietoja esiin jne. mutta aika helpostihan tämä meni, kun oli niin hyvin laadittu kysely. Vuosiansiokohdassa voisi muistuttaa lomarahasta ja kertoa miten se lasketaan suurinpiirtein, jos ei satu olemaan omia palkkatietoja suoraan käsillä. Mitään vakiokaavaahan tuohon ei ole, mutta yleensä se on kaiketi 50% loma-ajan palkasta. Kiitos taas oikein hyvin järjestetystä kyselystä! :mukavapingi: +16/09/2023 23:11:10 Palkansaaja En 31-35 nainen 5 Filosofian maisteri, tietojenkäsittelytiede 15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 50 Software Developer 4200 50400 Ei +17/09/2023 19:15:22 Palkansaaja En 21-25 Mies 0 AMK tietojenkäsittelyn tradenomi Tampere Konsulttitalossa 100 5 Full stack developer 2200 +18/09/2023 11:12:30 Palkansaaja En 36-40 Mies 13 AMK, Software Engineering 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 18 Senior software developer 4950 63000 Kannustepalkkio Ehkä +18/09/2023 11:15:44 Palkansaaja En 36-40 Mies 19 Filosofian maisteri (tietotekniikka) Aalto-yliopisto PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 50.01 1 Doctoral researcher 2958.48 35501.76 Kyllä Ehkä voisi napata yrittäjä-/palkansaajatiedot yhdellä kyselyllä ylimääräistä logiikkaa hyödyntäen. +18/09/2023 11:20:09 Palkansaaja En 36-40 mies 15 Filosofian maisteri (tietojenkäsittelytiede) 1.7 Reaktor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 100 Delivery lead and devops 5684 51000 Kyllä +18/09/2023 11:38:35 Palkansaaja En 41-45 mies 18 DI, tietotekniikka 5 Tampere Konsulttitalossa 60 50 Software architect 3460 Kyllä +18/09/2023 11:46:08 Palkansaaja En 21-25 Mies 2 5 vuotta tietojenkäsittelytieteen opintoja 0 Helsingin Yliopisto PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 50 70 Fullstack developer 1125 Ei +18/09/2023 12:42:31 Palkansaaja En 36-40 Mies 14 Diplomi-insinööri 1 Gofore Tampere Konsulttitalossa 100 100 Projektipäällikkö 5200 65000 Kyllä +18/09/2023 12:52:28 Palkansaaja En 26-30 Nainen 4 Tietojenkäsittelytieteen maisteri 4.4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 50 15 Senior devops engineer / tech lead 2800 firmalla on kaikkia koskeva vuosittainen bonus sidottuna firman objektiiveihin joka oli viime vuonna 30% kahden viikon palkasta Kyllä Teen töitä ja opiskelen samaan aikaan joten opiskeluaikaan olen 50% töissä, mutta kesällä 100% +18/09/2023 13:02:20 Palkansaaja En 31-35 Mies 9 Ylioppilas 3 Nitor PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 25 Senior Data Engineer 7000 87500 Kyllä +18/09/2023 13:02:36 Palkansaaja En 36-40 Mies 12 Diplomi-Insinööri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 75 Senior Software Developer 5600 66000 Osakkeita Kyllä +18/09/2023 13:20:17 Palkansaaja En 36-40 6 DI 45 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 80 Estimation algorithm developer 5775 Kyllä +18/09/2023 13:57:02 Laskuttaja En 31-35 Mies 8 Filosofian Maisteri 0 4 Kaikkea ylläolevaa 80 125000 Itse, Käytän välitysfirmoja Suomesta +18/09/2023 13:59:25 Palkansaaja En 31-35 Mies 5 Tieto- ja viestintätekniikan insinööri 16 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Full stack developer 4200 55000 Ei +18/09/2023 15:03:41 Palkansaaja En 31-35 M 8 University dropout 17 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 Senior Fullstack Developer 7000 87500 Kyllä +18/09/2023 15:52:31 Palkansaaja En 36-40 Mies 12 Alempi korkeakoulu 4 Tampere Tuotetalossa, jonka core-bisnes on softa 100 10 Frontend Developer Lead 5500 68750 Kyllä +18/09/2023 16:33:33 Palkansaaja En 31-35 nainen 2 opiskelen 7.5 Konsulttitalossa 80 100 frontend developer 2580 30000 +18/09/2023 18:14:21 Palkansaaja En 26-30 Mies 8 Tietojenkäsittelytieteen kandidaatti 0 Pieni web-ohjelmistokonsulttitalo PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 70 Software Architect 4600 57000 Kuukausipalkka + vuosibonukset perustuen yrityksen tulokseen Ei Oon heittopussi, jolle on lupailtu palkankorotusta jo jonkun aikaa ja odotan sen konkretisoituvan tämän vuoden loppuun mennessä vähintään kaksinumeroisena prosenttinousuna tai lähden menemään. +18/09/2023 21:06:07 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 15 Diplomi-Insinööri 0.5 Full-stack dev 66 Itse Ulkomailta Työskentelen pysyvällä työsuhteella ulkomaille ja laskutus on enempi tekninen tapa hoitaa palkanmaksu +18/09/2023 22:09:01 Palkansaaja En 26-30 Mies 5 Kauppatieteiden Maisteri 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Software developer 5800 71000 Kyllä +19/09/2023 09:03:33 Palkansaaja En 26-30 Nainen 2 Alempi korkeakoulututkinto 34 Tampere Konsulttitalossa 100 5 Software test engineer 4300 53000 Kyllä +19/09/2023 09:50:48 Palkansaaja En 36-40 M 15 Lukio PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 5 7400 Äh, liikaa kysymyksiä! Ajattelin että kerron vain palkan ja iän, en muuta. +19/09/2023 10:42:55 Palkansaaja En 31-35 Mies 7 Luonnontieteiden kandidaatti 3 Siili One PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Tekninen Product Owner 8000 95000 50% laskutuksesta Ei +19/09/2023 15:04:02 Palkansaaja Kyllä, laskuttajasta palkansaajaksi 46-50 Mies 21 DI 1 - PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 50 PO 4500 62500 Kyllä +19/09/2023 15:07:09 Palkansaaja En 31-35 mies 15 tekniikan tohtori -38 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Fullstack developer 4000 50000 kasvuyrityksen optiot + kasvubonus Ei +19/09/2023 16:05:31 Palkansaaja En 26-30 Mies 9 Maisteri 2 Tampere Konsulttitalossa 100 80 Full-stack & DevOps 4900 61250 Ei +19/09/2023 16:34:22 Palkansaaja 36-40 Mies 2 AMK 20 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 75 Software developer 3700 0 Ei +19/09/2023 16:39:18 Palkansaaja En 36-40 Nainen 4 Tietojenkäsittelyn maisteri 0 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 75 Full Stack developer 3500 42000 Ei +19/09/2023 20:15:27 Palkansaaja En 36-40 Mies 10 Filosofian maisteri 18 Turku Konsulttitalossa 100 15 Full stack developer 5091 70000 Palkka sekä tulospalkkio Kyllä +19/09/2023 22:10:51 Laskuttaja En 41-45 Mies 6 Diplomi-insinööri 0 2 full stack 85 Itse Suomesta +19/09/2023 22:15:12 Palkansaaja En 36-40 Mies 17 DI 3 Turku Tuotetalossa, jonka core-bisnes on softa 100 0 CTO 4100 51250 Vähemmistöosakkuus vesting-vaiheessa En tiedä +20/09/2023 01:29:14 Palkansaaja En 26-30 3 Maisteri 20 Tampere 100 5 Software Developer 4200 60000 Bonus + Osakeohjelmat Kyllä +20/09/2023 07:48:55 Palkansaaja En 41-45 Miäs 12 KM 3 Elisan tytär PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 TA Lead 6200 76000 Kyllä Hyvä, tiivis, informatiivinen kysely +20/09/2023 09:39:36 Palkansaaja En 26-30 mies 8 IT-tradenomi 3 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 20 Support / System specialist 3890 50500 Ei +20/09/2023 10:11:37 Laskuttaja En 36-40 Mies 10 Ylempi korkeakoulututkinto, DI -7 5 mobiili softadevaus 86 115000 Käytän välitysfirmoja Suomesta +20/09/2023 11:21:30 Palkansaaja En 41-45 Mies 18 Toisen asteen ammatillinen koulutus (datanomi) -7 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 60 Full stack developer 5500 Optiot (1y cliff, 5y full vesting) pieneen määrään firman osakkeita Ei +20/09/2023 11:26:00 Palkansaaja En 31-35 9 Yliopisto 5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 10 Senior software developer 5500 Kyllä +20/09/2023 11:45:54 Palkansaaja En 51-55 Mies 25 Ohjelmistoinsinööri AMK 3 Kaupungin omistama voittoa tavoittelematon oy PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 50 Data engineer 4930 64000 Ei +20/09/2023 14:13:44 Palkansaaja En 31-35 Mies 11 Bachelor of Science 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Senior Data Engineer 6200 75000 Kyllä +20/09/2023 16:19:19 Palkansaaja En 36-40 mies 13 di-opinnot kesken 0 Tampere Konsulttitalossa 100 3 Senior fullstack developer 6200 78600 Kyllä Palkkamalli on 50% laskutuksesta, min. 4000e/kk +20/09/2023 17:30:34 Palkansaaja En 36-40 Mies 15 Ammattikorkeakoulu 5 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 70 Senior Software Engineer 5600 72000 Kyllä +20/09/2023 18:19:42 Laskuttaja En 26-30 Mies 7 Diplomi-insinööri -4.5 3 Full stack 105 105000 Käytän välitysfirmoja Suomesta +20/09/2023 19:28:39 Palkansaaja En 36-40 mies 15 FM, tietojenkäsittelytiede 5 PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 100 UX & UI Designer 5800 69600 palkka + koko firman n. 1kk palkkaa vastaava bonus hyvinä vuosina Kyllä Sopiva määrä kyssäreitä. Kiitos, kun teette näitä! Arvokasta infoa. +20/09/2023 20:10:45 Palkansaaja En 26-30 Mies 4 Filosofian Maisteri 3 Turku Konsulttitalossa 100 33 Full-stack developer 3800 48500 Osaston allokoidun työn osuuteen riippuva bonusmalli, josta voi saada osan rahastosalkkuun tuplattuna. Kyllä +20/09/2023 22:52:20 Palkansaaja En 31-35 Nainen 3 FM, humanisti 45 Tietoevry PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Junior full stack web developer 3620 45250 Kyllä Alanvaihtaja, ei tutkintoa alalta +21/09/2023 06:55:08 Palkansaaja En 36-40 Mies 3 FM tietojenkäsittelytiede 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Software developer 4600 57500 Kyllä +21/09/2023 07:06:02 Palkansaaja En 41-45 nainen 14 filosofian maisteri +9 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 produc owner 4100 52000 Ei +21/09/2023 12:30:31 Palkansaaja En 36-40 Nainen 1 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 5 Junior data engineer 3145 Kyllä +21/09/2023 13:10:20 Palkansaaja En 26-30 Mies 4 Tieto- ja viestintätekniikka, insinööri, AMK 13 Tampere Konsulttitalossa 100 25 Fullstack developer 4070 49000 +21/09/2023 17:28:15 Palkansaaja En 26-30 Mies 7 AMK 11 Wolt PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 Senior backend engineer 6100 100000 RSU Kyllä +21/09/2023 18:14:51 Palkansaaja En 26-30 Nainen 5 Insinööri, Ammattikorkeakoulu 32 Oulu Konsulttitalossa 100 10 Fullstack developer 4635 Kyllä +21/09/2023 20:41:23 Palkansaaja En 41-45 nainen 1.5 humanististen tieteiden kandidaatti, tietojenkäsittelytiede sivuaineena (perusopinnot) 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 C++/no-code/low-code developer, Windows applications 3560 44500 Kyllä +21/09/2023 20:52:34 Palkansaaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 20 DI 4 Tampere Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 50 Full Stack Developer 5200 65000 Pieni määrä osakkeita Ei +21/09/2023 20:54:30 Laskuttaja Kyllä, palkansaajasta laskuttajaksi 41-45 Mies 20 DI 1 full stack 100 Itse, Käytän välitysfirmoja Suomesta +22/09/2023 08:27:30 Palkansaaja En 31-35 Mies 10 AMK Insinööri + Ekonomi 3.5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 60 Ohjelmistokehittäjä 5780 80000 Palkka + osakkeet ja osingot Palkassani olisi helposti korotettavaa +22/09/2023 08:41:57 Palkansaaja En 36-40 7 merkonomi 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 full stack developer 4500 Ei +22/09/2023 08:57:33 Palkansaaja En 36-40 Mies 15 Ammattikoulu 0 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Developer 3350 40200 Kyllä +22/09/2023 09:23:14 Palkansaaja En 31-35 Muu 6 Ylioppilas 1.65 SOK PK-Seutu (Helsinki, Espoo, Vantaa) Yrityksessä, jossa softa on tukeva toiminto (esim pankit, terveysala, yms) 100 10 Fullstack Developer 5062 66642 Ei +22/09/2023 10:03:47 Palkansaaja En 41-45 mies 20 Tekn. yo 0 Oulu Tuotetalossa, jonka core-bisnes on softa 80 95 DevOps 3280 Ei Opintovapaalla osan vuotta +22/09/2023 10:58:02 Palkansaaja En 31-35 Miäs 9 Ktm 15 Tampere Tuotetalossa, jonka core-bisnes on softa 100 20 Product manager 5030 61000 Kyllä +22/09/2023 11:22:21 Palkansaaja En 31-35 nainen 13 Diplomi-insinööri (tietotekniikka) 5 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 60 software engineer, mobile & web fullstack 6500 optioita Kyllä +22/09/2023 11:26:35 Palkansaaja En 36-40 nainen 22 filosofian tohtori, DI 0 PK-Seutu (Helsinki, Espoo, Vantaa) Julkinen tai kolmas sektori 100 50 Data engineer 4500 Ei +22/09/2023 12:37:02 Palkansaaja En 26-30 Mies 2 Diplomi-insinööri 4 Veracell Oy Tampere Konsulttitalossa 100 80 Data Engineer 4350 55000 Kuukausipalkan kiinteä perusosa + laskutettavista tunneista kuukausitasolla maksettava lisä (X e per laskutettu tunti) Kyllä Koulutustaustasta voisi kysyä esimerkiksi pudotusvalikolla (yliopisto/ammattikorkeakoulu/toinen aste/muu ja mahdollisesti toinen valikko, jossa karkea alaryhmittely), minkä lisäksi voisi olla nykyistä vastaava vapaa tekstikenttä koulutustietojen tarkennukseen. +22/09/2023 13:07:43 Palkansaaja En 41-45 Nainen 25 Ylioppilas 5 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 10 Palvelumuotoilija 5200 63000 Kyllä +22/09/2023 13:19:56 Palkansaaja En 36-40 Mies 18 Korkeakoulututkinto 10 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 CTO 6600 Osakas Saisin todnäk helposti luokkaa 2000€/kk enemmän Startup +22/09/2023 13:54:50 Palkansaaja En 26-30 Mies 5 Tietojenkäsittely tradenomi 5 Vaasa Tuotetalossa, jonka core-bisnes on softa 100 5 Senior developer 3400 50000 Ei +22/09/2023 15:06:50 Palkansaaja En 36-40 Mies 13 Diplomi-insinööri 3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 0 Lead Cloud Developer 7000 108000 Bonus Kyllä +22/09/2023 15:13:31 Laskuttaja En 36-40 mies 22 Amis 0 10 Ops 135000 Itse Suomesta, Ulkomailta +22/09/2023 16:03:12 Palkansaaja En 46-50 Mies 20 FM, tietojenkäsittely 4 Turku Konsulttitalossa 100 5 Senior consultant 6700 81500 50% laskutuksesta, 4000 euron pohjapalkka Kyllä +22/09/2023 17:35:49 Palkansaaja En 26-30 Mies 2 Filosofian maisteri 15 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 40 Software Developer 3900 Optiot Ei +22/09/2023 18:44:03 Palkansaaja En 41-45 Mies 12 AMK 20 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 100 Projektipäällikkö 5500 75000 Kyllä +22/09/2023 23:57:11 Palkansaaja En 41-45 Mies 10 Tekniikan kandidaatti 35 Siili Solutions Oyj PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 5 Senior consultant 5500 72000 Bonusohjelma, optio-ohjelma Kyllä +23/09/2023 08:31:28 Palkansaaja En 36-40 Mies 11 Tradenomi 0 Jyväskylä Konsulttitalossa 100 10 Cloud Devops Developer 5000 60000 Kyllä +23/09/2023 11:03:44 Palkansaaja En 41-45 Mies 20 DI, tietotekniikka -3 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 20 Engineering Manager 7000 84000 Kk-palkka + osakkeita Kyllä +23/09/2023 11:24:50 Palkansaaja En 36-40 mies 15 Diplomi 2 Futurice PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 90 Senior Software Developer 4800 3600 Kyllä +23/09/2023 11:47:08 Palkansaaja En 26-30 Mies 2 TiTe DI 0 Jenkkifirma Turku Tuotetalossa, jonka core-bisnes on softa 100 33 Junior Data Scientist 4000 48000 Liksaa tuloo vaan :( Kyllä Opiskelut dippatyötä vailla kesken, joten käytännössä työt ovat "opintojen ohessa" +23/09/2023 12:56:25 Palkansaaja En 31-35 Mies 9 Datanomi ja Tietojenkäsittelyn kandi 15 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 33 Full stack developer 5200 65000 Kyllä +23/09/2023 14:43:14 Palkansaaja En 36-40 mies 15 amk, tietotekniikan insinööri 4 PK-Seutu (Helsinki, Espoo, Vantaa) Tuotetalossa, jonka core-bisnes on softa 100 33 Fullstack & mobile software engineer 4903.83 65248 vuosibonus Kyllä tää on aivan hyvä. ehkä voisi mainita pitäskö loma-ajan palkkaa tai lomarahaa tms lomiin liittyvää rahantuloa laskea johonkin, vai ei. +23/09/2023 15:48:22 Palkansaaja En 41-45 Mies 23 Lukio 0 Tuotetalossa, jonka core-bisnes on softa 100 10 Senior Software Engineer 13750 0 Optioita lisäksi Saan enemmän kuin Suomessa yleensä Teen töitä Suomesta Amerikkalaiselle start-upille +23/09/2023 16:08:20 Palkansaaja En 26-30 Mies 4.5 Tekniikan kandidaatti / tietotekniikka, dippatyö kesken 3.9 Nokia Oulu Tuotetalossa, jossa softa ja rauta muodostavat yhdessä tuotteen 100 30 Python backend engineer & data analyst 3700 52400 Bonukset kerran vuodessa, lisäksi vapaehtoinen firman osakeohjelma Ei +23/09/2023 16:46:52 Palkansaaja En 36-40 Mies 10 Ylempi korkeakoulututkinto 8 Oulu Konsulttitalossa 100 33 Lead Developer, cloud 7000 88000 Kyllä +23/09/2023 20:49:29 Palkansaaja En 31-35 Mies 5 DI 7 Nokia Oulu Tuotetalossa, jonka core-bisnes on softa 100 10 Backend developer 3981 55000 Ei +24/09/2023 18:28:39 Palkansaaja En 41-45 Mies 13 Yliopisto 0 Turku Konsulttitalossa 100 0 Full stack developer 8000 100000 Kyllä +24/09/2023 18:50:12 Palkansaaja En 41-45 Mies 15 FM 5 Turku Konsulttitalossa 30 0 PM/backend developer+ DevOps guy 4000 50000 Ei +24/09/2023 21:13:40 Laskuttaja En 31-35 Mies 12 Insinööri 0 7 Fullstack web ja mobiili 99 150000 Käytän välitysfirmoja Suomesta \ No newline at end of file diff --git a/data/2023/results-fi.xlsx b/data/2023/results-fi.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..bdb3d8f7854d9b7bcc16d364dc0d102ef63ec8a0 GIT binary patch literal 94903 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≫^&R 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Ξ@3?dQQk+RzIRv#y) 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 55 yrs": "> 55v", + }, + MISTA_ASIAKKAAT_COL: { + "Finland": "Suomesta", + }, + KAUPUNKI_COL: { + "PK-Seutu (Helsinki, Espoo, Vantaa)": "PK-seutu", + "Capital region (Helsinki, Espoo, Vantaa)": "PK-seutu", + }, + MILLAISESSA_COL: { + "Product company with softaware as their core business": "Tuotetalossa, jonka core-bisnes on softa", + }, +} + +BOOLEAN_TEXT_TO_BOOLEAN_MAP = { + "Kyllä": True, + "Ei": False, + "Yes": True, + "No": False, +} + +COMPANY_MAP = { + "Mavericks Software": "Mavericks", + "Mavericks: a Witted company": "Mavericks", + "Netum Groupj": "Netum", + "Siili Solutions": "Siili", + "Vincitj": "Vincit", +} + +FULL_STACK_ROLE = "*Full-stack Developer" +SENIOR_DEVELOPER_ROLE = "*Senior Developer" +DEVOPS_CONSULTANT_ROLE = "*Devops Consultant" + +ROLE_MAP = { + "DevOps Consult": DEVOPS_CONSULTANT_ROLE, + "DevOps Consultant": DEVOPS_CONSULTANT_ROLE, + "Devops consultant": DEVOPS_CONSULTANT_ROLE, + "Devops konsultti": DEVOPS_CONSULTANT_ROLE, + "Full Stack": FULL_STACK_ROLE, + "Full stack developer": FULL_STACK_ROLE, + "Full stack engineer": FULL_STACK_ROLE, + "Full stack web developer": FULL_STACK_ROLE, + "Full-stack Developer": FULL_STACK_ROLE, + "Full-stack developer": FULL_STACK_ROLE, + "Full-stack kehittäjä": FULL_STACK_ROLE, + "Full-stack ohjelmistokehittäjä": FULL_STACK_ROLE, + "Full-stack software developer": FULL_STACK_ROLE, + "Full-stack web developer": FULL_STACK_ROLE, + "Full-stack-kehittäjä": FULL_STACK_ROLE, + "Fullstack developer": FULL_STACK_ROLE, + "Fullstack web developer": FULL_STACK_ROLE, + "Fullstack": FULL_STACK_ROLE, + "Ohjelmistokehittäjä (full-stack)": FULL_STACK_ROLE, + "Ohjelmistokehittäjä, full-stack": FULL_STACK_ROLE, + "Senior developer": SENIOR_DEVELOPER_ROLE, + "Senior software developer": SENIOR_DEVELOPER_ROLE, + "Software engineer, fullstack": FULL_STACK_ROLE, + "Full-stack cloud developer": FULL_STACK_ROLE, + "Fullstack developer, web apps": FULL_STACK_ROLE, +} +NO_GENDER_VALUES = { + "-", + "ei liity asiaan", + "epärelevantti", + "jänis", + "kyllä, kiitos", + "leppäkerttu", + "taisteluhelikopteri", + "tihkutympönen", + "yes", +} +OTHER_GENDER_VALUES = { + "muu", + "muu/ei", + "non-binary, afab", +} diff --git a/pulkka/data_ingest.py b/pulkka/data_ingest.py index 7694bc5..104cfb9 100644 --- a/pulkka/data_ingest.py +++ b/pulkka/data_ingest.py @@ -1,75 +1,78 @@ +from __future__ import annotations + import re +import warnings import numpy as np +import pandas import pandas as pd -from pulkka.config import DATA_DIR - -ETA_VAI_LAHI_COL = "Etä- vai lähityö" - -COLUMN_MAP = { - # 2021 - "Missä kaupungissa työpaikkasi pääasiallinen toimisto sijaitsee?": "Kaupunki", - "Työaika (jos työsuhteessa)": "Työaika", - "Etänä vai paikallisesti?": ETA_VAI_LAHI_COL, - "Vuositulot (sis. bonukset, osingot yms) / Vuosilaskutus (jos laskutat)": "Vuositulot", - "Kuukausipalkka (jos työntekijä) (brutto)": "Kuukausipalkka", - "Onko palkkasi nykyroolissasi mielestäsi kilpailukykyinen?": "Kilpailukykyinen", - # 2022 - "Etänä vai lähityössä?": ETA_VAI_LAHI_COL, - "Kuukausipalkka (brutto, euroina)": "Kuukausipalkka", - "Vuositulot (sis. bonukset, osingot yms, euroina)": "Vuositulot", - "Mitä palveluja tarjoat?": "Palvelut", -} - -ETATYO_MAP = { - "Pääosin tai kokonaan etätyö": "Etä", - "Pääosin tai kokonaan toimistolla": "Toimisto", - "Noin 50/50 hybridimalli": "50/50", - "Jotain siltä väliltä": "50/50", -} - -COMPANY_MAP = { - "Siili Solutions": "Siili", - "Mavericks Software": "Mavericks", -} - -FULL_STACK_ROLE = "Full-stack" - -ROLE_MAP = { - "Full-stack developer": FULL_STACK_ROLE, - "Full-stack kehittäjä": FULL_STACK_ROLE, - "Full-stack ohjelmistokehittäjä": FULL_STACK_ROLE, - "Full-stack-kehittäjä": FULL_STACK_ROLE, - "Fullstack": FULL_STACK_ROLE, - "Ohjelmistokehittäjä (full-stack)": FULL_STACK_ROLE, - "Ohjelmistokehittäjä, full-stack": FULL_STACK_ROLE, -} +from pulkka.config import DATA_DIR, YEAR +from pulkka.column_maps import ( + COLUMN_MAP_2023_EN_TO_FI, + KIKY_COL, + KKPALKKA_COL, + PALVELUT_COL, + TYOAIKA_COL, + VUOSITULOT_COL, + TYOPAIKKA_COL, + ROOLI_COL, + KIKY_OTHER_COL, + BOOLEAN_TEXT_TO_BOOLEAN_MAP, + COMPANY_MAP, + SUKUPUOLI_COL, + ROLE_MAP, + COLUMN_MAP_2023, + VALUE_MAP_2023_EN_TO_FI, + LAHITYO_COL, + IKA_COL, + LANG_COL, + KK_TULOT_COL, + KK_TULOT_NORM_COL, + NO_GENDER_VALUES, + OTHER_GENDER_VALUES, + TYOKOKEMUS_COL, + ROOLI_NORM_COL, +) -def map_sukupuoli(value: str): - if isinstance(value, str): - value = value.lower() - if "nainen" in value or "female" in value: - return "nainen" +def map_sukupuoli(value: str) -> str | None: + if not isinstance(value, str): + return value - if ( - "mies" in value - or "uros" in value - or "miäs" in value - or "äiä" in value - or "male" in value - or value == "m" - ): - return "mies" - return "muu" # Map the handful of outliers into "muu" (so a given value but not specified) - return value + value = value.lower() + if ( + "nainen" in value + or "female" in value + or "woman" in value + or value == "f" + or value == "women" + ): + return "nainen" + + if ( + "mies" in value + or "uros" in value + or "miäs" in value + or "äiä" in value + or "male" in value + or value in ("m", "man", "m i ä s", "ukko") + ): + return "mies" + + if value in NO_GENDER_VALUES: + return None + + if value in OTHER_GENDER_VALUES: + return "muu" + + raise NotImplementedError(f"Unknown sukupuoli: {value}") def map_vuositulot(r): - if r["Vuositulot"] is np.nan: - return r["Kuukausipalkka"] * 12.5 - return r["Vuositulot"] + if r[VUOSITULOT_COL] is np.nan: + return r[KKPALKKA_COL] * 12.5 + return r[VUOSITULOT_COL] def map_numberlike(d): @@ -81,78 +84,150 @@ def map_numberlike(d): return d -def map_ika(d): - if d == "30-35 v": # Early answers had a wrong bracket here - d = "31-35 v" - return d - - def ucfirst(val): if isinstance(val, str): return val[0].upper() + val[1:] return val -def read_data() -> pd.DataFrame: - df: pd.DataFrame = pd.read_excel( - DATA_DIR / "results.xlsx", +def read_initial_dfs() -> pd.DataFrame: + df_fi: pd.DataFrame = pd.read_excel( + DATA_DIR / "results-fi.xlsx", skiprows=[1], # Google Sheets exports one empty row ) - df.rename(columns=COLUMN_MAP, inplace=True) - - df["Kaupunki"].replace( - "PK-Seutu (Helsinki, Espoo, Vantaa)", "PK-Seutu", inplace=True + df_fi[LANG_COL] = "fi" + df_en: pd.DataFrame = pd.read_excel( + DATA_DIR / "results-en.xlsx", + skiprows=[1], # Google Sheets exports one empty row ) - df["Kaupunki"] = df["Kaupunki"].astype("category") - df["Sukupuoli"] = df["Sukupuoli"].apply(map_sukupuoli).astype("category") - df["Ikä"] = df["Ikä"].apply(map_ika).astype("category") - # Turn työaika into 0% - 100% - df["Työaika"] = pd.to_numeric(df["Työaika"], errors="coerce").clip(0, 1) - - df["Etä"] = df[ETA_VAI_LAHI_COL].map(ETATYO_MAP).astype("category") - df["Kilpailukykyinen"].replace({"Kyllä": True, "Ei": False}, inplace=True) - - # Try to clean up numbers with spaces, etc. to real numbers - df["Kuukausipalkka"] = df["Kuukausipalkka"].apply(map_numberlike) - df["Vuositulot"] = df["Vuositulot"].apply(map_numberlike) - - # Fix up Työpaikka - df["Työpaikka"].replace("-", np.nan, inplace=True) - df["Työpaikka"].replace(re.compile(r"\s+oy|oyj$", flags=re.I), "", inplace=True) - df["Työpaikka"] = df["Työpaikka"].map(COMPANY_MAP).fillna(df["Työpaikka"]) - - # Normalize initial capitalization in Rooli and Palvelut - df["Rooli"] = df["Rooli"].apply(ucfirst) - df["Palvelut"] = df["Palvelut"].apply(ucfirst) - - # Map Rooli via known roles - df["Rooli"] = df["Rooli"].map(ROLE_MAP).fillna(df["Rooli"]) - - # Fill in Vuositulot as 12.5 * Kk-tulot if empty - df["Vuositulot"] = df.apply(map_vuositulot, axis=1) - - # Fudge some known outliers - df.loc[df.Vuositulot == 912500, "Vuositulot"] = 91250 - df.loc[df.Kuukausipalkka == 87000, "Kuukausipalkka"] = 7250 - - # Synthesize kk-tulot from Vuositulot - df["Kk-tulot"] = pd.to_numeric(df["Vuositulot"], errors="coerce") / 12 + df_en[LANG_COL] = "en" + df_en = df_en.rename(columns=COLUMN_MAP_2023_EN_TO_FI) + df = pd.concat([df_fi, df_en], ignore_index=True) + df = df[df["Timestamp"].notna()] # Remove rows with no timestamp + df[LANG_COL] = df[LANG_COL].astype("category") return df -def force_tulot_numeric(df): - df["Kuukausipalkka"] = pd.to_numeric(df["Kuukausipalkka"], errors="coerce") - df["Vuositulot"] = pd.to_numeric(df["Vuositulot"], errors="coerce") +def map_case_insensitive(series: pd.Series, mapping: dict[str, str]) -> pd.Series: + """ + Map a series of strings to another series of strings, case-insensitively. + """ + lower_mapping = {k.lower(): v for k, v in mapping.items()} + + def map_value(v): + if v is np.nan: + return "" + assert isinstance(v, str) + return lower_mapping.get(v.lower().strip(), v) + + return series.apply(map_value).fillna(series) + + +def read_data() -> pd.DataFrame: + if YEAR != "2023": + raise ValueError( + "This code only works for 2023. " + "Please use an older revision for older data.", + ) + df = read_initial_dfs() + + df = df.rename(columns=COLUMN_MAP_2023) + + for col, val_map in VALUE_MAP_2023_EN_TO_FI.items(): + df[col] = df[col].map(val_map).fillna(df[col]).astype("category") + + # Drop bogus data + df = df.drop(df[df[SUKUPUOLI_COL] == "taisteluhelikopteri"].index) + + df[SUKUPUOLI_COL] = df[SUKUPUOLI_COL].apply(map_sukupuoli).astype("category") + df[IKA_COL] = df[IKA_COL].astype("category") + + df[TYOAIKA_COL] = to_percentage(df[TYOAIKA_COL], 100) + df[LAHITYO_COL] = to_percentage(df[LAHITYO_COL], 100) + + # Split out non-boolean answers from KIKY_COL to KIKY_OTHER_COL + df = split_boolean_column_to_other(df, KIKY_COL, KIKY_OTHER_COL) + + # Try to clean up numbers with spaces, etc. to real numbers + df[KKPALKKA_COL] = df[KKPALKKA_COL].apply(map_numberlike) + df[VUOSITULOT_COL] = df[VUOSITULOT_COL].apply(map_numberlike) + + # Fix up Työpaikka + df[TYOPAIKKA_COL] = df[TYOPAIKKA_COL].replace("-", np.nan) + df[TYOPAIKKA_COL] = df[TYOPAIKKA_COL].replace( + re.compile(r"\s+oy|oyj$", flags=re.I), + "", + ) + df[TYOPAIKKA_COL] = df[TYOPAIKKA_COL].map(COMPANY_MAP).fillna(df[TYOPAIKKA_COL]) + + # Normalize initial capitalization in Rooli and Palvelut + df[ROOLI_COL] = df[ROOLI_COL].apply(ucfirst) + df[PALVELUT_COL] = df[PALVELUT_COL].apply(ucfirst) + + # Map Rooli via known roles + df[ROOLI_NORM_COL] = map_case_insensitive(df[ROOLI_COL], ROLE_MAP) + + # Round työvuodet + df[TYOKOKEMUS_COL] = df[TYOKOKEMUS_COL].round() + + # Fix known bogus data + df.loc[ + (df[KKPALKKA_COL] == 4900) & (df[VUOSITULOT_COL] == 620000), + VUOSITULOT_COL, + ] = 62000 + + # Fill in Vuositulot as 12.5 * Kk-tulot if empty + df[VUOSITULOT_COL] = df.apply(map_vuositulot, axis=1) + + # Synthesize kk-tulot from Vuositulot + df[KK_TULOT_COL] = pd.to_numeric(df[VUOSITULOT_COL], errors="coerce") / 12 + df[KK_TULOT_NORM_COL] = df[KK_TULOT_COL] / df[TYOAIKA_COL] + + return df + + +def to_percentage(ser: pandas.Series, norm_max: float) -> pandas.Series: + """ + Convert a series of numbers to a percentage + """ + ser = pd.to_numeric(ser, errors="coerce") + if ( + norm_max * 0.7 > ser.max() > norm_max * 1.5 + ): # check that we have a reasonable max value + warnings.warn(f"Unexpected max value {ser.max()} in {ser.name}, {norm_max=}") + ser = ser / norm_max + return ser.clip(lower=0) + + +def split_boolean_column_to_other(df, col, other_col): + df[col] = df[col].replace(BOOLEAN_TEXT_TO_BOOLEAN_MAP) + df[other_col] = df[col].apply( + lambda r: r if (r and not isinstance(r, bool)) else None, + ) + df[col] = ( + df[col] + .apply( + lambda value: ["Ei", "Kyllä"][value] + if isinstance(value, bool) + else (np.nan if not value else "Muu"), + ) + .astype("category") + ) + # reorder columns so that other_col is right after col + cols = list(df.columns) + cols.remove(other_col) + cols.insert(cols.index(col) + 1, other_col) + df = df[cols] return df def force_age_numeric(df): age_map = {} - for cat in df["Ikä"].cat.categories: + for cat in df[IKA_COL].cat.categories: m = re.match("^(\d+)-(\d+) v", cat) if m: age_map[cat] = int(round(float(m.group(1)) + float(m.group(2))) / 2) - df["Ikä"] = df["Ikä"].apply(lambda r: age_map.get(r, r)) + df[IKA_COL] = df[IKA_COL].apply(lambda r: age_map.get(r, r)) return df diff --git a/pulkka/data_utils.py b/pulkka/data_utils.py index f831525..4401cd6 100644 --- a/pulkka/data_utils.py +++ b/pulkka/data_utils.py @@ -31,11 +31,15 @@ def get_categorical_stats( df[value_col] = pd.to_numeric(df[value_col], errors="coerce") df = df[df[value_col].notna() & df[value_col] > 0] if na_as_category: - df[category_col] = df[category_col].astype("string") - df.loc[df[category_col].isna(), category_col] = na_as_category - df[category_col] = df[category_col].astype("category") + rename_na(df, category_col, na_as_category) # ... then carry on. group = df[[category_col, value_col]].groupby(category_col) return group[value_col].agg( - ["mean", "min", "max", "median", "count", q25, q50, q75, q90] + ["mean", "min", "max", "median", "count", q25, q50, q75, q90], ) + + +def rename_na(df: pd.DataFrame, col: str, na_name: str) -> None: + df[col] = df[col].astype("string") + df.loc[df[col].isna(), col] = na_name + df[col] = df[col].astype("category") diff --git a/pulkka/generate_charts.py b/pulkka/generate_charts.py index 5e4168d..6e950a2 100644 --- a/pulkka/generate_charts.py +++ b/pulkka/generate_charts.py @@ -9,6 +9,13 @@ from pulkka.chart_utils import ( set_yaxis_cash, get_categorical_stats_plot, ) +from pulkka.column_maps import ( + TYOKOKEMUS_COL, + VUOSITULOT_COL, + KAUPUNKI_COL, + IKA_COL, + SUKUPUOLI_COL, +) from pulkka.config import OUT_DIR from pulkka.data_ingest import read_data @@ -30,27 +37,37 @@ def plot_kokemus_tulot(df: DataFrame): plot.xaxis.axis_label = "Työkokemus (v)" set_yaxis_cash(plot) plot.circle( - x="Työkokemus", y="Vuositulot", source=source, color=gender_colormap, size=10 + x=TYOKOKEMUS_COL, + y=VUOSITULOT_COL, + source=source, + color=gender_colormap, + size=10, ) return plot @plot_this def plot_ika_vuositulot(df: DataFrame): - return get_categorical_stats_plot(df, category="Ikä", value="Vuositulot") + return get_categorical_stats_plot(df, category=IKA_COL, value=VUOSITULOT_COL) @plot_this def plot_sukupuoli_vuositulot(df: DataFrame): return get_categorical_stats_plot( - df, category="Sukupuoli", value="Vuositulot", na_as_category="EOS" + df, + category=SUKUPUOLI_COL, + value=VUOSITULOT_COL, + na_as_category="EOS", ) @plot_this def plot_kaupunki_vuositulot(df: DataFrame): plot = get_categorical_stats_plot( - df, category="Kaupunki", value="Vuositulot", line=False + df, + category=KAUPUNKI_COL, + value=VUOSITULOT_COL, + line=False, ) plot.xaxis.major_label_orientation = "vertical" return plot diff --git a/pulkka/generate_profiling.py b/pulkka/generate_profiling.py index b0f215a..b4e5ddc 100644 --- a/pulkka/generate_profiling.py +++ b/pulkka/generate_profiling.py @@ -1,11 +1,15 @@ +import pandas as pd + +from pulkka.column_maps import KKPALKKA_COL, VUOSITULOT_COL from pulkka.config import OUT_DIR -from pulkka.data_ingest import read_data, force_tulot_numeric, force_age_numeric +from pulkka.data_ingest import read_data, force_age_numeric from ydata_profiling import ProfileReport def main(): df = read_data() - df = force_tulot_numeric(df) + df[KKPALKKA_COL] = pd.to_numeric(df[KKPALKKA_COL], errors="coerce") + df[VUOSITULOT_COL] = pd.to_numeric(df[VUOSITULOT_COL], errors="coerce") df = force_age_numeric(df) profile = ProfileReport(df) profile.config.vars.cat.n_obs = 20 diff --git a/pulkka/massage_outputs.py b/pulkka/massage_outputs.py index ff247b7..0441c28 100644 --- a/pulkka/massage_outputs.py +++ b/pulkka/massage_outputs.py @@ -21,8 +21,9 @@ def write_massaged_files(env, df): table_html = s.getvalue() f.write( env.get_template("_table.html").render( - table_html=table_html, body_class="table-body" - ) + table_html=table_html, + body_class="table-body", + ), ) df.to_csv(OUT_DIR / "data.csv", index=False) df.to_excel(OUT_DIR / "data.xlsx", index=False) @@ -70,10 +71,11 @@ def main(): "df": df, "year": YEAR, "logo_svg": read_asset_to_data_uri( - os.path.join(TEMPLATE_DIR, "logo.svg"), "image/svg+xml" + os.path.join(TEMPLATE_DIR, "logo.svg"), + "image/svg+xml", ), "site_url": f"https://koodiklinikka.github.io/palkkakysely/{YEAR}/", - } + }, ) render_statics(env) write_massaged_files(env, df) diff --git a/requirements.in b/requirements.in index dfca7fc..6d4fa38 100644 --- a/requirements.in +++ b/requirements.in @@ -1,5 +1,6 @@ bokeh<3 # bokeh 3 breaks for some reason jinja2 +matplotlib<3.8.0 # ydata-profiling compat openpyxl pandas ydata-profiling diff --git a/requirements.txt b/requirements.txt index 2cd8193..38a2071 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ certifi==2023.7.22 # via requests charset-normalizer==3.2.0 # via requests -contourpy==1.1.0 +contourpy==1.1.1 # via matplotlib cycler==0.11.0 # via matplotlib @@ -41,13 +41,14 @@ kiwisolver==1.4.5 # via matplotlib markupsafe==2.1.3 # via jinja2 -matplotlib==3.7.2 +matplotlib==3.7.3 # via + # -r requirements.in # phik # seaborn # wordcloud # ydata-profiling -multimethod==1.9.1 +multimethod==1.10 # via # visions # ydata-profiling @@ -88,7 +89,7 @@ patsy==0.5.3 # via statsmodels phik==0.12.3 # via ydata-profiling -pillow==10.0.0 +pillow==10.0.1 # via # bokeh # imagehash @@ -97,13 +98,13 @@ pillow==10.0.0 # wordcloud pydantic==1.10.12 # via ydata-profiling -pyparsing==3.0.9 +pyparsing==3.1.1 # via matplotlib python-dateutil==2.8.2 # via # matplotlib # pandas -pytz==2023.3 +pytz==2023.3.post1 # via pandas pywavelets==1.4.1 # via imagehash @@ -135,13 +136,13 @@ tqdm==4.66.1 # via ydata-profiling typeguard==2.13.3 # via ydata-profiling -typing-extensions==4.7.1 +typing-extensions==4.8.0 # via # bokeh # pydantic tzdata==2023.3 # via pandas -urllib3==2.0.4 +urllib3==2.0.5 # via requests visions[type_image_path]==0.7.5 # via ydata-profiling diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 0000000..06bb0ba --- /dev/null +++ b/ruff.toml @@ -0,0 +1,7 @@ +ignore = [ + "E501", +] +extend-select = [ + "COM", + "PD", +] diff --git a/template/index.html b/template/index.html index 2af91cf..74ecbf1 100644 --- a/template/index.html +++ b/template/index.html @@ -25,15 +25,29 @@

  • Pivot-työkalu
  • Data

    + Tämä data on käsitelty normalisointiskripteillä. - Viittaathan dataa käyttäessäsi tähän sivustoon: {{ site_url }} +

    Raakadata

    + Tämä on Google Sheetsistä tuotu käsittelemätön raakadata. + +

    Viittaaminen ja lisenssi

    +

    + Viittaathan dataa käyttäessäsi tähän sivustoon: {{ site_url }}. +

    +

    + Datan lisenssi on Creative Commons Attribution 4.0 International (CC BY 4.0).
    + Mankelointityökalujen lisenssi on MIT. +

    {% endblock %} {% block footer %}