9 съвета за начинаещи програмисти

Manager News

Ивайло Кенов е програмист с дългогодишен опит както с разнообразни програмни езици, така и като технологичен трейнър и преподавател. Към днешна дата е Chief Technical Officer в Софтуерния Университет, където работи върху управление на студентските системи. Ивайло сумарно има над 1500 часа преподавателско време и е водил лекции на над 2500 студенти - както начинаещи, така и напреднали – по различни C# и JavaScript технологии. Създател е на open-source библиотеки за ASP.NET, които са събрали над 1000 звезди в GitHub и повече от 2 милиона тегления по цял свят. Проектът му бива споменаван неколкократно в официалните страници, блогове и подкасти на Microsoft.

В следващите редове той ще ни представи 9 от най-важните съвета за начинаещи програмисти, в помощ на всички, които тепърва навлизат в сферата на софтуерното инженерство:

Намерете добър ментор

Важно е за всеки програмист, от самото начало на неговата кариера, да има човек, на когото може да разчита и от когото може да се учи. В програмирането винаги има области, които човек не познава добре. Каквото и да прави, във всеки един момент има какво още да научи, така че намирането на добър ментор, който да помага и да дава съвети, е ключово за успеха, особено на начинаещите програмисти.

Не спирайте когато кодът работи – започнете тогава

Истината е, че работещият код невинаги означава добре написан код. Всички проекти стандартно се пишат от много хора, не сме сами, пък и дори да сме сами - шансът след няколко месеца да разпознаем какво сме писали е минимален, ако не сме се постарали. В момента, в който кодът е готов, е хубаво да се върнем и да прегледаме дали всичко се чете и разбира добре, за да можем лесно да работим с останалите екипи и да улесним и собствената си работа. Именно затова работата не приключва с написването на кода, напротив – започва тогава.

Учете похвати, а не инструменти

Често ми прави впечатление, че хората много задълбават в изучаването на неща, които са свързани с инструментите, които използват - програмните езици също са инструменти. Много е важно да знаем абстрактно как работят нещата, как се програмира чисто концептуално, как се създава софтуер (т.е. софтуерно инженерство), защото иначе учим и задълбаваме само в езиците, но не и как работят и какво стои зад тях. Така всъщност, метафорично казано, ние създаваме къща, без да имаме основи, без да имаме добри фундаменти. Не е от значение какви езици точно знаем, ако не разбираме похватите, защото на следващия инструмент те могат да бъдат много сходни и при добра подготовка да си спестим огромно количество работа.

Не се страхувайте да „чупите“ и да правите грешки

Много програмисти се притесняват да не счупят нещо, да не развалят системата, да не изтрият нещо погрешка. Само че това не е толкова голям проблем, защото човек научава най-много точно когато „чупи неща“ и се сблъсква с трудности.  

Затова и аз, когато водя лекции, обичам малките непредвидени „счупвания“ - именно в тези моменти хората се научават как да мислят в посока разрешаване на проблема. Програмистите не трябва да се страхуват от грешките – никой няма да ги накаже, защото те са напълно нормална част от процеса на израстване, независимо в какъв етап от своето развитие сте в момента. Притеснително е единствено когато грешките се повтарят непрекъснато или когато поемем голям проект, а не сме подготвени за евентуалните бъгове, които могат да възникнат.

Подобрение на комуникационните умения

Най-лесно е да си работим сами вкъщи, по чехли, без никой да ни притеснява. Обаче един проект не може да бъде написан от един човек, ако има някаква сериозна бизнес стойност. Сериозните проекти имат цели екипи, всеки член от които поема определена част от работата. Именно затова е от ключово значение възможността да комуникираме добре с екипа и хората, с които работим. Виждал съм програмисти-гении, които дърпат екипа назад, само защото не могат да комуникират правилно с останалите. Може би това различава професионалистът от успешния професионалист.

Запознаване с минимум 2 езика в дълбочина и добра представа за поне още няколко

Добра идея е да можем да работим с повече от един езици. Това идва в помощ за познанията ни върху похватите, за които вече говорихме. Колкото повече езици знаем, с толкова повече похвати можем да боравим. При изучаването на повече и повече технологии, разпознаваме, че нещата си приличат и за много по-кратко време успяваме да изучим нова технология. Необходимо е да познаваме минимум два езика в дълбочина, за да сме запознати с възможно най-много технологични решения и решения на разнообразни проблеми.

Включвайте се към опън сорс проекти или създавайте такива сами

С опън сорс проектите не само помагате на обществото, предоставяйки източник, от който останалите могат да се учат и да използват в работата си, за да си помогнат, но и вие се учите да се стараете да правите вашия програмен код максимално качествено. Опън сорс проектът може да бъде видян от много хора, затова е необходимо да следваме добрите практики и да се стараем той да бъде четим. Ако се включим в подобен проект, това ни дава плюсове и пред бъдещи работодатели, защото развиваме множество важни умения.

Другото е че в процеса на работа имате възможност да комуникирате с хора на много високи позиции и да изграждате изключително ценни контакти. Виждал съм как различни програмисти се превръщат в част от екипите на топ компании, именно благодарение на работата им по подобни проекти. Хората, работещи по тях, са ангажирани и си помагат един на друг, дават ценна обратна връзка и съвети, така че това е изключителен обучителен процес за всички.

Вземайте code ревютата сериозно

Обикновено програмистите много обичат кода си и се влюбват в него, харесват си го такъв, какъвто е. Често не приемат критиката добре и трудно виждат сами грешките си или местата, на които нещата могат да бъдат подобрени. Code ревютата обаче са ключови за изграждането на максимално най-качествен код. Невинаги виждането ни за кода е правилно. Когато някой по-опитен developer дава съвет, е добре да се вслушаме в него. Дори да възникне спор – стига да подхождате с уважение, можете дори в този процес да научите много. Важното е да не се карате или обиждате от критиката и обратната връзка, които получавате.

Научете повече за бизнес страната на проекта ви

Последно, но не и по важност – добра идея е да имате ясна представа за продукта, който създавате – защо го създавате, как компанията функционира и работи върху него. Програмистите често обичат да влизат в собствената си рамка и да гледат на нещата само от гледна точка на своя код. Само че, познавайки идеите зад този проект и бизнес, можем да сме много по-полезни, да не се изнервяме от „новия странен feature”, който изискват от нас да бъде направен. Хубаво е да не забравяме защо правим дадения продукт и за какви цели ще служи.

Коментари

НАЙ-НОВО

|

НАЙ-ЧЕТЕНИ

|

НАЙ-КОМЕНТИРАНИ