Pierwsze rozmowy kwalifikacyjne. Zarobki świeżaka po technikum

0

Witam. Za niedługo będę na pierwszej rozmowie kwalifikacyjnej. Może to trochę głupie ale nie wiem jaką cene sobie zaśpiewać (a może to pracodawca pierwszy zaproponuje?).
Pierwsza oferta dotyczy .net (c#, mvc, php, html, jquery) oraz relacyjne bazy danych postgresql. Z tego nie znam tylko jquery ale myślę, że douczenie się nie będzie problemem. Oczywiście jestem świeżakiem po technikum. Mam napisane 2 większe projekty które zamieściłem w CV. Miejscowość to Katowice. Jaka cena byłaby dobra tak by nie zniechęcić pracodawce ale i żeby nie powiedzieć za mało? Myślałem o 2,5k netto. Co o tym sądzicie? W sumie zgodziłbym się na 2k ale no nie wiem dlatego pytam.
Druga oferta dotyczy także .net z c# z naciskiem na winforms (w tym jestem na prawdę dobry) + relacyjne bazy danych. Tutaj nie wiem bo mniej wymagają niż wyżej ale wiem że bardziej się nadaje.
Pomóżcie :) Pierwsza praca to i duża zmiana w życiu i lekki stres :)

0

To napisałeś tyle szczegółów że muszę wyciągnąć szklankę z fusami.

0

Jesli nie mieszkasz na odludziu to zadaj 2x tyle niz ci sie wydaje, ze chcesz.

0
niezdecydowany napisał(a):

To napisałeś tyle szczegółów że muszę wyciągnąć szklankę z fusami.

Jakich jeszcze informacji potrzebujesz? Napiszę jeśli faktycznie są potrzebne. Mi się wydaje że już wszystko napisałem.

n0name_l napisał(a):

Jesli nie mieszkasz na odludziu to zadaj 2x tyle niz ci sie wydaje, ze chcesz.

Czyli mam mówić 4-5k? Nie wiem czy to dobry pomysł. Na pracy też mi zależy aby mieć jak najwcześniej. Fakt mam zrealizowane 2 większe projekty ale tak jak kolega wyżej pisze nie mam doświadczenia komercyjnego choć ogólnie od 2 lat już programuje moim zdaniem na przyzwoitym poziomie (a zacząłem ponad 3 lata temu).

Wiadomo jestem w świetle pracy "nowy" w te klocki dlatego też nie mam co przesadzać z płacą. I jak wiadomo podstawa negocjacji to nie zgadzać się na 1-szą oferte. Więc bez względu kto pierwszy powie ile oferuje to i tak nikt się na to nie zgodzi... Więc jak sądzicie. Mówiąc 2,5k pewnie pracodawca powie 2k no i spotakamy się przy 2,250. Chyba że jednak zaczynać od wyższej ceny?

2

Kraków w Comarchu student na pełen etat dostaje na wejściu 3k brutto (nawet jeśli to jest 4 rok).
Ty jesteś po technikum, studentem nie jesteś (nie napisałeś tego, a to są dodatkowe koszty dla pracodawcy), napisałeś dwa, własne projekty, wiec zdecydowanie jesteś wart mniej niż student.
Pytanie ile naprawdę potrafisz, daj linka do swoich projektów, a ktoś cię na pewno wyceni. IMO na podstawie tego co powiedziałeś twoje oczekiwanie na poziomie 2,5k brutto jest rozsądne.
Pytanie czy poza .net i C# umiesz używać:

  • debuggera (to zadziwiające ile ludzi, którzy twierdzą, że umieją programować, nie używa tego narzędzia).
  • systemu kontroli wersji: git, SVN, Mercurial, Clear Case (szajs nie z tej ziemi).
  • profiler-a
3

@Unlimited, na tych filmikach nie widać jedynie klikanie w GUI jakichś aplikacji, więc właściwie nic ważnego. Liczy się architektura, styl pisania, brak WTFów w kodzie, itd. Bez pokazania kodu ocenić się tego nie da.

0

Nie wiem czy to dobry pomysł.

Oczywiscie, ze dobry, o ile nie mieszkasz na odludziu. W przecietnej firmie ludziom od roznoszenia kawy placa wiecej niz ty chcesz...

0

Tak nie jestem studentem bo mnie nie stać. Będę miał pracę pójdę na zaoczne. Nie myślcie, że chce już zarabiać miliony na start. Nie. Jestem uczciwym człowiekiem nie chce nikogo oszukiwać ani nic. Pisałem wyżej że 2,5k netto. Jeśli chodzi o 2,5k brutto to wyjdzie poniżej 2k netto. Nie piszę przecież że jestem super wybitnym programistom. Piszę, że jestem świeżakiem i nawet nie wiem jaka pensja byłaby rozsądna dla mnie.

2

Ja bym nie rzucał kwot na poziomie 5k netto jak niektórzy tutaj proponują 2.5k - 3k netto dla kogoś z Twoim wykształceniem i doświadczeniem przy założeniu nie nie ma wielkich WTF w tych projektach jest rozsądna. Jesteś młody nie szalej, najpierw się gdzieś załap później będzie czas (np. po pół roku ) na rozglądanie się i na większe zarobki.

0

Tutaj plik .cs z kodem z c# (a raczej wycinki ciekawszych fragmentów).
http://www75.zippyshare.com/v/5093022/file.html

zaraz się okaże jak mój kod wygląda oby się nie okazało że strasznie kiepski :/ ale dzięki Wam za wypowiedzi :)

1

@Unlimited: nie myśl o sobie "jestem naprawdę dobry" bo na świecie znajdzie się zawsze ktoś kto jest 2-3 razy lepszy nawet w jakiejś wąskiej dziedzinie którą się interesujesz.
Poza tym osiadanie na laurach to najprostsza droga do wypalenia zawodowego (lub jego objaw).

Załóżmy że chcesz pracować w WinForms + PostgreSQL.
Z bazy danych wynikałoby że koncentrujesz się na firmach których nie stać na MS SQL (domyślny serwer dla .NET) lub mają akurat inne widzimisie.

W związku z tym czy:
a) znasz Mono (może się przydać)?
b) umiesz zaprojektować bazę danych (widoki, indeksy, relacje, generatory sekwencji)? Wizualnie (najlepiej UML/ERD)? http://sourceforge.net/projects/dbdesigner-fork/
c) umiesz zaprogramować część logiki w PL/SQL (procedury składowane)?
d) czy umiesz optymalizować zapytania? Jakich narzędzi używasz?
e) na jakim systemie operacyjnym pracujesz? (Linux czy Windows)? Czy umiesz z nim zintegrować aplikację? (autostart, logi, schowek, katalogi itd)

Im więcej będziesz miał odpowiedzi na "tak" tym możesz żądać większej kasy.

Być może warto żebyś spróbował zrobić aplikację pod MS SQL - choćby jakąś wprawkę.
Serwer jest za darmo do pewnych zastosowań (w tym do developerskich):

http://www.microsoft.com/en-us/server-cloud/Products/sql-server-editions/sql-server-express.aspx

0
vpiotr napisał(a):

@Unlimited: nie myśl o sobie "jestem naprawdę dobry" bo na świecie znajdzie się zawsze ktoś kto jest 2-3 razy lepszy nawet w jakiejś wąskiej dziedzinie którą się interesujesz.
Poza tym osiadanie na laurach to najprostsza droga do wypalenia zawodowego (lub jego objaw).

Załóżmy że chcesz pracować w WinForms + PostgreSQL.
Z bazy danych wynikałoby że koncentrujesz się na firmach których nie stać na MS SQL (domyślny serwer dla .NET) lub mają akurat inne widzimisie.

W związku z tym czy:
a) znasz Mono (może się przydać)?
b) umiesz zaprojektować bazę danych (widoki, indeksy, relacje, generatory sekwencji)? Wizualnie (najlepiej UML/ERD)? http://sourceforge.net/projects/dbdesigner-fork/
c) umiesz zaprogramować część logiki w PL/SQL (procedury składowane)?
d) czy umiesz optymalizować zapytania? Jakich narzędzi używasz?
e) na jakim systemie operacyjnym pracujesz? (Linux czy Windows)? Czy umiesz z nim zintegrować aplikację? (autostart, logi, schowek, katalogi itd)

Im więcej będziesz miał odpowiedzi na "tak" tym możesz żądać większej kasy.

Być może warto żebyś spróbował zrobić aplikację pod MS SQL - choćby jakąś wprawkę.
Serwer jest za darmo do pewnych zastosowań (w tym do developerskich):

http://www.microsoft.com/en-us/server-cloud/Products/sql-server-editions/sql-server-express.aspx

a) niestety nie
b) umieć (no właśnie często spotykane słowo a nigdy nie wiadomo ile się wie). Wizualnie nigdy tego nie robiłem. Skorzystam z linku i zobaczymy co z tego wyjdzie.
c) niestety nigdy tego nie robiłem
d) zapytania pisane tylko z palca. stosowane te które mi były potrzebne. jakoś wiecej się nie zagłębiałem.
e) linux nie jest mi obcy. oba systemy znam. co do windows umiem z nim integrować aplikację. Na linux też miałem napisaną mniejszą aplikację z GUI ale nie widzę sensu jej pokazywać bo jest to mały projekt.

czyli w sumie widzę że trzeba się wziać do nauki bo jeszcze trochę zostało.

co do aplikacji w MS SQL. Na pewno taką zrobię.

0

Mimo że "programuję" na co dzień w php, to rzuciłem okiem w kod i mogę wypisać następujące rzeczy

  • polskie nazwy zmiennych
  • użyłbym jakichś stałych - np w tych linijkach if (siteJournalDeal[a].dealEventType == 1)
  • w jednej linijce to nawet nie chcę wiedzieć co można było mieć na mysli - int parametr1a, parametr2a, parametr3a, parametr4a, parametr5a, parametr6a, parametr7a, parametr8a, parametr9a, parametr10a, parametr11a, parametr12a, parametr13a, parametr14a, parametr15a, parametr16a, parametr17a, parametr18a, parametr19a, parametr20a, parametr21a, parametr22a

Swoją droga jak ktoś uważa moje uwagi ze nieuzasadnione - to prosiłbym o sprostowanie moich wywodów :) bo tak w ogóle to ja słabo się znam :)

0

Dobrze dzięki za opinie. Teraz wiedząc to jak pisze jaką cenę uważalibyście za odpowiednią?

0

Interfejsy moim zdaniem znacznie poprawiłyby tutaj czytelność kodu.

0

Dziwne że nikt nie wspomniał jeszcze o konieczności znajomości wzorców projektowych. Mam wrażenie że to jest jedna z bardziej podstawowych rzeczy jaką trzeba znać - chociażby tych podstawowych które często się stosuje.

0
UnlimitedPL napisał(a):

Dobrze dzięki za opinie. Teraz wiedząc to jak pisze jaką cenę uważalibyście za odpowiednią?

Tyle ile dają. Umiesz akurat tyle żeby zacząć pracować, ale musisz się jeszcze dalej uczyć (podczas pracy).
Możesz liczyć po jakimś czasie (kilku miesięcy) na znaczną podwyżkę.

0

Dzięki jeszcze raz wszystkim za wyjaśnienie i obiektywne ocenienie moich umiejętności. To jest dopiero wierzchołek góry lodowej. Ale jednak nie powiedzieliście jaką pensje sobie powiedzieć ;d Po tym co napisaliście z moich 2,5k netto zszedłbym do 2k netto ale ktoś tam pisał żeby nie pracować za mniej niż osoba do podawania kawy
A moje minimum to właśnie 2k netto bo mieszkanie prawie 600zł studia 400zł, przeżyć za coś też trzeba no i coś tam jeszcze drobne zostaną.

0
UnlimitedPL napisał(a):

Dzięki jeszcze raz wszystkim za wyjaśnienie i obiektywne ocenienie moich umiejętności. To jest dopiero wierzchołek góry lodowej. Ale jednak nie powiedzieliście jaką pensje sobie powiedzieć ;d Po tym co napisaliście z moich 2,5k netto zszedłbym do 2k netto ale ktoś tam pisał żeby nie pracować za mniej niż osoba do podawania kawy
A moje minimum to właśnie 2k netto bo mieszkanie prawie 600zł studia 400zł, przeżyć za coś też trzeba no i coś tam jeszcze drobne zostaną.

To też dobra zasada. Zbierz info z innych zawodów w swoim rejonie. Kasjerka w Tesco, sprzątaczka, człowiek od podawania cegieł, specjalista w callcenter, kurier na rowerze. Uśrednij.
Jeśli uda Ci się co najmniej tyle wynegocjować to programuj. Jeśli nie - przesiądź się na rower, będziesz zdrowszy :)

5

Brakuje Ci umiejętności:

  1. definiowania własnych metod - używasz wyłączenie automatycznie wygenerowanych metod obsługujących zdarzenia GUI - gdybyś to umiał, kod byłby 3x krótszy, bo masę rzeczy po prostu kopiujesz;
  2. definiowania tablic (wtedy nie musiałbyś tworzyć zmiennych parametr1 do parametr99999);
  3. definiowania własnych enumów (pozwalają unikać magicznych numerków, których używasz wszędzie);
  4. definiowania klas (dzięki nim mógłbyś grupować powiązane ze sobą wartości i używać ich w bardziej elastyczny sposób, mógłbyś też dzięki nim oddzielać metody operujące na GUI od metod operujących na bazie albo obliczających coś, co pozwoliłoby uzyskać jeszcze większą czytelność);
  5. w następnym etapie - wzorce projektowe i architektoniczne, podział na warstwy, itp.

Niestety, takie są efekty nauki "programowania" poprzez tworzenie aplikacji z GUI, zamiast poznania najpierw składni w prostych konsolowych programikach.
Co do stawki - 3-6 miesięcy bezpłatnego stażu, potem może jakaś pensja.

0

Dzięki. Wiem nad czym pracować. Jeszcze raz wielkie dzięki :) Zabieram się do roboty :)

0

Wyposażyłem się w książkę:
user image
Mam nadzieję że dobry wybór. Takie pytanie (na pewno lamerskie). MVC jest tylko dla aplikacji webowych. Jakie wzorce stosować dla aplikacji desktop?

2

MVVM jak używasz WPFa. MVP dla windows formsów.

1

http://helion.pl/ksiazki/wzorce-projektowe-elementy-oprogramowania-obiektowego-wielokrotnego-uzytku-erich-gamma-richard-helm-ralph-johnson-john-m,wzoele.htm Polecam jak chcesz mieć pojęcie w temacie + oczywiście praktyka, czyli implementowanie tych wzorców.

http://helion.pl/ksiazki/debugowanie-net-zaawansowane-techniki-diagnostyczne-mario-hewardt,debnet.htm też polecam jak chcesz się w .NET rozwijać, ale to trochę później.

W ogóle z tego co widzę to Tobie przyda się dobra książka, bo brak ci podstaw. Coś tam już umiesz, ale zabrałeś się trochę od złej strony. Za dużo wyklikiwania i WinFormsów, za mało pisania kodu. Na początku jest ważne, żeby samemu pisać dużo kodu. Nawet przepisywać, ale kod dobrej jakości, taki który rozumiesz. Dużo jest dobrych materiałów za darmo w necie. Solidne podstawy samego języka warto zdobyć pisząc jakieś przykładowe programiki w konsoli, tak żeby rzeczywiście zrozumieć OOP itd.

Oczywiście nie trzeba czytać książek, ale w moim odczuciu to pomaga szczególnie na początku, bo może programować się z książek nie nauczysz, ale przynajmniej zyskasz pogląd jak takie prawidłowe programowanie powinno wyglądać.

A książka, którą wkleiłeś dobra jest. Tylko nie bierz się za ASP jak sensownie C# jeszcze nie ogarnąłeś, bo będą wychodzić takie cuda straszne. Albo najlepiej równolegle poznawaj język i dłub sobie w ASP.

http://www.dotnetperls.com/ polecam dodać do zakładek i przerobić co ciekawsze fragmenty.

0

Jako iż znalazłem czas napisałem w c# troche kodu by "pokazać" jak pisze aktualnie. Tamten kod był sprzed roku ale to chyba pisałem. Czekam na dalsze wskazówki.

using System;
using System.Collections.Generic;
using System.Threading;

class animals
{
    protected int wiek { get; set; }
    protected string rodzaj { get; set; }

    public animals(int wiek, string rodzaj)
    {
        this.wiek = wiek;
        this.rodzaj = rodzaj;
    }

    public void wyswietl()
    {
        Console.WriteLine("Wiek: " + wiek + " Rodzaj: " + rodzaj);
    }
}

class people : animals
{
    private string imie { get; set; }
    private int iq { get; set; }

    public people(int wiek, string rodzaj, string imie, int iq) : base (wiek, rodzaj)
    {
        this.wiek = wiek;
        this.rodzaj = rodzaj;
        this.imie = imie;
        this.iq = iq;
    }

    new public void wyswietl()
    {
        Console.WriteLine("Wiek: " + wiek + " Rodzaj: " + rodzaj + " Imie: " + imie + " IQ: " + iq);
    }
}

class watek
{
    private int czas { get; set; }

    public void threading()
    {
        for (; ; )
        {
            czas++;
            Thread.Sleep(1000);
        }
    }

    public void uptime()
    {
        Console.WriteLine("Uptime programu: " + czas + " sekund.");
    }
}

namespace konsola
{
    class Program
    {

        static void Main(string[] args)
        {
            watek watek = new watek();
            Thread thread = new Thread(watek.threading);
            thread.IsBackground = true;
            thread.Start();

            List<animals> animal = new List<animals>();
            List<people> person = new List<people>();
            int menu = -1;
            int wiek, iq;
            string rodzaj, imie;

            do
            {
                Console.Clear();
                Console.WriteLine("[1] Dodaj zwierzę" + " (" + animal.Count + ")");
                Console.WriteLine("[2] Dodaj człowieka" + " (" + person.Count + ")");
                Console.WriteLine("[3] Wyświetl wszystko");
                Console.WriteLine("[4] Uptime");
                Console.WriteLine();
                Console.WriteLine("[0] Zakończ\n");
                try
                {
                    Console.Write("Podaj liczbę: ");
                    menu = int.Parse(Console.ReadLine());
                }
                catch(Exception)
                {
                    Console.WriteLine("Nie podałeś liczby. Spróbuj ponownie.\n");
                    Console.ReadKey();
                    continue;
                }
                switch (menu)
                {
                    case 1:
                        Console.Clear();
                        Console.Write("Podaj wiek: ");
                        wiek = int.Parse(Console.ReadLine());
                        Console.Write("Podaj rodzaj: ");
                        rodzaj = Console.ReadLine().ToString();
                        animal.Add(new animals(wiek, rodzaj));
                        break;
                    case 2:
                        Console.Clear();
                        Console.Write("Podaj wiek: ");
                        wiek = int.Parse(Console.ReadLine());
                        Console.Write("Podaj rodzaj: ");
                        rodzaj = Console.ReadLine().ToString();
                        Console.Write("Podaj imie: ");
                        imie = Console.ReadLine().ToString();
                        Console.Write("Podaj IQ: ");
                        iq = int.Parse(Console.ReadLine());
                        person.Add(new people(wiek, rodzaj, imie, iq));
                        break;
                    case 3:
                        Console.Clear();
                        foreach (animals x in animal)
                            x.wyswietl();
                        foreach (people x in person)
                            x.wyswietl();
                        Console.ReadKey();
                        break;
                    case 4:
                        Console.Clear();
                        watek.uptime();
                        Console.ReadKey();
                        break;
                    case 0:
                        Console.Clear();
                        Console.WriteLine("Koniec programu");
                        break;
                    default:
                        Console.WriteLine("Nie podałeś liczby z zakresu 0-3. Spróbuj ponownie.\n");
                        Console.ReadKey();
                        break;
                }
            } while (menu != 0);
        }
    }
}
1
  1. Animal to jedno zwierze, animals to wiele zwierząt. Mam wrażenie że o tym nie wiesz nadając nazwy...
  2. Tak samo jeśli chodzi o person i people. List<person> to jest people, nie odwrotnie.
  3. Copy paste aż szczypie w oczy. Jak już dziedziczysz to z tego korzystaj a nie kopiuj kod z klasy bazowej... Wyobraź sobie że piszesz teraz 100 klas pochodnych od Animal. Czy nadal zrobiłbyś to w ten sam sposób? Czy ten case by tak samo wyglądał?
0
class people : animals
{
    private string imie { get; set; }
    private int iq { get; set; }
 
    public people(int wiek, string rodzaj, string imie, int iq) : base (wiek, rodzaj)
    {
        this.imie = imie;
        this.iq = iq;
    }
 
    new public void wyswietl()
    {
        Console.WriteLine("Wiek: " + wiek + " Rodzaj: " + rodzaj + " Imie: " + imie + " IQ: " + iq);
    }
}

???

1

Prawie bo nazwy nadal są złe a wyswietl() jest w połowie skopiowane. Wyobraź sobie teraz, że masz takich klas 100 i jednak chcesz "wiek" i "rodzaj" w wyswietl() wypisać z małej litery a nie z dużej. Widzisz mały problem? Widzisz że musiałbyś to zmienić w 100 miejscach? Nie da sie lepiej?

0
new public void wyswietl()
    {
        base.wyswietl();
        Console.WriteLine(" Imie: " + imie + " IQ: " + iq);
    }
0
using System;
using System.Collections.Generic;
using System.Threading;

class animal
{
    protected int wiek { get; set; }
    protected string rodzaj { get; set; }

    public animal(int wiek, string rodzaj)
    {
        this.wiek = wiek;
        this.rodzaj = rodzaj;
    }

    public virtual string view()
    {
        return "Wiek: " + wiek + " Rodzaj: " + rodzaj;
    }
}

class person : animal
{
    private string imie { get; set; }
    private int iq { get; set; }

    public person(int wiek, string rodzaj, string imie, int iq) : base (wiek, rodzaj)
    {
        this.imie = imie;
        this.iq = iq;
    }

    public override string view()
    {
        return base.view() + " Imie: " + imie + " IQ: " + iq;
    }
}

class watek
{
    private int time { get; set; }

    public void threading()
    {
        for (; ; )
        {
            time++;
            Thread.Sleep(1000);
        }
    }

    public string uptime()
    {
        return "Uptime programu: " + time + " sekund.";
    }
}

namespace konsola
{
    class Program
    {
        int wiek, iq;
        string rodzaj, imie;

        public void wiek_rodzaj()
        {
            Console.Write("Podaj wiek: ");
            wiek = int.Parse(Console.ReadLine());
            Console.Write("Podaj rodzaj: ");
            rodzaj = Console.ReadLine().ToString();
        }

        public void imie_iq()
        {
            Console.Write("Podaj imie: ");
            imie = Console.ReadLine().ToString();
            Console.Write("Podaj IQ: ");
            iq = int.Parse(Console.ReadLine());
        }

        static void Main(string[] args)
        {
            Program program = new Program();

            watek watek = new watek();
            Thread thread = new Thread(watek.threading);
            thread.IsBackground = true;
            thread.Start();

            List<animal> animals = new List<animal>();
            List<person> people = new List<person>();
            int menu = -1;

            do
            {
                Console.Clear();
                Console.WriteLine("[1] Dodaj zwierzę" + " (" + animals.Count + ")");
                Console.WriteLine("[2] Dodaj człowieka" + " (" + people.Count + ")");
                Console.WriteLine("[3] Wyświetl wszystko");
                Console.WriteLine("[4] Uptime");
                Console.WriteLine();
                Console.WriteLine("[0] Zakończ\n");
                try
                {
                    Console.Write("Podaj liczbę: ");
                    menu = int.Parse(Console.ReadLine());
                }
                catch(Exception)
                {
                    Console.WriteLine("Nie podałeś liczby. Spróbuj ponownie.\n");
                    Console.ReadKey();
                    continue;
                }
                switch (menu)
                {
                    case 1:
                        Console.Clear();
                        program.wiek_rodzaj();
                        animals.Add(new animal(program.wiek, program.rodzaj));
                        break;
                    case 2:
                        Console.Clear();
                        program.wiek_rodzaj();
                        program.imie_iq();
                        people.Add(new person(program.wiek, program.rodzaj, program.imie, program.iq));
                        break;
                    case 3:
                        Console.Clear();
                        foreach (animal x in animals)
                            Console.WriteLine(x.view());
                        foreach (person x in people)
                            Console.WriteLine(x.view());
                        Console.ReadKey();
                        break;
                    case 4:
                        Console.Clear();
                        Console.WriteLine(watek.uptime());
                        Console.ReadKey();
                        break;
                    case 0:
                        Console.Clear();
                        Console.WriteLine("Koniec programu");
                        break;
                    default:
                        Console.WriteLine("Nie podałeś liczby z zakresu 0-3. Spróbuj ponownie.\n");
                        Console.ReadKey();
                        break;
                }
            } while (menu != 0);
        }
    }
}

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