Momencik, trwa przetwarzanie danych   loading-animation

piekielni.pl

Pokaż menu
Szukaj

Jestem programistą i poza pracą na etacie bardzo często wyszukuję jakieś zlecenia,…

Jestem programistą i poza pracą na etacie bardzo często wyszukuję jakieś zlecenia, aby sobie dorobić. Trochę się tego nazbierało, więc postanowiłem opisać wam te najciekawsze.

Firma magazynowa, która niedawno kupiła drugi magazyn ma problem. Ich program nie ma żadnych funkcji sieciowych, więc w pierwszym magazynie nie wiedzieliby co jest w drugim i na odwrót. Szef firmy, zamiast kupować nowy program, postanowił zlecić napisanie programu w 100% pod ich wymagania. I tutaj pojawiam się ja. Spędziłem dwa dni na rozmowie z kierownikiem o tym co ta aplikacja ma robić. Oto założenia jakie sobie spisałem:

Program powinien obsługiwać dwa magazyny z możliwością dodania kolejnych. Do każdego magazynu miały być przypisane miejsca magazynowe. Program powinien umożliwiać dodawanie, edytowanie i usuwanie miejsc magazynowych. Każde takie miejsce powinno być opisane rozmiarem (szerokość, wysokość, głębokość) oraz maksymalną wagą jakie może przyjąć. Poza tym jako, ze program miał mieć mapę miejsc magazynowych to każde miało też mieć swoje położenie. Mapa miała być edytowalna na wypadek zmiany ustawienia regałów w magazynie. Do tego program miał mieć możliwość wprowadzenia listy nowych towarów i miał je automatycznie rozkładać po magazynie tak aby towary z jednej dostawy były ułożone stosunkowo blisko siebie. Aby to działało każdy towar musiał być opisany podobnie jak miejsce magazynowe. Do tego dochodziły informacje dodatkowe jak opis, cena, itp. Dostawy również miały być opisywane przez takie informacje jak opis, pochodzenie, itp. Poza tym program miał mieć możliwość wypluwania wybranych danych do excela, tak aby można było robić różne zestawienia. Do tego system kodów kreskowych, aby móc szybko wyszukiwać dane towary w systemie bez potrzeby ręcznego wpisywania identyfikatora.

Po szybkiej estymacji poinformowałem kierownika, że sama praca nad programem zajmie mi od 45 do 50 dni, natomiast konfiguracja środowiska w obu magazynach jakiś tydzień (nie mieli żadnego serwera, poprzedni system stał na zwykłym komputerze). Za wszystko zażyczyłem sobie 8500 zł* (zawsze podaje minimalnie zawyżoną cenę jakby klient chciał się targować, poniżej 8000 zł bym nie zszedł). Reakcja kierownika?

- No ciebie chyba pop***liło! OSIEM TYSIĘCY, Marian słyszałeś gościa? Facet ja ci za to zapłacę maksymalnie 300 złotych i ani grosza więcej.

Nie zostało mi nic innego jak odrzucić tą jakże intratną propozycję. Oczywiście kierownik próbował oklepanych już tekstów: wpiszesz sobie w CV, doświadczenie jest ważniejsze niż pieniądze. Takie kity to można juniorom bez doświadczenia wciskać. Szkoda tylko dwóch dni na zbieraninie założeń. Musze podpytać radcę prawnego, czy mogę napisać jakąś umowę wstępną, w której byłby podpunkt mówiący o zapłacie za czas zbierania wymagań gdy nie zostanie podpisana główna umowa.

Dalej mała sieć pizzerii. Jej kierownik prosi o napisanie aplikacji która zbierze zamówienia z Pyszne.pl, Glovo i UberEats w jednym miejscu i na podstawie adresu dostawy wybierze jedną z trzech pizzerii do jakich zamówienie ma trafić. Poza tym obsługa takich rzeczy jak przyjęcie zamówienia, ustalenie czasu dostawy, itp. Wszystkie posiadają własne API (interfejs, który z poziomu kodu pozwoliłby mi na łatwe przetwarzanie zamówień), jednak Pyszne.pl nie udostępnia go byle komu, w tym mi. Musiałem sobie poradzić inaczej. Napisałem skrypt, który porusza się po stronie pyszne.pl pobiera wymagane dane i wykonuje odpowiednie akcje.

Aplikacja oddana, kasa na koncie. Czyli można zapomnieć o temacie, ale gdyby tak było to nie powstałaby ta historia. Jakiś miesiąc po zakończeniu prac dzwoni kierownik bo program nie działa. Zamiast przypisywać zamówienia do różnych pizzerii wrzuca wszystkie na jedną. Przyczyna okazała się bardzo łatwa do znalezienia, ktoś grzebał w kodzie i zrobił błąd w jednym warunku. Po chwili kierownik przyznał się, że chciał odciążyć jedną z pizzerii i przerzucać zamówienia z pewnego dużego osiedla do lokalu X zamiast Y. Zmiany dokonał jego siostrzeniec, który jest w technikum informatycznym. Usterkę naprawiłem, spisałem raport z naprawy, którą kierownik podpisał i poprosiłem o zapłatę (w umowie mam punkt mówiący, że za darmo naprawiam tylko błędy aplikacji wynikające z nieedytowanego kodu, resztę napraw wyceniam na podstawie roboczogodzin).

No i zaczęło się... On nic nie będzie płacił, jestem partaczem, sprzedałem mu niedziałające g**no, itp. Ostatecznie nie zapłacił a ja poszedłem do sądu. Pieniądze za naprawę odzyskałem z nawiązką.

Fryzjer. Pani chcę ładną, statyczną stronę wizytówkę. Na pierwszej rozmowie ustalamy jak ma wyglądać. Informuję również panią, że każda zmiana mocno odbiegająca od pierwotnego opisu będzie płatna Zwykle nie robię problemów gdy ktoś zmienia położenie jakiegoś panelu itp., ale trafiają się asy, które po zobaczeniu projektu graficznego zmieniają dosłownie wszystko. I tak było tym razem, pani nie podobało się kompletnie nic. Powiadomiłem więc o naliczeniu dodatkowej opłaty za zmianę całego projektu i zacząłem spisywać jej wizję. Drugi projekt wymagał kilku zmian, które wyceniłem na około 50 zł i w końcu udało się. W tym miejscu poinformowałem panią fryzjerkę o tym, że na etapie kodowania strony każda zmiana względem projektu będzie dodatkowo płatna. Jak możecie się domyślić w trakcie pisania strony projekt został zmieniony... 8 razy. No i gdy przyszło do płacenia zaczął się płacz, bo kazało się, że początkowe 350 zł urosło prawie trzykrotnie. Na początku nie chciała zapłacić, ale wystarczyło postraszyć trochę sądem i pieniądze się znalazły. Ale to jeszcze nie koniec bo pani była bardzo zdziwiona, że aby strona była widoczna w internecie musi jeszcze wykupić serwer i domenę (jakieś pozycjonowanie w wynikach googla też by się przydało). Oczywiście informowałem o tym na samym początku.

Dalej firma human resources. Mają swój program w którym zapisują CV, ale trochę im nie pasuje, że muszą robić to ręcznie. Zamarzył im się OCR (optical character recognition - program służący do rozpoznawania znaków w plikach graficznych), który zaczyta dane ze zeskanowanego dokumentu i "wklei" w odpowiednich polach programu. Sam OCR to nie problem, jest masa bibliotek, które pozwalają konwertować obrazek do postaci tekstu. Problemem jest nauczenie programu jak rozpoznawać co jest czym. Komputer jest głupi, zaczyta frazę Jan Kowalski, ale nie wie, że Jan to imię i ma trafić w programie do pola imię. Trzeba go tego nauczyć. Na początku chciałem wykorzystać sztuczną inteligencję, ale nie mam w tej dziedzinie dużego doświadczenia (a szkoda), więc zdecydowałem się na bazę wiedzy i porównywanie wzorców. Działa to tak, że program porównuje zaczytaną frazę z bazą wiedzy i szuka słów kluczowych. Im większa baza wiedzy tym większa trafność. Do budowy bazy dostałem ponad 100 tyś. różnych CV. Na początku było słabo, ale po 10 tyś. CV program miał około 98% skuteczności. Poza tym baza jest budowana na bieżąco podczas używania programu. Opisuje to wam abyście pojęli skalę projektu, który był największym jaki do tej pory udało mi się dorwać. Pracowałem nad nim coś koło 5 miesięcy.

Jakoś dwa tygodnie przed końcem projektu dzwoni do mnie pani z firmy HR. Byłem w tym momencie na etapie ostatnich testów i pisania dokumentacji. Okazało się, że na samym finiszu ktoś wpadł na genialny pomysł aby sprawdzić umowę kupna programu, którego używają i okazało się, że nie mają prawa sami modyfikować kodu programu, więc bardzo dziękują mi za współpracę. Zapytałem się więc kiedy mam przyjechać się rozliczyć i zdać kod, który udało mi się napisać. Pani bardzo się zdziwiła bo to chyba oczywiste, że skoro nie użyją tego programu to nic mi nie zapłacą. Nie ze mną takie numery. Kazałem pani spojrzeć na podpisaną przez nich umowę i sprawdzić punkt, który dokładnie opisuje kwestię rozliczenia w przypadku zerwania umowy (punkt w umowie jest zgodny z bodajże 644 artykułem kodeksu cywilnego, mogłoby go tam nie być, ale po pewnej przygodzie z pewnym panem z firmy ubezpieczeniowej, który twierdził, że artykuł 644 nie istnieje wolałem go jednak dopisać). Pani obiecała, że sprawdzi umowę, porozmawia z dyrektorek i odezwie się jutro. Jak można się domyślić pani się nie odezwała. Więc odezwałem się ja telefonicznie, listownie i ostatecznie złożyłem pozew. Wtedy nagle firma się obudziła i próbowali mnie ubłagać bym wycofał pozew a oni mi zapłacą 50%. Haha takiego, projekt był w 99% skończony a ja mam dostać ledwie połowę kasy. Sprawę wygrałem, dostałem 100% wynagrodzenia. Poza tym firma w trakcie procesu zrzekła się praw do programu (zasługa mojego prawnika). Gotowy OCR postanowiłem obudować pozostałymi funkcjami potrzebnymi w aplikacji dla firmy HR i sprzedać. Niedługo kończę pracę i mam już kupca. Konkurencyjną firmę HR z tego samego miasta.

Ps. Z tego co udało mi się dowiedzieć w umowie kupna ich programu był też punkt, który mówił, że dostęp do kodu mają tylko osoby upoważnione. Jak można się domyślić ja nie byłem taką osobą :) Nie wiem czy zostały wyciągnięte jakieś konsekwencję czy sprawa została zamieciona pod dywan.

Jako freelancer robię już dobre 10 lat. Moja umowa rozrosła się w tym czasie z dwóch stron A4 do prawie pięciu. Poza tym wszystko co ustalam z klientem następnie spisuję i daję do podpisu. Nawet gdy klient prosi o przeniesienie jakiegoś elementu o 2 mm w lewo i nie pobieram za to żadnej opłaty. Ludzie są nadzwyczaj kreatywni gdy przychodzi do płacenia. Zarzucą ci kłamstwo, zmieszają z błotem, utną kontakt. Przez te 10 lat 5 razy byłem w sądzie i zawsze wygrywałem, nawet z dużymi firmami. Chociaż wiem, że umowa, którą mam jeszcze będzie ewoluować. Ludzie nigdy nie przestaną mnie zaskakiwać. Na przykładzie firmy magazynowej, jeszcze nie miałem sytuacji, ze ktoś po tak długim zbieraniu wymagań ostatecznie nie podpisał umowy. I na to muszę się zabezpieczyć aby odzyskać pieniądze za stracony czas.

*Cena może wydawać się duża, ale gdy biorę zlecenie to praktycznie pracuję na dwa etaty plus muszę zapłacić podatki. A 8500 zł brutto za około 50 dni pracy to dość niska stawka dla programisty. Istnieją tańsze programy specjalistyczne mieszczące się w okolicach 300-400 zł, ale albo nie mają opcji na rozbudowę/zmianę (np. poprzedni program w firmie magazynowej), albo każda pierdoła jaka ma się zmienić w programie jest zlecana do jego twórcy a ten kasuje za to niezłą sumkę. Sprzedaż aplikacji a kodu aplikacji to dwa różne światy.

by Satsu
Zobacz następny
Dodaj nowy komentarz
avatar Michail
5 9

@Saszka999: Każda grupa ma swój slang. IT wyjątkowo rozbudowany, jest jeszcze 'zapytanie' z podobnej kategorii.

Odpowiedz
avatar Satsu
6 8

@Saszka999: Troszkę zboczenie zawodowe, gdyż ten potworek jest bardzo popularny w kręgu programistów. Staram się unikać takich gaf, ale nie zawsze się udaje.

Odpowiedz
avatar kartezjusz2009
6 10

@Michail: "zapytanie" wynika z dwóch słów w angielskim: "question" - pytanie i "query" - zapytanie. Komputer zapytuje, człowiek pyta. Brzmi to dziwnie i pewno nie jest "po polskiemu", ale w świecie IT pozwala na sensowną komunikację.

Odpowiedz
avatar Michail
6 6

@kartezjusz2009: Wiem, też w tym siedzę. Polska wersja (w miarę popularna i być może poprawna) od angielskiego 'query' to chyba 'kwerenda'.

Odpowiedz
avatar kartezjusz2009
5 5

@Michail: Masz rację, kwerenda to poprawne słowo. Ale powiem szczerze, że nie spotkałem się z tym poza książkami branżowymi.

Odpowiedz
avatar Saszka999
0 0

@Michail: Imaginuj sobie waćpan, że to również moja grupa zawodowa ;P

Odpowiedz
avatar Jorn
0 0

@kartezjusz2009: A ja się spotkałem wielokrotnie, choć jestem z zupełnie innej branży. Tak to się nazywa chociażby w polskiej wersji Excela.

Odpowiedz
avatar Saszka999
0 0

@Satsu: Wiem, że jest popularny - ale jest tak od (dla mnie) niedawna. Tak samo, jak inne paskudztwo - "formatka". Tyle, że to weszło paręnaście lat temu - wcześniej tego nie było. A dla wszystkich "z branży" - jeśli nie załapaliście tekstu "Jan B.", to młodziaki jesteście :P

Odpowiedz
avatar Saszka999
1 1

@kartezjusz2009: Trochę mieszasz. Zapytanie jako słowo funkcjonuje normalnie i nie jest w żadnym wypadku slangowe. Zapytanie to zadanie pytania. I jest po prostu dobrym tłumaczeniem "query". Natomiast zaczytywanie w znaczeniu wczytywania nie funkcjonuje, co gorsza funkcjonuje w zupełnie innym znaczeniu u normalsów. Więc to nie jest adekwatny przykład... :)

Odpowiedz
avatar yfa
0 0

@Michail: rzecz w tym, że "zaczytywanie" nie jest poprawne w żadnym "slangu IT". No chyba że "poszłem" uznamy za slang młodzieżowy, ale wtedy każdy błąd i nowomowę można określić mianem "slagu".

Odpowiedz
avatar mskps
21 21

Tak naprawdę po pierwszym punkcie uznałam, że chciałeś im to zrobić baaaardzo tanio. Osiem tysięcy za program do obsługi magazynów to orzeszki, w porównaniu do cen, które wzięłyby za taki projekt korporacje.

Odpowiedz
avatar Satsu
9 11

@mskps: Pełny program do obsługi magazynów ma o wiele więcej funkcji niż to co ja miałem napisać, ale masz racje moje ceny są niskie o wiele za niskie. Ale to nie moja wina. Co z tego, że ja projekt wycenię na dwa tysiące jak na moje miejsce znajdzie się jakiś junior, który zrobi to za tysiąc albo i mniej. A przy okazji całkowicie skopie robotę. Programowanie to teraz popularny zawód bo da się zarobić, ale za freelancerkę (nie wiem jak to ładniej odmienić :D) powinny się brać osoby doświadczone a nie chłystek po czterech kursach na Udemy. Poza tym przedsiębiorcy to idioci, biorą osobę, która zrobi daną rzecz najtaniej i potem narzekają jak słabo jest to zrobione. Z tego powodu muszę balansować na cienkiej granicy opłacalności a realnej możliwości dorwania danego zlecenia. Przez to estymacja opłaty za wykonanie zlecenia jest strasznie trudna i uciążliwa. Masę czasu poświęcam na przeglądanie masy stron i grup na serwisach społecznościowych ze zleceniami dla programistów i cały czas porównuje aktualne stawki za dane zlecenia aby być na bieżąco. Prawdą jest, że za to zlecenie, gdyby nie aktualny stan runku, wziąłbym lekko 13 - 15 tyś., ale jak widać w tym przypadku i 8 tyś. było za dużo.

Odpowiedz
avatar mskps
3 5

@Satsu nie musisz mi rego tłumaczyć, bo siedzę w tej samej branży. ;) Ale robienie na granicy opłacaclności, ciągnąc przy okazji etat też się średnio kalkuluje. Janusze a tak będą kręcić na wszystko powyżej kilku stówek, a Ty sobie tylko zdrowie zepsujesz. :( Ale jak trzeba kasy, to się bierze co jest, wiem. Obyś trafiał na lepszych klientów. :)

Odpowiedz
avatar vezdohan
1 3

@Satsu: Noo szacun dla kolegi. Magazyn w 400h, szybko. Wszystkie moje szacowania powyżej 200 zakładają, że mogły wejść błędy grube -50+200% I jak to liczyć? Pomysł jest taki, że liczę korzyści w jakimś skończonym horyzoncie dzielę przez 2 - i to jest cena. Dobre do negocjacji - patrz na zarobki nie koszty :) Rozkład towaru w magazynie to jest rzeczywiście problem NP zupełny a funkcja kosztu dostępu jest złożona -zmienna w czasie oparta o szacunek popytu i koszt zależy od położenia wzajemnego. Kilkadziesiąt kilo minimum.

Odpowiedz
avatar KwarcPL
2 2

@Satsu: Program, który miałbyś przygotować to w zasadzie absolutne minimum. Żeby stworzyć pełnoprawny WMS potrzeba o wiele więcej pracy i wiedzy. Same dokumenty magazynowe (PZ, WZ, MM itd.) to temat-rzeka. Co do juniorów i freeleancerki to sama prawda. Co z tego, że Ty przedstawisz sensowny kosztorys jak humanista po przebranżowieniu zawoła połowę tego? Co z tego, że ma zerowe doświadczenie i nawet nie umie oszacować ile mu to zajmie? Przedsiębiorcy go wezmą, bo jest najtańszy a potem będą płakać jak źle to działa...

Odpowiedz
avatar Satsu
0 2

@KwarcPL: "Program, który miałbyś przygotować to w zasadzie absolutne minimum. Żeby stworzyć pełnoprawny WMS". To nigdy nie miał być pełnoprawny program do obsługi magazynów. Do czegoś takiego musiałbym się o wiele dłużej przygotowywać i wziąłbym o wiele więcej pieniędzy za napisanie tego. Na ten moment nie mam nawet wiedzy aby się za takie coś zabierać. Skróty, którymi operujesz kompletnie nic mi nie mówią :D Ale dlaczego miałyby mi mówić jeśli nic takiego nie piszę. To co miałem stworzyć to miała być stosunkowo prosta aplikacja, która będzie pokazywać gdzie w danym momencie w magazynie jest dany towar i tyle. Nic ponad to. Jedyny w miarę trudnym elementem byłby algorytm typujący optymalne ustawienie. Nad tym elementem zakładam, że spędziłbym jakieś 20 godzin. W frameworku jaki używam ogarnięcie crudów to chwila, do stworzenia mapki mam do wyboru trzy biblioteki, które znaczną część zrobią za mnie. Baza danych malutka. A reszta to pierdoły. I tak jak wspomniałem w innym komentarzu. Normalnie wziąłbym za to około 13 tyś. Czyli przy przyjęciu tych 50 godzin na wykonanie programu wychodzi coś około 240 zł za godzinę. Nie uważam aby była to zła stawka. No ale nie da się. Jak tylko chociaż odrobinę staram się zwiększyć ceny to z automatu dostaje same odmowy.

Odpowiedz
avatar KwarcPL
3 3

@Satsu: Ale ja się z Tobą zgadzam i kontynuowałem myśl, którą zawarłeś w swoim poście. Chciałem wytłumaczyć rozmówcom dlaczego korporacyjne systemy magazynowe kosztują dużo więcej, tyle ;)

Odpowiedz
avatar Koralik
2 2

@mskps: @Satsu: Poczytałam wymagania, szacowany czas pracy i też uznałam, że 8,5k to mało - chociaż rozumiem też, dlaczego klient uważał że to dużo. On to sobie porównuje do programu gotowego, który może kupić za 300 zł. A że twórca tego programu sprzedaje go jeszcze setkom czy tysiącom innych klientów i zarabia na nim dużo więcej to jego już nie obchodzi - podobnie jak to, że Ty programu napisanego dla niego nikomu innemu nie sprzedasz.

Odpowiedz
avatar unana
8 8

Na pewno możesz spisywać umowę zanim siądziesz do rozmów na temat szczegółów zlecenia i wziąć pieniądze tylko za tą część jak klient zrezygnuje. Ja siedzę w branży fotograficznej i znam jednego bardzo ceniącego się fotografa, który przed sesją najpierw przeprowadza rozmowę jak ta sesja ma wyglądać, jakie klient ma wymagania itp itd i ta konsultacja jest zawsze płatna chyba na 100zl bez względu na to czy ktoś potem przyjdzie na sesję czy nie.

Odpowiedz
avatar Satsu
5 5

@unana: Domyślam się, że jest to możliwe, ale i tak muszę iść do radcy, który zgodzi się edytować umowę. Coś tam na prawie się znać. A właściwie muszę się znać bo każdy próbuje wykorzystać niewiedzę innych. Jednak podziwiam niektórych moich znajomych po fachy, którzy sami sobie umowy piszą. Ja tam wolę wydać te kilka stówek i mieć pewność, że wszystko jest ok.

Odpowiedz
avatar konto usunięte
1 3

@unana: Podpisać umowę zanim powiem o co mi chodzi? Nie ma opcji, mogę zapłacić za poświęcony czas. Ale na to musi być osobna umowa, ktora zaklada że ta kwota zostanie odjęta od całości zlecenia

Odpowiedz
avatar Ginsei
0 0

@Satsu: Tu jest jeszcze jeden problem: "najpierw żąda kasy za konsultacje, a potem rzuca zaporową cenę, żeby klient zrezygnował! Oszust!". Jeśli dla kogoś spodziewaną ceną jest 300-500 złotych, a ty "wyskakujesz" z tysiącami (i to ośmioma!), to takie właśnie komentarze mogą się pojawić. Że nie jesteś świetnym programistą, tylko zarabiasz na siebie "lewymi" umowami. Choć oczywiście jest szansa, że jakiś "Janusz Biznesu" zechce ci nosa utrzeć i się zdecyduje, mając nadzieję, że wtedy ty zaczniesz się wycofywać z umowy :D

Odpowiedz
avatar Michail
5 5

Nie myślałem nad tym za dużo, ale czy automatyczne rozkładanie towaru nie podchodzi pod problem plecakowy, albo coś pokrewnego z klasy problemów NP zupełnych?

Odpowiedz
avatar Satsu
3 5

@Michail: Nie jestem asem jeśli chodzi o określanie złożoności obliczeniowej, więc tutaj ci nie odpowiem. Problem z ustawieniem towarów jest podobny do problemu plecakowego, ale jednak istnieją znaczące różnice. W problemie plecakowym mamy pewne limity plecaka oraz wagę i wartość obiektu (lub objętość albo nawet objętość i wagę i taki wariant spotkałem). Tutaj nie mamy wartości, trzeba zmieścić wszystko. Mimo to problem jest ciekawy i żałuję, że nie miałem okazji się z nim zmierzyć. Tak na szybko myśląc. Kolejne miejsca magazynowe były na różnych regałach a regały sąsiadowały ze sobą. Z tego można by było stworzyć graf złożony z pomniejszych grafów (array'ów). A jak mamy graf to możemy wykorzystać przeszukiwanie wszerz (a właściwie coś w stylu podwójnego przeszukiwania bo mamy do czynienia z grafami (array'ami) w grafie). Do tego jakaś rekurencja i gotowe. Do tego dochodzi kwestia optymalizacji. Zamiast szukać idealnego rozwiązania pewnie napisałbym jakaś system zliczający optymalność rozwiązania i przerywał algorytm gdy wymagany próg zostanie osiągnięty. Ale to takie szybkie rozmyślania. Musiałbym nad tym usiąść i sobie rozpisać.

Odpowiedz

Zmodyfikowano 1 raz. Ostatnia modyfikacja: 28 stycznia 2021 o 19:47

avatar Michail
1 1

@Satsu: Brakuje mi takich rozważań, ale trudno. Chyba bardziej skomplikowanie to przyjąłem niż opisałeś powyżej. Tak czy siak dzięki za ten pomysł na szybko, ciekawa sprawa. Powodzenia życzę.

Odpowiedz
avatar kurzastopa
14 14

Można wrzucić do umowy zapis, że wstępna konsultacja kosztuje np. 500zł, jeżeli klient się decyduje potem na realizację zlecenia to ta kwota jest wliczana do ceny całkowitej, jeżeli nie to przepada.

Odpowiedz
avatar KrzaQ
11 11

Masz śmiesznie niskie stawki, szczególnie ten pierwszy soft - sam robię oprogramowanie na pograniczu WMS/MFC/WCS - można sprzedać znacząco drożej jeśli jest choć trochę sensowny. Nie wspominając, że 8k za 40 dni to 200zł dniówki, czyli 25zł/h. To nie jest nawet juniorska stawka.

Odpowiedz

Zmodyfikowano 1 raz. Ostatnia modyfikacja: 28 stycznia 2021 o 20:52

avatar Satsu
0 4

@noname89: @KrzaQ: Pozwolę sobie odpowiedzieć na oba komentarze bo są bardzo podobne. Tak stawki są niskie, bo niestety taki rynek tworzą domorośli programiści aspirujący do roli freelancerów. Co prawda 30 tyś. zaproponowane przez @noname89 to znaczna przesada. Ta aplikacja nie była aż tak skomplikowana. Wspomniałem w komentarzu wyżej, że najchętniej wziąłbym coś koło 14 tyś. Większość to proste crud'y i eksport danych do excela. Gdyby nie algorytm typujący rozłożenie towaru wziąłbym za to coś koło 2500 zł (przy normalnym rynku 5000 zł). Niestety nie da się, uwierzcie, że gdy próbuje podnieść swoje ceny to magicznie wszyscy zaczynają mi odmawiać. Można powiedzieć, że udało mi się uzyskać optimum jeśli chodzi o ceny moich usług. Czy jest mi z tym źle? Jasne... Na szczęście pozostaje rynek zagraniczny. Tam ceny są lepsze, ale za to konkurencja jest o wiele większa. @KrzaQ "To nie jest nawet juniorska stawka." Nie będę się kłócił to jest juniorska stawka, jednak tylko według seniorów (w tym i mnie). Ale według juniorów to jest stawka seniora i lecą na nią jak muchy na świeżą kupę. Ponad rok temu, kilka miesięcy przed wybuchem pandemii, zostałem zaproszony na event dla programistów zorganizowany przez firmę dla której pracowałem. Miałem poprowadzić panel dla freelancerów. Skupiłem się głównie na predyspozycjach i cechach jakie powinien posiadać freelancer i jaką wiedzę powinien posiadać. Wspomniałem też o stawkach. Pierwsze pytanie jakie padło po zakończeniu prezentacji brzmiało mniej więcej tak: "W takim razie, dlaczego ja, student, nie mający pracy w zawodzie zakończyłem już trzy zlecenia? Poza tym stawki o jakich mówisz są nierealne, kto mnie weźmie gdy będę chciał tyle kasy?" Moja odpowiedź: "Nikt nie weźmie, bo ty i osoby tobie podobne zamiast dążyć wyżej cały czas brniecie w dół kopiąc dołki innym." Film do znalezienia w internecie. Z oczywistych względów linku nie podam, ale jakby co ten z filmu to nie ja :D Podsumowując, wole robić za psie pieniądze ale zarobić cokolwiek niż nie robić nic. Możecie mówić, że niszczę rynek, ale nie zgodzę się z wami. Ja tylko się do niego przystosowałem i nie podoba mi się to, ale wolę ochłapy niż nic. A jeśli macie lepsze dojścia do klientów to wam zazdroszczę.

Odpowiedz
avatar noname89
6 6

@Satsu: Dlaczego przesada? 85zł/h to normalna stawka szeregowego developera. Stopień skomplikowania aplikacji wpływa na czas jej realizacji, a godzina developera ma swoją cenę. Tyle w temacie. Zrobienie takiej aplikacji za 14k to śmiech na sali. Skoro robisz za psie pieniądze i użerasz się z januszami a podobno jesteś seniorem to jaki problem iść do firmy która oferuje stawkę rynkową za spokojniejsza prace i prawdopodobnie ciekawszy projekt? W wiekszych miastach stawka seniora (i to nie w korpo) to 90-110 zł/h przy B2B. A w dobie pandemii firmy chętnie zatrudniają zdalnie.

Odpowiedz
avatar KrzaQ
2 2

@Satsu: Najwyraźniej mamy zupełnie różne doświadczenia. Sam liczę stawkę na krótkich zleceniach x1.5 do x2.5 (inaczej "za tyle to mi się nawet silnika nie opłaca odpalić") i jedyne na co narzekam to brak godzin w dobie. Ci co znajdą sobie studenta za 20zł/h albo Hindusa za 20zł za dzień pracy i tak zapewne do Ciebie wrócą - z krótszym deadlinem (czyli dodatkowy mnożnik za ekspres), bo przejedli ostatnie kilka miesięcy. Albo i nie wrócą, ale takiego klienta i tak nie szkoda. Ogółem, moja rada jest prosta: zamiast konkurować z najtańszymi ceną i zbierać klientów z samego dna jakościowego, konkuruj dobrą marką i jakością - robisz to już x lat, portfolio musisz jakieś mieć. Ale z drugiej strony Twoje historie to jedne z moich ulubionych tu, więc może jednak robisz to dobrze ;) Ponadto mam wrażenie (możliwe że nadmiernie interpretuję), że w swojej wycenie liczysz wyłącznie czas kodowania, a inne tematy w nią nie wchodzą (ustalenia z klientem, design, testy wewnętrzne, testy z klientem, wdrożenie, a potem utrzymanie i amortyzacja gwarancji). A co do 30k i "grubej przesady": sam bym wycenił ten soft na 20-100k, zależnie od wymaganych rozwiązań (np. jak wygląda edycja regałów (potrzebne fancy gui?), czy tego typu dane są synchronizowane między magazynami, czy jest jeden główny serwer, czy to jakieś p2p, jak wyglądają backupy, jak wygląda kontrola dostępu, jakie są algorytmy optymalizacji, jaka odpowiedzialność za ewentualne błędy softu itd). Sam fakt, że wyceniasz to na 40 dni roboty (też imo dość oszczędnie, ale może rzeczywiście to miał być mały sofcik) oznacza, że powinno to się przekładać na minimum 2 pensje (40 dni = 8 tyg = 2 mies), czyli 30k, przy założeniu programisty15k. Gdybyś zlecił to jakiemuś softwarehouse'owi, to 2 pensje 15k kosztują ich 2*20k, a do tego jeszcze musi się utrzymać manager, hr, biuro, inne działy _oraz_ firma musi zarobić.

Odpowiedz
avatar KwarcPL
-2 8

@Satsu: Nie przejmuj się nimi. Taka już Internetu natura, że według nich 15 tysięcy miesięcznie to przeciętna stawka szeregowego developera. Nie wiem skąd się tacy ludzie biorą, ale ostatnio z jednym podjąłem dyskusję. Powiedział, że u niego dali "randomowi bez doświadczenia zatrudnili jako juniora i dali 5 tysi". Jak zacząłem zadawać pytania to wyszło, że "random bez doświadczenia" = "studiuje informatykę i był u nich na rocznym stażu", "5 tysięcy" = "niecałe 5 tysięcy brutto i to po wliczeniu wszystkich dodatków w tym... systemu kafeteryjnego" a wszystko miało miejsce we Warszawie. Ręce opadają. Zrobili sobie jakieś absurdalne założenia, o których zapomnieli powiedzieć a potem ludzie wierzą w bajki, że po kursie na Udemy dostaną 5 tysi na rękę bez łaski :P

Odpowiedz
avatar Koralik
4 4

@KwarcPL: Tylko że 85PLN/h na b2b to jest mniej więcej stawka mida, senior wyciąga więcej. I nie mówię nawet o Warszawie :) No i mam na myśli stanowisko programisty w firmie typu software house, nie freelancerskie.

Odpowiedz
avatar Koralik
2 2

@KwarcPL: Z doświadczenia.

Odpowiedz

Zmodyfikowano 1 raz. Ostatnia modyfikacja: 8 lutego 2021 o 13:34

avatar KwarcPL
-1 1

@Koralik: Czyli "wydaje mi się", ale ładniej nazwane. Po paru latach spędzonych w branży zacząłeś pracować za taką stawkę, znajomi z równoległych stanowisk siłą rzeczy będą zarabiać podobnie a Ty na mocy efektu ekspozycji (powszechny błąd poznawczy) zacząłeś uważać, że tyle wynosi średnia rynkowa? No OK, ale jak widzisz, że dane zebrane od 1296 developerów są bardziej miarodajne od Twojego "doświadczenia". Ech i tak potem się tworzą bajki o "programistach 15k". A najzabawniejsze jest to, że Ciebie zaplusowali a mnie zminusowali, bo Ty pasowałeś do internetowego konsensusu a ja mu zaprzeczałem :P

Odpowiedz
avatar noname89
7 15

8500 zł za 45 dni pracy ? Przecież to kpina. Przy 45 dniach pracy (po 8h dziennie) to powinno być minimum 30 tyś. Poza tym szczerze mówąć aplikacja wygląda na złożona na tyle że 30k to i tak śmieszna kwota. To jest praktycznie psucie rynku.

Odpowiedz
avatar czaj
6 10

@Satsu @noname89 - Tys., nie tyś., przecież to skrót od tysięcy a nie tyśęcy, prawdaż?

Odpowiedz
avatar noname89
-4 8

@czaj: Rozumiem że to jedyna merytoryczna uwaga jaką byłeś w stanie wnieść do dyskusji ?

Odpowiedz
avatar Lypa
7 7

"Cena może się wydawać zbyt duża" xDDD Wiesz, ile nasza firma wzięłaby za zlecenie wyceniane na ~50 MD?

Odpowiedz

Zmodyfikowano 1 raz. Ostatnia modyfikacja: 29 stycznia 2021 o 10:35

avatar Lypa
3 3

Co do scrapingu pyszne - czy jesteś jakoś zabezbieczony przed tym, że pyszne np. zmieni sobie układ strony? Czy będziesz musiał za darmoszkę naprawiać?

Odpowiedz
avatar Satsu
4 4

@Lypa: Oczywiście, że jestem na takie ewentualności przygotowany. Tak samo jak na zmiany w API, z których musiałem skorzystać na potrzeby stworzenia danej aplikacji. Nie zdarza się to zbyt często, ale jednak. Jak na razie mi się to jednak nie zdarzyło a sam punkt dodałem po pewnej przygodzie mojego kumpla po fachu.

Odpowiedz
avatar KwarcPL
5 5

1) Napisanie systemu magazynowego od zera i postawienie mu infrastruktury za 8500 zł to praca za pół darmo a Janusz jeszcze wysmradza? Przecież jeden program już mają i co? Zapłacili za niego 300 zł? No chyba nie. Nikt normalny nie zrobi system do zarządzania miejscem na regałach za tyle ile dostaje się za skręcenie regału. Przecież nawet gotowce typu Subiekt GT kosztują kilka razy więcej. Także nie wiem na co oni liczą? Że znajdzie się jakiś świeżo upieczony technik informatyk, który zgodzi się stworzyć WMS od podstaw za coś co powinno być dniówką? A może frytki do tyle? Za tyle to im może licealista postawić statyczną stronę od szablonu. Tutaj to na dobrą sprawę za analizę biznesową powinieneś dostać więcej niż oni chcieli zapłacić za całość. A skoro o niej mowa to też miałem z tym przeboje. Fajnie się zbiera wymagania kiedy cały zarząd jest obsadzony nieogarami. O połowie procesów zachodzących we firmie nie mieli zielonego pojęcia. O drugiej połowie mieli, tyle że błędne. Też się zastanawiam jakim cudem to jeszcze funkcjonuje, ale mnie bardziej interesowało to, że po wdrożeniu pojawiły się zgrzyty, bo to stan faktyczny rozjeżdżał się z tym co mi przedstawili. 2) Ach, technicy informatycy, temat-rzeka. Miałem z nimi kilkukrotnie do czynienia i za każdym razem było coraz gorzej. Muszę kiedyś to opisać, ale wracając do historii to jak można być takim Januszem? System zaczął źle działać po "poprawkach" jego siostrzeńca, ale winy doszukuje się u dostawcy i oczekuje bezpłatnej naprawy... 3) Dlatego nie robię we froncie. Klienci regularnie zmieniają zdanie i potrafią obudzić się za pięć dwunasta z tym, że jednak zmieniliby coś w projekcie, który zaakceptowali dawno temu. A najweselej jest jak zataczają koło. Ty stajesz na rzęsach by spełnić ich zachcianki a oni na końcu stwierdzają, że najlepiej było na początku XD 4) Genialnie to rozegrali. Zamiast zagadać za ile odsprzedałbyś prawo do kodu albo dogadać stawkę za poprawki to zrobili szpagat, przez co koniec końców programu nie dostali a i tak za niego zapłacili. Nie wiem co za dyrektorski geniusz do tego doprowadził, ale ja bym go z miejsca zwolnił...

Odpowiedz
avatar chudypolak
0 0

Satsu masz bardzo rozsądne stawki. Jak można się z Tobą skontaktować ? Pozdrawiam

Odpowiedz
avatar yfa
1 1

Chłopie, z którego roku masz tę historię (i stawki)?! Za taką kasę to ja od ręki zlecę napisanie kilku systemów, bo za najbardziej zbliżone funkcjonalnie do tego, co potrzebujemy, z dostępnych na rynku, mamy oferty licencji jednostanowiskowych po 20-30k... (i jeszcze koszty wdrożenia plus szkoleń). Czego jednak nie akceptujemy: web scrapingu (tylko API; SOAP, REST), PHP, MySQL, MSSQL. Wolimy nie mieć, ale jak musi, to może: java (Tomcat), ruby (RoR). Preferowane bazy danych: PostgreSQL (i pochodne: EnterpriseDB, Greenplum), ewentualnie Oracle. Dane relacyjne przechowywane w bazie relacyjnej, mongo akceptujemy jako bazę dodatkową do przechowywania blobów. Nie potrzebujemy sami wystawiać API, ale potrzebujemy kilku eksportów XML (XSD z państwowych systemów). Pracujemy na podkładach mapowych (GIS), więc jako interfejs może służyć wręcz sam QGIS (bo tam mamy dane np. z KIIP czy PRG). To wszystko to system inventory, więc w zasadzie taki właśnie rozległy magazyn.

Odpowiedz
Udostępnij