1. Ще започна с важни неща, които може да не са ти точно върпоса, но като настоящ софтуерен инженер, преминал през почти същото, имал същите върпоси като теб, считам че е важно.
Първо - учиш програмиране със C , а не само C . Казвам го, защото е важно. Вероянто ще минеш през поне 3-4 други езика и то в рамките на 5-6 години. Целта сега е, да станеш на ти с програмирането, а не просто да научиш един език или някоя модерна библиотека. Много е лесно, да научиш нещо сравнително елементарно, да попаднеш на добре платена работа и да спре да се развиваш, мислейки си, че си ударил джакпота, за да разбереш след година, че точно това супер специализирано умение, вече не се търси, а ти не можеш, да се прехвърлиш на нов език или нови библиотеки, защото просот не си толкова добър програмист.
Съветвам те, да си знаеш добре структурите (типовете) данни и да наблягаш много яко над алгоритмите. Това са ти базовите умения, които ще изпозваш винаги. НАБЛЕГНИ СЕРИОЗНО! Това е най-важното. Не са ли тренирани добре, след време ще страдаш и ще трябва да се връщаш към това. После поработи над няколко лични проекта или допринасяй за по-големи такива. След това, ще трябва да си намериш стаж. Ако имаш добри проекти, ако ти е адекватно написано CV-то, ще те поканят на интервю. Ако имаш 2-3 проекта, да им покажеш, може д ате питат въпроси над тях, от рода на "защо ползваш масив тук? ", "Какво те накара, да използваш рекурсия, за да решиш този проблем", "Би ли ползваш hashtable и защо" и подобни. Може да ти покажат 10 линии код и да те питат "какъв ще видя на конзолата когато се изпълни този код", "къде ще се провали" и "как би го поправил". И последното е, че може да те питат за дадения език "Как се предават аргументите - по стойност или по референция".
И общо взето ще е това. Ако можеш да тговориш на тези, повечето места ще те вземат директно за стажант. Също така - гледай да си спретнат и усмихнат на интервюто. Ще караш от 3 до 6 месеца без или с много ниско заплащане, но ще доразвиеш уменията си и ще придобиеш нови такива.
И едва тогава, може спокойно да говорим за работа, било то в България или в други страни от Европа, където ще се надяваш на стартова заплата.
Първо - ако искаш работа в чужбина, ще ти трябва местния език. Ако местният език е говорен от прекалено малко хора в света (примерно нидерландски и датски), то имаш късмета, че си в сфера, в която има глад на специалисти - ще се разминеш само с английски. НО - ще трябва да говориш езика на много добро ниво и акцента ти да е срвнително умерен. Казвам ти го от личен опит. Ако си в страна, в която немски или френски са официални езици - няма да ти се размине. Ще трябва да ги знаеш, освен ако не си МНОГО добър в дадена област, но ти си на поне 5 години от такова нещо.
Не знам, дали в Германия е 40 000 евро началната заплата, но определено няма да останеш с "реално нето 2000" (предполагам, че си искал да кажеш 20 000 евро). По-скоро ще са около 29 500 евро, което е масивна разлика. За сравнение - с 40 000 лева в България, ще останеш 31 500 лева. Само че съм сигурен, че 3333 лева на месец, е поне 2 пъти над началната заплата за един програмист в България. Колкото до тази в Германия - говориш за ниво "младши", трябва да си наясно, че може да си считан за такъв поне 3-4 години, и че това, което виждаш е заплтата на хората с 2-3 години опит. Много вероятно е, пое първите 6-12 месеца, да започнеш на 32-3000 евро, като постоенно да има повишения. Така че не си прави плана, че скачаш в германия и ХОП - 3333 евро на месец от първия ден.
Най-високи са заплатите в Люксембург и Дания, но разходите също са огромни. Ако искаш да взимаш маскимално много пари - то Сан Франциско - ставай разработчик във Facebook и Goolge или яко се натиска по обещаващи стартъпи. Ама си е бая стрес. А и ще ти трябва бакалавър, просто защото няма да мине номера с работническата виза, ако нямаш "вишу", поне доколкто аз съм запознат.
Иначе - не, не е задължително да си учил в Германия, за да работиш там. Не езадължително, да си учил и в България. Но ако имаш образование в Германия, или дори си първа-втора година студент, нещата ще са много по-лесни за теб.
И последно - ако си на ти само с езика, а не можеш да работиш с определени билбиотеки, да позлваш модели, да разработваш специфичен вид софтуер, ще си забил винаги на базовото ниво. Другото е - е мжоеш да се надяваш на продължителна кариера, ако си само програмист. Всяка голяма компания се надява, да станеш "софтуерен архитект", след време. акто виждаш, заплатите се вдигат постоянно, но никой няма да те държи 5-6 години, с висока заплата, при положение, че може да наеме някой на 19, за 1/3 от заплатата ти, който след 6 месеца, ще е на твоето ниво, защото си стагнирал. А ако мислиш, да забиеш на една и съща заплата завинаги, HR (тяхната кожа... шегувам се, де... ) просто ще те разкара, защото от подобни служители, компаниите си патят най-много.
И последен съвет - не ставай роб на корпоративната им култура. Третрат те като първолак - безплатна храна, "гурме" кафе, душ в офса, конзоли за игра, сущи барове, йога класове - всичко е просто, да те направят зависим на психологичеко ниво, така че, като кажат - ще бакаме с по 25 часа отгоре тая седмица, всички ще кажат "Да" и ще се радват. За компаниите, ти не си човек, ти си просто инструмент. Това, че те "умилкват" е просто, за да извлекат максимална полза от теб. Трябва, да се отнасяш по-същия начин, особено ако си в масивна компания, къде си служител 68 211, защото сте толкова масивна компания. Винаги се оглеждай за нова работа. Никога не знаеш, кога ще ти се обадят, да ти кажат, че си съкратен, че са ти изпратели личните неща по пощата, че са ти изтрили всички акаунти и да ти напомнят, че по договор, през следващите 6 месеца не трябва да работиш за конкуренти (което включва почти всяка софтуерна компания) - поне ако си в Европа, плащат дълго време обезщетения, ама ще си седиш у вас 6 месеца, което, особен ако няма корона карантина е много гадно.
Това е! Дано съм ти помогнал!
|