(Първо публикувано на Dec 4, 2022)
Ето някои случайни уроци, които научих в първите няколко месеца от кариерата ми като софтуерен инженер. Тогава си записвах тези уроци активно, защото така ми беше по-лесно да мина през началната фаза, в която всичко е трудно и неизвестно (когато знаеш, че тази фаза ти носи някакви уроци, които те правят по-добър професионалист, е по-лесно да я изтърпиш). 😅
Включени са някои уроци за придобиване на технически знания, развиване на добри навици в работата ти, справяне със задачи/предизвикателства, интервюта, презентации и т.н.
Списъкът:
Винаги можеш да задълбаеш още повече в различните технологии и техните тънкости (винаги има нещо ново, дори и да е малко, което можеш да научиш или да разбереш по-добре).
Това да имаш задача/проект, по който работиш, е незаменим инструмент за учене (особено за технически неща в софтуерното инженерство).
Трябва да се научиш да управляваш времето си на работа ефективно, за да постигнеш максимална продуктивност (аз използвам Pomodoro техниката).
Обръщай внимание на малките неща (спазвай конвенции и добри практики за код, commits, pull requests, Jira задачи и т.н.)
Не се страхувай да потърсиш помощ (спестява време)! Моето правило: ако съм вложил усилия за известно време и не мога да се справя с някоя задача, търся помощ, без значение какъв е проблемът.
Документирай свършената си работа (за по-добри estimates в бъдеще и за по-голяма увереност в работата ти)!
Разбивай големите задачи на по-малки задачи (и не само в Jira), за да е по-лесна работата ти и да отлагаш по-малко!
По-добре е да ОБЕЩАЕШ МАЛКО и след това да НАДХВЪРЛИШ очакванията, отколкото да обещаеш много и накрая нищо да не е свършено. Така има по-малко напрежение върху теб и свършената работа е по-качествена.
Опитът е най-важното! ТРЯБВА да допуснеш грешки СЕГА, за да може да направиш нещата както трябва ПО-КЪСНО (приложимо за точност в estimates, писане на код и др.)
Техническите интервюта са нещо ПОЛЕЗНО за теб! Вместо да имаш манталитета “Сега трябва да се докажа на интервюиращия!”, пробвай “Просто ще споделя знанията, които имам, и ще разбера какво все още не знам, за да го науча след интервюто!”
Напълно ОК е да не знаеш нещо по време на интервю! ВСЕКИ забравя неща и НИКОЙ не знае всичко (дори опитни инженери). Не означава, че си ужасен програмист и трябва да се откажеш.
Просто запиши пропуските, които си имал по време на интервюто, и РАБОТИ върху тях след това. С времето информацията ще се запамети в главата ти (от цялото това повторение и затвърждаване на теорията, от работа по проекти и т.н.)
Техническите демонстрации/презентации всъщност ти помагат много да развиеш добри soft skills (научаваш се да изразяваш идеите си по интересен/разбираем начин, да влияеш на хората, да намираш технически решения в реално време, когато нещо в демонстрацията леко се обърка 😅).
Фокусирай се върху това, което е интересно на ПУБЛИКАТА ти (когато хората чуят/видят нещо, което възприемат като полезно за техния собствен живот, обръщат повече внимание на казаното от теб и те възприемат по-положително).
Направи презентациите си забавни са слушане (ако съдържанието е представено по скучен начин, хората най-често няма да вземат присърце това, което им споделяш).
Тествай всичко и се подготви обстойно преди презентацията (подготви кода, средата си), за да избегнеш случаи, в които нещо се счупва по средата на презентацията, екранът не се вижда поради някаква причина и т.н.
Проблем: “Отнема ми много време изцяло да завърша някоя задача, дори да е малка!”
Решение:
- Подходи с очакването, че завършването на всяка задача ще отнеме повече време, отколкото предполагаш преди започване на работата по нея.
- Имай предвид и факта, че не всичко зависи от теб (например ревютата на PR-ите ти, проблеми с интернета/тока/външни системи и т.н.)
- Знай, че има голям шанс по някое време да срещнеш проблеми, които ще те блокират или забавят значително (например някакъв странен неразрешим бъг, оправяне на проблеми по PR-ите ти)
- Накрая планирай като имаш тези неща на ум и просто направи най-доброто, което можеш.Проблем: “Някакъв неочакван бъг ме спира от това да продължа напред и не знам как да се справя!”
Решение:
- Питай някой за помощ (ментор и/или Google 😁) и се опитайте да разрешите проблема заедно.
- Ако не стане, отбележи някъде, че този бъг/проблем съществува и продължи напред с нещо друго за момента.Проблем “Има много неща, които все още не знам (как работи X технология, какво е Y идея в програмирането и как да я приложа)!”
Решение:
- Проучвай и се учи всеки ден (бавно и стъпка по стъпка). Не само когато ТРЯБВА да го направиш (защото задачата ти го изисква), а буквално през цялото време като хоби (за да поддържаш уменията си и да растеш).
- С времето (чрез повторение и трупане на опит) всичко ще започне да придобива смисъл в главата ти (трябва да имаш вяра в процеса).Проблем: “Трудно е да работиш, когато зависиш от работата на други хора и/или от тяхната оценка!”
Решение:
- Постоянно работи върху социалните си умения (точно както работиш и върху техническите си умения).
- С времето ще станеш по-добър в това да комуникираш идеите си ефективно (и така по-лесно ще получиш това, което искаш от другите).
- След време този проблем няма да те дразни чак толкова и всъщност ще е ПО-ДОБРЕ, че има някой, който да те подкрепя и да ти дава обратна връзка, за да можеш да растеш.
Top comments (0)