Всім привіт! Цим дописом я хочу відкрити цикл статей, присвячених підготовці до нашої інтернатури. Мені неодноразово доводилось спілкуватися з різними кандидатами, які в силу тих чи інших причин недооцінювали важливість базових вмінь, що ми очікуємо при прийомі до інтернатури, або не достатню наполегливо підходили до їх освоєння.
Сьогодні ми з вами розглянемо основні вимоги до кандидатів на інтернатуру а також чому вони важливі. В подальших статтях ми детальніше зупинимось на кожній з них та розглянемо шляхи їх ефективного засвоєння. Тож почнімо! 🙂
Основи програмування на Java
Java зарекомендувала себе як чудовий варіант для вивчення основ програмування. Вона не тільки дає правильне розуміння типів даних та структур даних, а ще й наглядно демонструє залежності між класами та принципи побудови архітектури додатку. Окрім цього, це одна з найбільш розповсюджених та популярних мов програмування у світі :).
Алгоритмічний підхід до рішення задач
Так, зараз ми маємо багато різних бібліотек та фреймворків. Але це є лише інструмент для вирішення задач бізнесу, які інколи можуть передбачати розробку простих алгоритмів, специфічних для потреб замовника. До того ж, робота над алгоритмами дає необхідну практику з декомпозиції та аналізу, що дозволить не тільки більш ефективно працювати з вимогами, але й прослідковувати логіку роботи існуючих систем та фреймворків з метою локалізації та виправлення дефектів у коді проекту. Нам властиво забувати з часом як працюють ті чи інші модулі системи, тому такий аналіз може врятувати в складних ситуаціях.
ООП
Великі системи складаються з модулів. Модулі містять в собі класи. А ті в свою чергу мають бути правильно спроектовані. Клас – це мінімальна одиниця побудови архітектури додатку. Створіть з десяток погано спроектованих класів – і от у вас вже виникають складності поєднати їх разом.
Правильне розуміння принципів ООП і є той перший крок, необхідний для проектування систем, придатних для супроводу та розширення.
Англійська мова
В першу чергу вам варто вміти читати та розуміти технічну документацію та книжки. І просто читати запитання на stackoverflow недостатньо. Починайте працювати з більш складною та серйозною літературою – читати книжки на технічну тематику англійською. Це не тільки допоможе розширювати ваш словниковий запас та зменшувати кількість часу на подальше вивчення подібних текстів, а й дасть необхідні фундаментальні знання, які не завжди можливо знайти в статтях.
Окрім цього, вже зараз варто готувати себе до спілкування з замовниками. Це значно збільшить ваші шанси отримувати цікаві завдання, обговорювати вимоги та брати участь в прийнятті рішень. Ваше вміння спілкуватися з замовником зробить вас більш корисними та цінними співробітниками, оскільки ви будете витрачати менше часу тімліда або керівника проекту на аналіз та пояснення вимог до вашого завдання. Адже куди краще бути рішенням проблеми, а не створювати її.
RDBMS/SQL
Робота з базами даних не дарма входить в курс лекцій з програмування будь якого коледжу чи університету. Розуміння принципів нормалізації даних та побудови зв’язків між таблицями необхідне для побудови більшості додатків в наш час. Навіть якщо ви плануєте використовувати NoSQL базу даних, буде набагато простіше зрозуміти особливості роботи з кожною з них, маючи уявлення про SQL та як він використовується.
HTML/CSS
Зараз стандарти HTML и CSS разом з браузерами досягли небачених раніше можливостей. Ми можемо програвати аудіо і відео за допомогою стандартних HTML елементів, отримати доступ до камери телефона та інших сенсорів. За допомогою CSS можна побудувати різні складні елементи та анімацію. Ми, звісно, не очікуємо, що кандидат на інтернатуру буде ідеально володіти усіма існуючими можливостями новітніх стандартів. Проте розуміння основ HTML та CSS є необхідним в нашій роботі, незалежно від фреймворків та технологій, які ми використовуємо для розробки веб додатків.
Git
З розвитком таких хостерів Git репозиторіїв як GitHub та Bitbucket, Git перетворився в щось більше, ніж просто система контролю версій. Він став основою для комунікації між розробниками. Базові навички з використання цієї VCS допоможуть вам надавати приклади свого коду в більш якісній формі, а нам – з більшою радістю його переглядати ;).
Звісно, ми могли б доповнити цей перелік ще не одним пунктом :). Проте тут ми зібрали той мінімум, який з одного боку є важливим та складає основу для подальшого вивчення аспектів розробки програмного забезпечення, а з іншого не є дуже складним, щоб бути непосильним для самостійного вивчення. Тож не втрачайте час дарма та готуйтесь до інтернатури! Слідкуйте за анонсами та не пропустіть наші наступні поради. Хай щастить!
6 комментариев
You can post comments in this post.
Привіт, а інтернатура проводиться у місті Львів?
Ростислав 8 лет ago
Привіт, зараз навчання у Львові вже проходить, набір закритий, тому що група сформована. Тому набір проводимо тільки у м. Черкаси.
Ірина Чернишова 8 лет ago
Набір у місті Черкаси ще триває?
Євген 8 лет ago
Доброго дня :). Набір ще триває. Реєструйтеся за посиланням https://goo.gl/forms/zUTysiHiSgjOZiCf2
Ірина Чернишова 8 лет ago
Доброго дня. А підкажіть будь ласк, InternCamp розрахований суто для девелоуперів? Чи є щось таке для тестувальників ПЗ?
Дякую.
Viktoriya Papaylo 8 лет ago
Доброго дня, Вікторіє. Ми проводили інтернатуру і для тестувальників, але наразі інтернатура за цим напрямом не планується.
Ірина Чернишова 8 лет ago
Post A Reply