Научаването на един или няколко езика за програмиране не е напълно достатъчно за един съвременен програмист да се нарече такъв. Покрай работата с езика, програмистът трябва да умее да работи достатъчно добре и с още няколко инструмента. Тук ще се опитам да изредя няколко инструмента, които използвам аз и колегите ми, при ежедневната ни работа в eCommera.
1. Subversion/SVN
Въпреки че списъка не е подреден по приоритет, ако беше, то SVN със сигурност щеше да е на първо място. Абсолютно незаменим софтуер. Дали ще е SVN/CVS или популярния вече Git, създаването на версии на кода е задължително. Не само работата на един човек се улеснява, но екипна работа е невъзможна без него.
2. JIRA + GreenHopper + FIshEye
Софтуер, който обединява в себе си система за управление на проекти и тракер на бъгове/проблеми. Приляга перфектно на Agile development процеса. Има интеграция с SVN, така че да се знае всяка задача с какъв код е изпълнена. Дори не техническо лице може да разбере как е протекло изпълнението на задачата – от създаването й, през коментарите от страна на всички участници, до изпращането на кода и тестването й.
3. Eclipse
Обичан от едни, мразен от други, но Eclipse си остава основно IDE за много езици. Въпреки че за него има може би най-много алтернативи от останалите инструменти в този списък, в случая на eCommera, Eclipse е единственото решение. Аз бях от хората, които го … е, мрезеха е силна дума, но гледаха да не го използват. И наистина не ми се налагаше. Не бих казал, че помага много в писането на JavaScript/CSS, нито за вътрешния език на фирмата, но и не е голяма болка за умиране. Винаги може по-добре 🙂
4. Skype
Кой не е чувал за Skype? Това е Gangnam style-а на софтуерите за комуникация. Може би най-добрата му характеристика е, че позволява разговори в група и така всички хора от един екип, могат да пишат на едно място и дребни проблеми и размяна на идеи стават бързо и съсредоточено на едно място.
5. Confluence
При работата с голям проект трябва да започнете възможно най-скоро да описвате какви модули са внедрени, какви външни приложения се използват, кога и защо е направен release, какво е включено в него. Много често всички тези описвания и документирания са изнервящи, но след време ще благославяте (дори и да не сте вярващ), че се е постарал да напише дори и два реда, какво прави “шибания метод”.
Може да разглеждате Confluence като SVN за документация. Там също се прави версия след всяко записване на информация, известява останалите че нещо е променено, че някой променя нещо в момента. Може да видите във всеки един момент какво е променно по статията, дали някога е съществувал определен текст и евентуално да разберете защо е премахнат.
6. Microsoft Outlook
В екипна работа постоянно се прехвърлят e-mail-и. Постоянно!. Всеки ден и всеки час! Дали ще е от project manager, дали ще е от solution strategist или team leader или колегата през две бюра – всеки има да напише нещо. В такива ситуации е хубаво да има софтуер, който да ви известява когато пристигне ново писмо. То това го прави всеки мейл клиент, но Outlook предлага допълнителни екстри, като общ календар, категоризиране, филтриране и т.н.т.
7. Microsoft Windows 7
Операционната система е някакси очевиден, но много често пренебрегван “инструмент” при разработката на какъвто и да е софтуер. Тук не става въпрос за коя операционна система се пише, а за удобството, което предоставя средата, в която работиш. Не е никак приятно да се чудиш “абе как се пуска тази програма” или “този бутон защо не работи както в еди коя си ос“. Имал съм възможност да работя и на Ubuntu и на OS X .. по-удобна и добре измислена операционна система като Windows и по-специфично Windows 7 – НЯМА.
8. Adobe Photoshop
Photoshop не е софтуер, който ще се използва от много програмисти или разработчици, но е незаменим, ако сред уменията си имате или искате да имате “html slicing”. За да се научи Photoshop перфектно би отнело месеци работа само с него, но за работата на slicer е необходимо да знаете няколко от по-важните инструменти и клавишни комбинации 🙂
9. FTP/SSH Client
От време на време се налага да се качват по-големи файлове тук и там. Не навсякъде има уеб интерфейси и е полезно да може да работите с FTP клиент. FTP клиент е образно казано и по-скоро събирателно, тъй като по още 10 протокола може да се качват файлове, но Filezillа, примерно, поддържа повечето.