Wypowiedzi
-
Lepiej ustawić relacje w MySQL czy lepiej zrobić to co trzeba na wyższym poziomie abstrakcji?
-
Jeden się wział za ux. Gratulacje
-
Płaca oczywiście też motywuje, ale jeśli ktoś ma trochę oleju w głowie, to ma tym samym świadomość, że na początku kariery zawodowej 4000 zł na rękę nie dostanie. ;)
Czemu nie? Skoro jest specjalista, jest wart każdych pieniędzy.
Mnie do pracy motywuje Team Spirit. I nie lubie z przychlastami pracować. Plus jeszcze jakiś social, ze dwa funroomy i takie tam. Mało firm umie zbudować te team spirit.
Czego nienawidze w firmach, to rozmów o mnie za moimi plecami. Z takimi firmami żegnam się bez żalu. -
I have a few questions:
https://docs.google.com/document/d/1FJR9EHG1E44fM0MM1lc...
or pl version:
https://docs.google.com/document/d/18MmhDYtFhz0z2JTf05O...
Fill out and send back to me at this address: info@adrian-stolarski.pl -
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy IT Professionals
-
Adrian Stolarski:
Mam taka tabela w -
Dedyk
-
Mam taka tabela w html:
<h1>Drukarki</h1>
<Adrian Stolarski edytował(a) ten post dnia 03.04.13 o godzinie 14:06 -
Takie stawki można sobie ustalać o ile rynek na to pozwala. Innymi słowy jeśli freelancer jest w takiej sytuacji że to klienci biją się o niego to jest to jak najbardziej celowe. Ale nie w przypadku gdy kilkudziesięciu freelancerów bije się o jedno zlecenie tak jak to ma miejsce np. na aukcjach. Nie bądźmy naiwni, u nas freelancer może się cenić dowolnie wysoko o ile ma bogatych klientów. W wielu przypadkach jest tak że ma dwa wyjścia: jedno to że zgadza się na cenę którą akceptuje klient i realizuje zlecenie, drugie to takie że dyktuje warunki i albo ma niesamowite szczęście, albo nie ma klientów i przez to nie ma zleceń. Przykre ale prawdziwe. Tak naprawdę praca jest tyle warta ile klient jest w stanie zapłacić i wcale nie musi to się pokrywać z tym co freelancer ustali na podstawie kosztorysu.
Darek dlatego posiadając małą firmę zajmującą się tworzeniem dedykowanych rozwiązań, trzymam się z daleka od Polski. Wśród trzech głównych klientów już sobie wyrobiłem coś w rodzaju marki, a nie są to firmy, które zatrudniają od 1 do 50 pracowników. Zarówno w kwestii online content, jak i oprogramowania oraz badań User EXperience, Penetration Test i Competive Research daje im rzeczy bardzo wysokiej jakości. Ale też sobie liczę za to troszkę więcej. -
Łukasz C.:
> technologii>, gdzie: <tu wstaw gdzie>, kiedy: <tu > wstaw kiedy>, będzie PIWO + PIZZA za DARMO!"
Algorytm szukania programistów:
1 - zarezerwuj bar z rzutnikiem
2 - zrob zajawke "BarCamp, spotkanie o <tu wstaw nazwe3 - napisz ze będą dziewczyny (n > 1)
Poprawki algorytmu: koniecznie zaproś dziewczyny żywe :P
4 - podkresl slowa kluczowe: PIWO, DZIEWCZYNY, ZA DARMO
5 - zamow piwo
6 - zamow wiecej piwa
7 - dorzuc kilka butelek piwa na backup
8 - zamow pizze (n > 1), zeby nie bylo, ze nie bylo
9 - wlacz rzutnik
10 - odczekaj sredni czas wypicia wiecej niz 4 browarow
11 - zacznij zbierac programistow, nie tych z podlogi, stosunek chęci współpracy do ilości wypitego alkocholu obrazuje mniej więcj krzywa gaussa (popiwny rozkład normalny programisty) :S
Co mnie przyciąga do pracy nad projektem?
1) Magiczna nazwa start-up.
2) Zespół - to nie tylko programiści, idealny zespół to 10-15 programistów wspomaganych przez analityka lub ze dwóch, ze trzech architektów aplikacji, min jednego grafika, na każdego z czterech programistów minimum jeden inżynier oprogramowania i tak zwany User Experience Designer. Aplikacja poparta badaniami rynku i analizą wymagań, kilka person wiszacych na ścianie, rozpisanej user stories etc etc etc....
3) Do tego jeszcze chce FunRoom, pakiet multisport, imprezy firmowe.
4) Moja stawka to od 100 do 500 usd za godzinę pracy. Chyba że to start-up i jest naprawdę fajny, czytaj logicznie przeanalizowany od strony biznesowej.
Co najważniejsze, nie chcę pracować z samymi "zielonymi". W przypadku PHP minimum to oprócz znajomości składni języka, znajomość min. 2-3 frameworków do testów jednostkowych, znajomość narzędzi do merge, branche i znajomość Mercurial, GIT i SVN-a. Do tego znajomość UML-a.
Panie Żukowski, nie po to tworzymy projekty, żeby pracować za 1000 złotych. W sumie można pracować i pracować. Za 300 dolców to bym się cudów nie spodziewał...
Druga rzecz to pakiet socjalny. Niekiedy można przyjąć niższą stawkę, pod warunkiem że się fajnie pracuje i ma sie jakikolwiek pakiet socjalny. Jest też inna różnica. Jeżeli jest nowy projekt, to mogę pisać za 5-6 tysięcy złotych, a są projekty, których nie ruszyłbym za 20 czy 30 tysięcy. Idealna długość klasy to 5 w porywach do 8 metod i maksimum 20 linii kodu na metodę, całość napisana z zachowaniem SOLID i posiadająca minimum tą trzy warstwową architekturę. -
Łukasz ty się potniesz na tym i wyłożysz. Tyle. Zatrudnij programistę lub programistów, co ci to napiszą według dobrych praktyk wytwarzania oprogramowania. Olej freelancerów, chodzi o jakość kodu.
A ty to chcesz z ACL-ami jakimiś rozbudowanymi czy bez ACL-ów?
Ja mam takie coś właśnie już z ACL-ami wbudowanymi, ale bym to musiał refaktoryzować i rozbić na warstwy, ale myślę, że by sobie z tym bez problemu poradził. System zajmuje jakieś 50Kb i zawiera system szablonowy, ale mówię, jest kwestia rozwarstwienia aplikacji. Jak chcesz to ci to wyślę z dokumentacją, oczywiście nierozwarstwione. Wiesz to miało pójść jako tutorial tak gdzie obaj piszemy :P, ale ma tak brzydką architekturę że się tego wstydzę. Za dwa tygodnie będę miał trochę czasu więc mogę Ci to rozwarstwić jak chcesz. Bez problemu od tego CMF-a wyjdziesz do dowolnej aplikacji, a i struktura kodu jest cudowna i działa, bo masz wszystko podparte testami w phpunit oraz Selenium.
Acha i jeszcze jedno, jak szukasz CMS-a uciekaj od baz danych jak najdalej. Jak chcesz już koniecznie mieć dedykowany CMS, to każ sobie napisać mocka na warstwie danych, coś zamokowane, gdzieś osobno libraries, a tam jakieś interfejsy czy nawet mocki do kilku struktur danych. To jest coś na czym się wykłada dużo osób, właśnie na bazach. Moim zdaniem wsdl-e lub xml-e to lepsza forma przechowywania danych, chyba że postawisz sobie Soap z dojściem do bazy danych i z soapa bedziesz sobie ciagnal wszystko jako xml-object i na tym operował. XML, a ogólnie Soap daje większe możliwości manewru, po prostu stawiasz soap i bez problemu pod to napiszesz aplikacje WEB, aplikacje pod Androida, windows phone, ios, czy desktop. Po prostu odradzam wykorzystanie baz danych w innej formie, niż jako uchwyt do SOAP Service.
PozdroAdrian Stolarski edytował(a) ten post dnia 01.04.13 o godzinie 20:27 -
Analogia w przyrodzie: lew lwica - lew tylko ryczy reszte robi lwica :P czy lew to mamisynek? A co do reszty, ludzie się boją o wszystko. Druga rzecz, nie uogólniaj. Bo ja uogólnie, że kobiety są nielojalne oraz są histeryczkami ;P
-
W Polsce jest modne celowe zaniżanie cen. Jak Ci zależy na taniej, weź studentów.
Standardowa stawka na zachodzie to 150 usd za artykuł 1500 słów który jest korygowany przez korektorów. I jakoś ich na to stać, żeby to płacić. Jeżeli chodzi o angielski i nie tłuamczenie nie zeszedłbym poniżej 0.10 za słowo, w kwestii tłumaczeń polsko-angielskich 0.5 za słowo, ponieważ większość polaków nie umie napisać zdania po polsku. -
Odkopę ten temat. Programista w UK zarabia od 100 do 500 funtów za godzinę pracy. Polakowi płacą od 56 funtów wzwyż jeśli pracuje zdalnie. Jeśli pracuje na miejscu ma te same stawki.
Kwoty się różnią w zależności od stażu pracy, ale nie mówimy tutaj o stażu w programowaniu, tylko o stażu w projekcie. I te dwie rzeczy należy szybko rozgraniczyć. Tyle w temacie. -
Pisanie artykułów dla zachodnich portali jest lepiej płatne i mniej czasochłonne. Mi by się to nie opłacało ekonomicznie. Ale cóż, normalny copywritting i nie ma się co bulwersować.
-
Pomóż mi pokazać to co robię. Mam wiele pomysłów, niestety nie mam środków na realizację. Pomóż mi, jesli możesz z biznes planem oraz reklamą, bo nie chcę pieniędzy za darmo.
Jak dwie aplikacje, czyli lista i aplikacja do składania zamówień w resteuracjach wejdą na rynek, na pewno na tym zarobisz.
Na razie potrzebujemy wszystkiego, ludzi, sprzętu, pieniędzy..
Tandem Seven pomaga nam jeśli chodzi o kod, jego czytelność oraz o user experience...
Z czasem jest taki problem, że walczę o coś dla kogoś, szczegóły u mnie na stronie., i narazie przegrywamy tą bitwę, ale juz się w nią włączyli wszyscy moim znajomi z Infosec Institute i Security Affairs.
Każda aplikacja posiada szczegóły biznesowe, więc z tym nie ma problemu. Wiadomo na czym będzie zarabiać! -
wyjedzcie z polski, tutaj nie ma nic :P
najlepoeij robic za bialego murzynaza najnizsza krajowa - marzenie polskich pracodawców, dobrze że w us jest inaczej -
a ja tylko pokaże mój radosny kod:
http://adrian-stolarski.pl/index.php/post/10/Obiecany+... -
Szukam sponsorów na ten projekt:
Lista zakupów jest projektem testowym. Dzięki pomocy ludzi z TandemSeven oraz wielu innych osób, postanowiłem ruszyć z tym projektem. Ale jak to bywa, zanim zaczniesz pisać aplikację, stwórz badania rynku, persony oraz napisz specyfikację. Wszystko zaczęło się od badań rynku. Zostało zadane kilka prostych pytań grupie testowej osób w różnym wieku. Poniżej znajdują się pytania i odpowiedzi.
Czasami zadajemy bardzo śmieszne pytania
Jak często robisz zakupy?
Tu już wyszły pierwsze różnice demograficzne. Mężczyźni w wieku od 50 lat wzwyż, robią zakupy raz w tygodniu. Kobiety i młodsi mężczyźni kilka razy w tygodniu. Naprawdę bardzo ciekawa obserwacja.
Czy zależy Ci na tym, żeby sklep w którym kupujesz produkty, znajdował się blisko twojego domu?
Wielu osobom nie zależy na tym, ale według nich byłoby wskazane, żeby program oferował tą funkcjonalność. Natomiast większość zdecydowanie uważa, że sklep, do którego idą, powinien być jak najbliżej ich domu. Dodatkowo większość osób życzy sobie, żeby robić zakupy w najwygodniejszym i najlepiej wyposażonym sklepie. To jest ciekawe, prawda?
Czy zależy Ci na tym, żeby sklep był blisko domu?
Tutaj znowu mamy różnice demograficzne. Osoby młode i zajęte, chcą robić zakupy w pobliżu domu. Osobom starszym także na tym zależy. Osoby dobrze usytuowane nie są tym zbytnio zainteresowane, ale uważają, że to jest dobry pomysł i takie coś powinno się znaleźć w wytwarzanym oprogramowaniu.
Czy tworzysz listę zakupów, używając papieru?
Większość osób tworzy swoje listy zakupów na papierze, jeśli zawierają więcej niż trzy produkty. Aczkolwiek są osoby, które po prostu nienawidzą papieru i zapisywania czegokolwiek w formie papierowej.
Czy używasz tabletu lub smartfona?
Większość osób odpowiedziała, że tak. Zaskoczyły mnie osoby, zajmujące się wytwarzaniem oprogramowania z kilku firm na terenie Katowic i Gliwic, które stwierdziły, że za nic w świecie, nie użyją smartfona lub tabletu.
Co lubisz najbardziej w robieniu zakupów?
Dużo osób odpowiedziało, że robienie zakupów to nic przyjemnego. Kilka powiedziało otwarcie, że szuka też miejsca, gdzie można porozmawiać z ludźmi i zjeść coś dobrego. Wiele osób lubi także obejrzeć towar, który kupuje i przekonać się, jak on wygląda rzeczywiście.
Czy potrzebujesz inteligentnej listy zakupów, która pokaże Ci, co masz kupić, gdzie kupisz to najtaniej oraz najbliżej domu?
Na to pytanie padła tylko jedna odpowiedź: TAK. Dla firm software zainteresowanych tym projektem, ta możliwość jest interesująca.
Co powinno się znaleźć na inteligentnej liście zakupów?
Dużo osób powiedziało, że nie ma pojęcia. Kilka poprosiło o przyjrzenie się aplikacji Portfel. Większość powiedziała od razu, że muszą się na niej znaleźć produkty, ceny, sklepy i miejsca.
Czy chcesz robić zakupy bez wychodzenia z domu?
Tutaj padła jedna odpowiedź, jednocząca cały świat: TAK.
Jakich aplikacji używasz?
Używacie wszystkiego, od iPhone, przez aplikacje Android, aż do aplikacji WEB.
Czy podoba Ci się pomysł napisania aplikacji dla ludzi?
Większość osób uważa, że jest to bardzo dobry pomysł. Jeśli to będzie aplikacja opensource, to okazuje się, że większość ludzi kocha OpenSource.
Co uważasz o napisaniu aplikacji dla internautów z ich udziałem, aby pokazać cały proces projektowania aplikacji?
Większość pytanych osób uważa to za świetny pomysł. Bardzo dużo moich przyjaciół z firm software, takich jak TandemSeven, FutureProcessing i Eclipse, uważa, że to bardzo miłe, że ktoś chce pokazać jasne i ciemne strony wytwarzania oprogramowania.
Na podstawie tych badań, powstały persony
Na podstawie waszych odpowiedzi, powstały persony. Więcej o personach dowiesz się z artykułu http://adrian-stolarski.pl/index.php/post/5/Tworzenie+.... Poniżej znajduje się skrócony opis jednej z person.
Specjalista od doświadczeń użytkownika
Zasadnicze cele Chce mieć miejsce, gdzie może porozmawiać z ludźmi, zjeść dobry obiad, pooglądać mnóstwo rzeczy. Chce, żeby sklep był blisko domu. Częstotliwość robienia zakupów Raz w tygodniu Narracja Codziennie w swojej pracy ma wokół siebie ludzi. Codziennie zadaje im tysiące pytań i dostaje tysiące wspaniałych odpowiedzi. Niestety nie zawsze ma siłę i czas, żeby iść na zakupy. Większość zakupów chciałby robić nie wychodząc z domu.
Jeśli już musi iść na zakupy, idzie tam, gdzie oprócz zrobienia zakupów może dobrze zjeść i pogadać z przyjaciółmi. Chciałby mieć możliwość umówienia się z przyjaciółmi w momencie, kiedy planuję swoje zakupy.
Prawda, że jest to proste?
Na tej stronie pokazuję tylko kawałek opisu persony, która powstała na potrzeby tej aplikacji. Idealnym rozwiązaniem dla was jest napisanie person samemu i wyznaczenie im celów oraz napisanie historii.
Pisanie specyfikacji
Dla każdego programu trzeba napisać prostą specyfikację, lepiej napisać kilka zdań niż nic. Ale nie warto tutaj jeszcze się rozwodzić nad tym, w jaki sposób aplikacja ma działać. To wszystko wyjdzie później. Specyfikacja to jest to, co będzie się zmieniać.
Bardzo prosta specyfikacja
Celem jest napisanie inteligentnej listy zakupów. Lista zakupów powinna zawierać dostępne produkty, sklepy w których można je kupić oraz ciekawe miejsca, w których się one znajdują.
Lista zakupów na tym etapie tworzenia aplikacji powinna mieć kilka funkcjonalności. Aplikacja musi umożliwiać stworzenie listy zakupów, edycję listy zakupów, zapis listy zakupów oraz zamknięcie listy zakupów.
Użytkownik musi wybrać, czy chce robić zakupy w jednym sklepie, czy chce zrobić je najtaniej oraz czy chce, żeby jego sklep znajdował się jak najbliżej domu.
Historie użytkownika
Historie użytkownika to o wiele lepsza specyfikacja na tym etapie planowania aplikacji. W tym momencie wyłaniają nam się cztery główne funkcjonalności. Ale zacznijmy od historii użytkownika.
"Jako użytkownik, chcę mieć możliwość przeglądania produktów, bo może znajdę coś, co mi się spodoba." "Jako użytkownik, chcę mieć możliwość przeglądania sklepów, jakie są dostępne, bo być może oferują coś, co mnie zaciekawi." "Jako użytkownik, chcę mieć możliwość przejrzenia ciekawych miejsc w okolicy, ponieważ być może zostanę w którejś z lokalizacji na dłużej." "Jako użytkownik, chcę mieć możliwość utworzenia i zarządzania moją indywidualną listą zakupów, abym zawsze zapamiętał, co mam kupić w sklepie."
To także nie jest zbyt skomplikowane, prawda?
Prototypowanie czterech głównych historii użytkownika
Tak jak już mówiłem, cały projekt jest dostępny na otwartym systemie kontroli wersji. Oto jego adres: https://code.google.com/p/smart-shopping-list/. Cały projekt powstaje za pomocą planowania zstępującego, czyli zaczynamy od ogółu i idziemy do szczegółu. Programiści to taka nacja, że chcą szybko coś napisać. A więc napiszmy sobie prototyp naszej aplikacji. Na początek powstaną dwie klasy, jedna z metodą main(), natomiast druga będzie tak zwanym ApplicationRunner. Znajdzie się ona w osobnej warstwie o nazwie core i będzie to drobne oszustwo, ponieważ w rzeczywistości należy ona do logiki aplikacyjnej. Więcej o architekturze wielowarstwowej dowiecie się z mojego artykułu zamieszczonego tutaj: http://resources.infosecinstitute.com/good-programming.... Do tego, wygenerujemy wszystkie klasy, które są niezbędne klasie ApplicationRunner() i umieścimy je w warstwie logiki aplikacji. Oto kod:
SamrtShoppingList.java
import core.ApplicationRunner; public class SmartShoppingList {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationRunner applicationRunner = new ApplicationRunner();
applicationRunner.run();
}
}
ApplicationRunnable_Interface
package core;
public interface ApplicationRunnable_Interface { public void run(); }
ApplicationRunner.java
package core;
import logic.CurrentSoftwareState; import logic.UsageDescision; import logic.UsserPassedData;
public class ApplicationRunner implements ApplicationRunnable_Interface{
public void run() {
UsageDescision usageDecision = getUsageDecisionFromUser();
if(doesUserDecideToUsage(usageDecision)){
UsserPassedData userPassedData = getSoftwareStateFromUser();
CurrentSoftwareState state = initialiseSoftwareState(userPassedData);
softwareStarts(state);
}
}
private CurrentSoftwareState initialiseSoftwareState(
UsserPassedData userPassedData) {
// TODO Auto-generated method stub
return null;
}
private void softwareStarts(CurrentSoftwareState state) {
// TODO Auto-generated method stub
}
private boolean doesUserDecideToUsage(UsageDescision usageDecision) {
// TODO Auto-generated method stub
return false;
}
private UsserPassedData getSoftwareStateFromUser() {
// TODO Auto-generated method stub
return null;
}
private UsageDescision getUsageDecisionFromUser() {
// TODO Auto-generated method stub
return null;
}
}
To jest idealny sposób na wygenerowanie runnera aplikacji. Kod wszystkich pozostałych klas znajduje się na SVN. W następnej części zajmiemy się implementacją pierwszej funkcjonalności. I w końcu może napiszemy jakieś testy aplikacyjne. Jeszcze wyjaśnię jedną rzecz. Aplikacja jest konsolowa, dopiero później wyjdzie się do GUI, zarówno w formie apletu jak i aplikacji desktop, a potem przyjedzie czas na Androida. Najpierw podstawy, potem GUI, innej drogi nie ma.
Więcej: http://adrian-stolarski.pl/index.php/post/10/Obiecany+... -
Też tak mam, aczkolwiek obaj robią kod nie po mojemu. :P
Ja u siebie dużo zyskałem dzięki Xprince, robiliśmy doświadczenie z XP, było cool, ale klient nie chciał być na zawołanie, więc musiało wejść XPrince.
Decyzja czy przejść na SCRUM czy na XP jest ciężka, ale spokojnie można na uczelniach zrobić na warsztatach mini XP i zespół kross-funkcjonalny. I od tego powinno się zacząć. Jak dla mnie studia na kierunku programowanie powinny wyglądać zupełnie inaczej, niż wyglądają. Wiesz jaki piękny projekt można zrobić przez każde 6 miesięcy? Czemu 6 miesięcy? Bo jak wydłużysz ten czas, zwiększasz ryzyko projektu.
Jeżeli piszę kod dla klienta, zaczynam tak:
wrzucam nowy projekt na SVN lub GIT
znajduje 5-7 osób do współpracy
powstaje opis projektu i persony, ktore będą go używać
zaczyna się proces implementacji, czyli najpierw testy potem kod, który przechodzi przez testy
integracja następuje na końcu
U mnie na stronie jest Dyspozytor, to jest program, który jest strasznie ciężko napisać. 99% ludzi po studiach i 70% osób z firm programistycznych się na nim wykłada, mimo że z Matt-em Flower-em napisaliśmy go w trzy godziny. :) Ale nie o tym tu mowa.
Załozyciel tematu niech uruchomi IDE dla androida, a potem niech wyklika aplikację.