Android Programjaim

Android fejlesztes, java, kotlin, web.. miegymas:)

Mennyiért fejleszt egy egyéni vállalkozó alkalmazást itthon?

2018. augusztus 29. 17:33 - lacas82

Folytatom a kis blogom és kalandozásaimat a magyar piac valóságáról.

Mennyiért fejleszt egy egyéni vállalkozó alkalmazást itthon?

Ez persze sok dologtól függ. Mióta van a pályán, mennyire tapasztalt, mennyire jól ismer egy bizonyos nyelvet, OS-t, rendszert.. Én úgy általában a mostani piacról indulok ki, a magyarról.

Általánosságban tudom, hogy mennyi egy medior és egy senior órabére nálunk EV-ben, sok emberkét ismerek itthon, sok developert.

Mostanság itthon egy medior fejlesztő (pl web vagy mobil) olyan 3-4 évvel a háta mögött kér el 2-4 ezer FT-ot óradíjban. Egy seniornál már a helyzet más: jobb esetben ő már 5-10 évvel vagy még több tapasztalattal rendelkezik, így átlagban ők már 5-8+ ezer HUF per órával számolhatnak.

Persze mindig vannak vicces dolgok. Itthon sokszor húzzák a szájukat már a 7+ ezer FT-ra órabérben. Sokan sírva fakadnak ettől, még nagyobbnak mondott cégek is...

Ezzel szemben az átlagos órabér azért olyan 6K körül van. Megesik azért a 7K is nálam. Kis cégek jellemzően az 5K-t se akarják megadni, megy a pöcsölés ezerrel. (Ezt már egy angliai takarító haverom is megadta kb 2-3 éve, itt tart ma Magyarország)

Mit tehetsz, hogy ne kelljen 1000 ft-okon már komolyan vergődni másokkal, szenvedni? 

Ne vállalj el több magyar projectet, majd szenvedjenek ők vele. Vagy közvetlen vállalj el projectet, ne egy másik vállakozástól / cégtől, ennek semmi értelme már, úgy látom itthon. Amúgy is általában úgy látom, hogy a legtöbb itthoni cég azért adja ki a projectjeit külsősnek, mert megy a lehúzás sajnos. Átlagban úgyis a szerződésben semmi konkrétum nincs benne, és addig szívják a véredet, ameddig csak tehetik. Így lesz egy 2 hónapos projectből 2.5 hónap, stb...

Viszont egy egyéni vállalkozót még ígyis érdemesebb megfizetni, mint egy normális céget, mert azok sok esetben többet kérnek el. Ha egy EV egy emberrel átlagban 6 ezer HUF óráért dolgozik, gondolj bele mennyiért dolgozik egy rendes csapatos cég. Megmondom: 10-16+ ezer FT óráért.

Azaz egy átlagos egyhavi projectdíj pl egy mobil fejlesztőnél EV-nél kb 1 millió HUF, míg már egy cégnél 2-2.5 millió FT!!!

 

1.8 milliós fizetéssel is vadászni kell az informatikusokra, kismamák enyhítik az égető programozóhiányt :)

2018. augusztus 22. 17:17 - lacas82

Ok, ez a poszt már rendesen érlelődött bennem egy ideje, szerintem sok szakértőt igen zavar, hogy mekkora hülyeségeket és valótlanságokat ír a média a szoftverfejlesztőkről és az ő fizetésükről.

Először is pár kamu cikk a témában:

https://www.portfolio.hu/vallalatok/it/18-millios-fizetessel-is-vadaszni-kell-az-informatikusokat-kemeny-lepesekre-keszul-a-kormany.275925.html

Legújabb index cikk:

https://index.hu/gazdasag/2018/08/23/egyre_tobb_fiatal_szulo_kepzi_at_magat_programozova/

FACEBOOK REAKCIÓK:

https://www.facebook.com/groups/1456471327977983/permalink/1965186097106501

PROG.HU REAKCIÓK:

https://prog.hu/tarsalgo/201354/1-8-millios-fizetessel-is-vadaszni-kell-az-informatikusokat

Nézzünk engem, én kb 12 éves korom óta programozok és azóta pár nyelvet már elsajátitottam. Pénzt keresni a témakörben kb 19 évesen kezdtem el, mikor is webfejlesztőnek álltam egy saját céghez.

Most vagyok 36 éves, tehát 17-20 évet már eljátszogattam ezzel minimum. Na most a cikk érdekes dolgokat állít. Erősen túloz és a programozó fizetéseket a legmagasabb kategóriából veszi általánosnak. Megsúgom, hogy a legtöbb senior se keres ennyit manapság Budapesten. Nyugatabbra talán igen, bruttóban...:)

Nézzük meg mik azok a bérek, amikre ÉN rálátok seniorként. Egy junior fizuja nettóban olyan 150-250 (1-2 evvel, nem feltétlen csak Pesten, mert másból is áll a világ, és nem csak multikból..). Direkt nettót írok, a bruttó senkit sem érdekel (nem is értem miért keresnek meg mindig HR-esek azzal linkedinen /de értem, csak engem nem érdekel/), a cikkek meg általában nem szokták kiemelni, hogy az a bizonyos pénz nettó vagy bruttó.

Hiszen nem is az a lényegük. A lényegük az, hogy minél több embert bevonzzanak, hiszen ezek fizetett hirdetések és szegény nyomorult munkáltatók már nem tudnak mit összevissza hazudozni, hogy NE KELLJEN a programozóknak reális bért adni. Ezért mit tesznek? Befektetnek ezekbe a pár hónapos iskolákba, meg egy csomó álhírt / reklámot jelenítenek meg különböző hirdetésekben. Azt várják, hogy így majd anyagilag jobban kijönnek, hiszen kitanítanak pár embert néhány hónap alatt, akiket évekig kis béren tudnak tartani. Én úgy gondolom, hogy ez egy nem normális hozzáállás. Nincs munkaerőhiány ugyanis, olyan munkaerőhiány van, ami OLCSÓ!!!!

És amelyik cég nem tudja megfizetni az átlagos / drágább munkaerőt, az a cég szerintem nem életképes. Vagyis nem sok joga van ahhoz, hogy az egész szakmát lehúzza és beledöngölje a földbe. Ha neki nem megy, süllyedjen el egyedül a mocsárban...

No de hol is tartottunk, ezek a pár hónapos képzéses iskolák juniornak nevezik valamiért azokat a srácokat, akik kikerülnek onnan. Na most ezt az egészet én lehúzásnak tartom, mind az iskolák oldaláról, mind a cégek oldaláról, akik ezt támogatni merészelik. Hiszen nyilván az iskolák jól megélnek ezekből a diákokból, nagyon is jól. És akkor beszéljünk a hallgatókról, akik jobb esetben elvégzik ezt a sulit, és azokról akik TÉNYLEGESEN munkát találnak majd.

Én voltam anno 2 éves képzésen és ez volt az arány: 31 emberből 6 végezte el. Volt aki szakdogának egy sakkot irt, én pl egy pool biliárd játékot / majd snookert, megint mások pedig leloptak az internetről egy ötödölőt.
Így jött ki az a 6 fő:) Szóval én el tudom képzelni mennyi az az ember, aki ténylegesen végez és munkát is talál.

Ez a diák oldali dolog. De beszéljünk kicsit a céges oldalról is, hiszen ez nekik is marha jó több szempontból:
- nem akarnak sokat fizetni
- olcsó rabszolgát keresnek hosszú időre
- leverik a piac árait, egyre nehezebb lesz mindenkinek megélni belőle
- a tényleg jó programozok arra kényszerülnek, hogy külföldön keressenek lehetőséget, az ő életüket is tönkre téve
- ténylegesen munkaerőhiány lesz, mivel elhúz minden jobb képességű ember, vagy már itthon semmit se vállal el annyi pénzért

Átlagos medior fizu amúgy 300-400 nettó körül van (medior pl egy developer 3-4 évvel, és azért ennyit írok, mert nem feltétlen mindenki nagy multiknál dolgozik). Míg egy senior itthon bejelentve, napi rabszolgaként 500+ nettó, de ritka esetben éri el a 600-700 nettó tetejét (ez már azért 5-10 év után simán mehet / nem tudok egyet érteni azokkal, akik szerint lehet bárki junior 5-10 év után is, hiszen olyankor már csípőből kell vágnod dolgokat /). Persze nevezhetjük emberünket leadnek / meg mindenféle titulust is aggathatunk rá és mondhatjuk, hogy ő megkeresi az 1.8-at (gondolom bruttót)

Na most a legtöbb jó képességű, szabadságszerető ember az már vagy réges-régen vállalkozik ezek miatt, vagy külföldön tolja 8-ban, illetve ott vállalkozik, mert ebbe beleunt és rájött, hogy egy software fejlesztő több tíz év munkájának gyümölcseként sokkal többet meg tud keresni, mint napi 8-ban benn ülve helyhez kötötten.

És akkor a cikkekhez még egy dolog: egyiken sem lehet kommentelni. Zseniális módon (ördögi kacaj) nem tudsz hozzászólást írni hozzá, ez direkt így lett kitalálva. Ez egy fizetett hirdetés és nem kérünk abból, hogy a programozók véletlen leírják az igazságot.

Nézzünk egy másik cikket:

https://prog.hu/hirek/5077/kismamak-enyhithetik-az-egeto-programozohianyt-magyarorszagon

Már sajnos a címében is nevetséges és sokakat bosszúsággal tölthet el, hogy ezt a szakmát így lealacsonyítják.
Tegyük fel, hogy te egy focista vagy, aki 6 éves korod óta gyakorolsz hosszú órákat naponta. Összegyűlt több tízezer órád kb.:) És jobb esetben, ha kimaxoltad magad, akkor 35 évesen már gondolkozol a nyugdíjon:)
Mindig ezt veszem elő, ha össze kell hasonlítani egy programozót bármi mással. Egy programozó is dolgozhat persze egész életében, de azért sokan már azon gondolkoznak, akik tényleg jók voltak, hogy mit csinálnak ezután.

Szóval kis barátunk focizott/programozott mondjuk 20 évet ás akkor jön egy ilyen nevetséges iskola, aki elhiteti az újoncokkal, hogy pár hónap alatt belőle egy junior lesz. Miért nincs ilyen foci iskola / átképzés?:D Ugye egy focista 2-10 milliót keres havonta, ha úgy gondolom, hogy én márpedig 35 évesen focista akarok lenni, akkor megyek egy ilyen átképző iskolába, ahol junior focistaként megkeresem rögtön fél év után a havi 0.5-1 milliót. Hat nem lenne szuper? Persze nevetségesen hangzik. De valamiért nem gondolják azt, hogy a programozásra vetítve ez nem tűnik nevetségesnek..?

Persze BULLSHIT országban, minden BULLSHIT. Bekapcsolod a híradót és jön belőle a parasztvakítás, bekapcsolod a facebookot és ott is. Az értelmesebbje már legyint, bedobja a leszarom tablettát és már kapcsol is el az adóról, facebookot kilövi.:)

Arról már írtam, hogy ne nevezzük emberünket juniornak 4-5-6 hónap után, mert bizony nem az. Én akkor hívtam magam juniornak, miután valós környezetben fejlesztettem, esetleg egy hobby projectet, mondjuk 1 évig minimum írtam.

Nem vagyok érdekelt abban, hogy bejárós munkatársnak jelentkezzek, így nincs félni valóm a gondolataim miatt. Fel kéne vállalni még több szakmabeli embernek a gondolatait és nyilvánosságra hozni, mert csak így tud fejlődni ez a szakma mind minőségben, mind pedig bérben.

Köszönöm, hogy meghallgattatok:)

UPDATE 2018.08.23 16:10:

Sokak kérésére javítottam az ékezeteket. :)

Kotlin moka

2018. május 24. 09:13 - lacas82

Kicsit regen blogoltam, par eve abbahagytam, de megint nekikezdtem, valahogy jo erzes. Minden fele uj dologrol fogok irni megint, ami tetszik/nem tetszik. Lassunk egy kis kotlint.

Kotlin extensions!

Nezzunk egy peldat ra. Keszitesz egy extensions.kt nevu filet androidon, majd belerakod ezt

fun String.formatDate(): String {
val fromFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH)
val toFormat = SimpleDateFormat("yyyy.MM.dd HH:mm", Locale.US)
val date = fromFormat.parse(this)
return toFormat.format(date).toString()
}

private fun EditText.afterTextChanged(afterTextChanged: (String) -> Unit) {
this.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}
override fun afterTextChanged(editable: Editable?) {
afterTextChanged.invoke(editable.toString())
}
})
}

Ezek utan lesz egy shortcut method-od a String-re, vagy az EditText-re. (Extension)

Logger.E("2018-01-01 11:22:35".formatDate())

return: "2018.01.01 11:22"

 

Hat nem gyonyoru?

Vagy pl az apply, with

fun openNewIntent(c: Context, clazz: Class<*>) {
val intent = Intent(c, clazz).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP }
c.startActivity(intent)

}

with(Akarmi) {

  method1()
  method2()
  akarmi = vmi
}

singleton

object SomeSingleton {
init {
println("init complete")
}
}

lazy

companion object {
val instance: GitHubService by lazy {
val
retrofit = Retrofit.Builder()

.baseUrl("https://api.github.com/")
.build()
retrofit.create(GitHubService::class.java)
}
}


say goodbye to findviewbyid!!!


ugyan erre tobb megoldas is szuletett mar, butterknife, databinding, etc..

de itt van nekunk a kotlinos extension "synthetic" verzio

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

van egy layoutod ugye, amiben van egy textview egy id-vel

    <TextView
        android:id="@+id/welcomeMessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Hello World!"/>
 
MainActivityben egyszeruen meghivjuk:

   welcomeMessage.text = "Hello Kotlin!"

hogy hasznalni tudjuk, egyszeruen importaljuk be:

    import kotlinx.android.synthetic.main.activity_main.*

 
Bovebben:

https://antonioleiva.com/kotlin-android-extensions/

Címkék: kotlin

React Native-rol kis gondolatmenet

2018. május 21. 07:54 - lacas82

Kicsit koran van meg nekem, de azert megprobalok osszeszedett lenni. A react native tapasztalataimrol fogok irni egy kis szosszenetet. Tavaly ev vege fele nem volt mas munkam nativ androidban, igy 3-4 honapra elvallaltam egy react native fejlesztest. Gyakorlatilag 10+ evet webfejlesztettem, es android 8+ ev, valamint meglattam a react native peldakodokat, es pofon egyszerunek tuntek ezek utan. Ossze volt kb gyurva a webes tartalom a nativval, kis JS-el.
Ezek utan par nap alatt boven el lehet sajatitatni a nyelvet, egyedul talan a redux okozott fejtorest egy ideig.

Nagyon negativ leszek a posttal, mert oszinten amilyen konnyu a nyelv, maga a fejlesztes mar siralmas. Azt hiszem atom.io-t vagy vs.code-ot hasznaltam ra. (vs.code-ot hasznalok mostansag a ceges weblapom fejlesztesere, es arra elmegy)

Szoval a vs.code es atom.io-kkal a problemak: rekaftoralas, leginkabb ez hianyzott benne, persze sok apro dolog is van ami nem jarja. Egy android studion nevelkedett coder vagyok, eclipse utan. Eclipse-rol is azert valt az ember, mert keves. Legalabbis keves volt akkoriban. Erre odaraknak eled az AS utan egy ilyen rettenetet, amiben minden korulmenyes, refaktoralni eleg nehez... De igazabol meg ez se problema annyira. Inkabb VS.code, mint atom.io.

Magarol a nyelvrol mar beszeltunk, szinte css + javascript kis nativ elemszerusegekkel fuszerezve. Ezzel nincs bajom.

Akkor jojjon a kovetkezo: maga a build, a parancssorok, a stb.

Mert leginkabb itt valik fajdalomma az egesz tortenet. A Facebook azt szajkozza mekkora kiralysag az egesz es hogy sok nagy appot is ebben fejlesztenek. El nem tudom kepzelni ezt.

Nalam sok kis problema felmerult, amire most emlekszem az az, hogy pl:

- nem frissult a kod emulatoron
- dobta a piros hatteru random hibakat emulatoron
- nem frissult le a kod device-en
- dobta a console-ban a piros betus hibakat
- random hibak jottek elo, de ugy hogy semmit sem valtoztattam, egyik nap ment a build, masnap mar masik hibat irt buildkor...
- vagy pl egy terkepre akartam POI-t rakni (image-t), es egyszeruen nem ment, ezert egy sima kort kellett oda rakni, talan mert mindig kinagyitotta?
- hiaba irsz nekik a githubon, hogy segitsenek, nem megy ez meg amaz, nem nagyon tudjak az okat, vagy: "meg nincs implementalva"
- vagy latod, hogy az emailedre honapok mulva is jon az altalad megnyitott hiba topicra a next developer random hozzaszolasa, hogy neki sem megy, mit tegyen

Szoval ezek vicces/fajdalmas dolgok. Garantalom, hogyha kihivast keresel, es 2 het alatt 2 ev oregedest es osz hajszalat, akkor ezt a cuccot neked talaltak ki.

Jah meg egy olyan is volt, amit mar senki se tudott megoldani:D

- ugye vannak build parancsok react native-al, sajnos ha ezeket nem pont a megfelelo idoben es sorrendben irod be, elhasal az egesz folyamat...

- volt, hogy frissitettunk (alt+enter) a libraryk verziojat, majd jott egy ujabb build ugye, ilyenkor mar androidra nem is buildelt szerencsetlen. Erre senki se tudta a valaszt, miertjet. Egyedul ugyanis en voltam andoridbol/javabol olyan szinten, hogy rajojjek. (ez most nem henceges, de tenyleg, ha itt nem vagy profi androidbol+iosbol+webbol, akkor baszhatod, mert egyedul a budos eletben nem fogsz tudni fejleszteni normalisan ra szerintem)

tehat a hiba az volt, hogy ugye mikor lehuzza a sok kis libraryjat, akkor azok java projectek. es voltak olyan hibak benne, hogy xy projectben mar nem voltak olyan interface-ek, amikre hivatkozott a masik, stb... Na ebbol volt 3-4. Ezt igy kezzel kellett manualisan kicommentelni...

- ez az app pedig egy kulfoldi kis futar app volt, semmi nagy dolog nem volt meg benne...terkepes cucc az egesz kb, rendelesekkel..

Es akkor a megfelelo sorrend build+runra:

cd project
cd android && gradlew clean
cd .. && react-native start
cd project && react-native run-android


Osszegzeskent: Sok kis apro hibaval rendelkezik a react native, amit eddig meg egyertelmuen a fejleszto legyilkolasara talaltak ki. En nem ajanlom senkinek, de ha a kihivasokat szereted, akkor hajra. Nekem meg 18-20 evesen ment ez, de 35 evesen mar nem jo az infarktus kozeli allapot es a magas vernyomas. :D

Talan a Flutter mar orvosolja a crossplatform cuccok hibait, mivel a Google kesziti. Lehet, hogy 2018-ban sikerul letrehozni egy normalis crossplatform cumot, amivel nem lesz szivas fejleszteni? Orulet lenne...

Kotlin Bootcamp es Flutter udacity google videok

2018. május 17. 17:02 - lacas82

Bar kotlinban jo ideje dolgozom, de ezeket erdemes lesz megnezni kesobb. Sajnos most el vagyok havazva, de aki teheti nezzen ra ezekre. A Flutter annyira nekem a Google IO 18 alapjan nem igazan jott be, aztan ki tudja, kesobb lehet megszeretem. Csak mar csunya dolog a szegeny fejlesztot szivatni, hogy lassan hetente tanuljon uj dolgokat :D A minap megneztem par IO18 videot, de ugy 4-5 50 perces video utan feladtam, egyszeruen annyi info volt, hogy szethasadt a fejem:)

Remelem a flutter azert jobb lesz, mint a react native...A kotlint meg siman imadom.

Tehat a linkek:

https://eu.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011

https://eu.udacity.com/course/build-native-mobile-apps-with-flutter--ud905

Címkék: flutter kotlin