Академія ITSTEP - повноцінна IT-освіта для дорослих і дітей. Ми навчаємо з 1999 року. Авторські методики, викладачі-практики, 100% практичних занять.

Кам'янське
ШАГ логотип

Як вижити в круговороті сучасного IT, або навіщо вивчати основи

29.01.2021

662 перегляда

Сучасна IT-галузь змінюється і розвивається настільки швидко, що просто фізично не встигаєш за нею.

Обмежені в своїх можливостях статичні web-сторінки були витіснені Rich UI c функціоналом, подібним до операційних систем. JavaScript разом з CSS стали всюдисущими. Все менше і менше людей користуються стаціонарними комп'ютерами і вважають за краще мобільні рішення - додатки та сайти еволюціонують за потребами користувачів. Якщо раніше сайти можна було крутити хоч на локальній машині, то зараз все мігрує в хмару. Бази даних - і ті з табличного вигляду все частіше приймають вигляд, який ефективніше представляє доменну область. Про waterfall вже ходять легенди, і всі ведуть Agile-розробку. І так куди не глянь.

Це колесо крутиться так швидко, що якщо зупинитися перепочити на пару хвилин, вже можна не наздогнати його, а якщо постійно бігти - перегораєш або починаєш п'яніти від передозування IT-технологій, концепцій і підходів. Як і при будь-якому сп'янінні і згодом - запамороченні, хочеться намацати тверду землю, так би мовити заземлитися.

 

Так що там з приводу  намацати фундамент?
А фундамент - це і є фундаментальні знання. Легко можна забути API чергової технології, але принципи та засади - ні. Так само, як навчившись плавати одним стилем, ви зможете при належній фізичній підготовці і бажанні освоїти будь-який інший стиль плавання.

 

Основ у програмування дуже багато. Не можна обмежувати себе тільки тими, що потрібні кров з носа: ваша серверна мова програмування, OOP, HTTP, SQL, JavaScript, HTML, CSS, ваша IDE і т. д. Потрібно вчити також вищу математику, алгоритми, теорію ймовірності, матстатистику, мат. методи дослідження операцій та т. п.

Але поки це голі слова, і ви можете задати логічне питання: "Чи потрібно мені все це, щоб займатися щоденною рутиною - пиляти формочки, фіксувати елементарні баги і писати найпростіші запити в базу даних?" Як показує практика - ні.

Так чому ж на співбесідах запитують речі з якими, за рідкісним винятком, ви ніколи не зустрічаєтеся? Навіщо потрібні логічні задачі і взагалі завдання, навіщо потрібні питання з математики, структур даних або речі, приховані від вашого повсякденного погляду? Чому такі гіганти, як Google, Amazon та інші, роблять на це наголос?

А тому, що роботодавця та й вас самих турбують не ваші вміння запам'ятовувати відповіді на питання, що з кожною співбесідою стає робити набагато легше, і навіть не знання всіх нових API. А все ж оцінюється ваш розум: наскільки він гнучкий; чи зможе він вивчити щось нове і бажано швидко.

 

Що дають для програмування деякі з основ?


Математика

Алгебра і геометрія - це перші кроки в логічному мисленні. Ще Аристотель описав основи логіки, що в подальшому вплинуло на багатьох грецьких філософів / математиків. Це здається дико, але не завжди легко зрозуміти, що було причиною того чи іншого бага або проблем з системою. А логіка математики може допомогти в розвитку таких навичок.

 

Фізика

Фізика  розширює наші спільні знання про Всесвіт. Багато хто міг чути про кота Шредінгера і про те, що частка може появитися в будь-який момент часу в будь-якій частині Всесвіту, але мало хто розуміє, що це означає. Фізика вчить нас критичного мислення - відрізняти досяжне від недосяжного.

 

Теорія ймовірності і матстатистика

Важко уявити сучасні системи без величезної кількості івентів. Big data тут, big data там. А там, де є купа івентів, завжди є і необхідність їх аналізу. Вид нормального розподілу не той - пора бити тривогу. Але якщо для вас це просто графік, то в наступний раз вам його навіть не покажуть.

 

Структури даних

Дані всюди і їх треба десь зберігати. Але у нас вже є стандартні структури на зразок list і map! Як показує практика, їх можливостей починає не вистачати в самий невідповідний момент, і щоб це швидко усунути, потрібно знати альтернативи, знати, де вони вже використовуються, - все це може допомогти в найнесподіваніший момент.

 

Алгоритми

Це наступний крок в логіці. І якщо математичні теореми не припускали особливих варіантів, то алгоритми вводять поняття складності, проблеми вибору, оптимального саме для вашого завдання. Це допоможе вам навчитися порівнювати альтернативи, зважуючи всі за і проти.

 

Бази даних

Можна швидко навчитися писати запити, але ось проектувати їх - це вже інший рівень. Для цього потрібно вміти аналізувати предметну область, правильно компонувати суті і створювати зв'язки між ними. Можливо, на практиці такий шанс просто не випаде, якщо ви з цим не були знайомі раніше і не чули про нормальні форми.

 

Комп'ютерні мережі

Нас вже не дивує той факт, що навіть найпростіша програма вимагає підключення до інтернету, і взагалі велика частина нашого життя протікає там. Але в більшості випадків ми не зможемо пояснити, як наш браузер знаходить конкретний сайт, як комп'ютер підключається до іншого і чому нам потрібні інші протоколи крім http / https.

 

Електротехніка

Ми звикли приймати нову техніку за таку, що сама собою зрозуміла, але хтось взагалі замислювався, як вона працює? Що такого цікавого дають нам NPN- і PNP-переходи і що привносять в нашу цивілізацію транзистори?

 

Математичні методи дослідження операцій

Вміти шукати оптимальні рішення - це те, чого не вистачає багатьом, більшість приймає рішення по інтуїції. Але виявляється, існують підходи, які допоможуть вам в цій важкій справі.

 

Проектування систем

Ви могли чути про GRASP-патерни, про те, що Coupling повинен бути low, а Cohesion - high. Але чути - це одне, а розуміти і навіть робити - зовсім інше.

 

Патерни / антипаттерни

Як будь-який дантист повинен знати всі типові способи лікування зубів і також помилки в цьому процесі, так і ви повинні знати переважну більшість патернів і антипаттернів. І тоді наступного разу, коли буде необхідність розбиратися з новинкою, ви подивитеся не тільки на API, але і в саму суть технології. І згодом можете сказати собі, що у вас є варіант оптимальніший, ніж витрачати на це свій час.

 

Технології ускладнюються і еволюціонують, щоб відповідати вимогам часу, і з цим потрібно змиритися. Але так як технології не роблять концептуальний крок вперед, то і встигнути за цим всім абсолютно реально.

Пізнавайте основи, і це окупиться повністю!



Автор:

Редакція Академії ITSTEP

Освіта для дітей

Кібербезпека — це не «стати хакером»: чим насправді займаються спеціалісти

Коли підліток говорить, що його цікавить кібербезпека, у голові легко з’являється знайомий образ: темна кімната, чорна худі, десятки рядків коду й людина, яка «ламає сайти».

Коли підліток говорить, що його цікавить кібербезпека, у голові легко з’являється знайомий образ: темна кімната, чорна худі, десятки рядків коду й людина, яка «ламає сайти». У реальності кібербезпека значно ширша. Спеціалісти працюють із мережами, серверами, операційними системами, хмарними сервісами, журналами подій і захистом даних. Їхня задача — не просто знаходити слабке місце, а розуміти систему достатньо добре, щоб зробити її безпечнішою. Саме тому цей напрям може підійти підлітку, який любить технології, але не обов’язково мріє с

ШАГ логотип

Освіта для дітей

Дитина знімає відео, робить аватарки й постійно щось редагує: це теж може бути IT

Коли батьки чують «IT-навчання», першою асоціацією часто стає програмування. Якщо дитина не проявляє інтересу до коду, здається, що технологічний напрям їй просто не підходить.

Коли батьки чують «IT-навчання», першою асоціацією часто стає програмування. Якщо дитина не проявляє інтересу до коду, здається, що технологічний напрям їй просто не підходить. Але сучасний цифровий світ значно ширший. Монтаж відео, графічний дизайн, створення персонажів, 3D, вебдизайн, блогінг і робота з AI — усе це теж навички роботи з цифровими технологіями. Тому дитина, яка годинами налаштовує аватар, монтує ролик або вигадує дизайн власного каналу, можливо, вже показує інтерес до IT. Просто не в тій формі, яку дорослі звикли називати «комп

ШАГ логотип

Освіта для дітей

Школа, домашка і гуртки: як додати дитині IT і не перевантажити її

Початок навчального року часто перетворює сімейний календар на складну логістичну задачу. Школа, домашні завдання, англійська, спорт, дорога — і на цьому фоні батьки думають про IT, але зупиняються на одному питанні: чи не буде це ще одним навантаженням, після якого дитина просто втомиться?

Початок навчального року часто перетворює сімейний календар на складну логістичну задачу. Школа, домашні завдання, англійська, спорт, дорога — і на цьому фоні батьки думають про IT, але зупиняються на одному питанні: чи не буде це ще одним навантаженням, після якого дитина просто втомиться? Саме тому під час вибору гуртка важливо дивитися не тільки на програму, а й на графік. Навіть найцікавіше навчання швидко перестане подобатися, якщо для нього постійно доводиться жертвувати сном, школою або єдиним вільним вечором. Один стабільний день Ð

ШАГ логотип

Освіта для дітей

ШІ пише код за 10 секунд: чи є сенс підлітку вчитися програмувати у 2026 році?

Ще кілька років тому, щоб створити навіть просту програму, потрібно було самостійно написати код, знайти помилки й розібратися, чому щось не працює. Сьогодні достатньо описати задачу ChatGPT або іншому AI-інструменту — і за кілька секунд можна отримати готовий фрагмент коду, структуру сайту чи навіть невеликий застосунок.

Ще кілька років тому, щоб створити навіть просту програму, потрібно було самостійно написати код, знайти помилки й розібратися, чому щось не працює. Сьогодні достатньо описати задачу ChatGPT або іншому AI-інструменту — і за кілька секунд можна отримати готовий фрагмент коду, структуру сайту чи навіть невеликий застосунок. Тому у батьків і підлітків виникає закономірне питання: навіщо витрачати кілька років на вивчення програмування, якщо штучний інтелект уже може писати код замість людини? Можливо, краще просто навчитися правильно формулюва

ШАГ логотип

Цей сайт використовує Cookies

Політика конфіденційності