Ответы пользователя по тегу IT-образование
  • Зачем нужно ООП?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Раньше программа могла быть написана одним сплошным листингом. Но при попытке сделать изменения, оказалось что очень сложно понять все зависимости внутри программы, как только ее размер превышает некоторый критический уровень.
    Появилась мода на модульность.
    Но программы стали сложнее, и уже модуль перестал помещаться в мозг одного человека, чтобы можно было его быстро править.
    В процессе различных подходов, был придуман ООП-подход, суть которого заключается в следующем:

    Раз все программы оперируют некоторыми данными, то нужно взять эти данные, взять функции (методы), которые работают с этими данными и поместить в один объект.
    Если нужно будет изменить тип данных, добавить/отнять/поделить функционал, то программист будет работать с одним этим объектом. При этом, если разные объекты запрашивают что-либо друг у друга, то в ООП довольно легко сделать версионность и обратную совместимость.

    Ну а все остальное (наследование, полиморфизм и так далее) это уже возникло как следствие того, что ООП не решает все проблемы. Другой, более удобной глобальной парадигмы для сложных программ пока нет, вот ООП и занял свою нишу.

    Программы поменьше, особенно те, которые могут быть написаны одним человеком, могут писаться как угодно, но чем больше программа, тем сложнее ее поддерживать, а ООП - один из самых доступных методов "поделить" программу на независимые инкапсулированные кусочки.
    Ответ написан
    Комментировать
  • Где граница между книжками и практикой?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Разница между книжкой и практикой там, что книжку читаете, а практику пишете.

    "CSV,YAML,SQL,"

    В ЧЕМ проблема нагуглить эти термины и понять их смысл?
    Ответ написан
    Комментировать
  • Какое существует ПО для управления IT-инфраструктурой?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Не может быть одного ПО которое решает все ваши вопросы.
    Управление нагрузкой чего? миграция чего? деплой чего? в мире очень много вещей, которые не могут быть универсальные.

    Поэтому компания обычно специализируется на одном ПО (или семейству ПО). А уже на месте несколько программ интегрируют друг с другом, затачивая под нужды клиента.

    Опять же, вы понаписывали кучу слов, но что они обозначают - вы не знаете.
    Например расскажите что означает "удаленный аудит" или что такое "система мониторинга" в вашем понимании? Можете перечислить КОНКРЕТНЫЕ критерии аудита и список метрик, которые эти системы должны измерять и проверять?
    Ответ написан
    Комментировать
  • Что мне не хватает?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    * На непонятные задачи тратите 20-30 минут гугления терминологии. Если понимание появилось, пробуете решать. Если понимания не появилось, обращаетесь к куратору уточняеет куда копать. Если появилось понимание, но есть несколько вариантов - можно тоже обратиться к куратору, вкратце их озвучить, чтобы он помог с выбором, каким путем будет идти лучше.

    * Идти к куратору нужно КАЖДЫЙ раз, если у вас появляется ощущение, что задача может быть не выполнена в срок.

    * Если срок не указан - так и сообщаете куратору, что "есть такая задача, с ней раньше не сталкивался, поэтому не могу сказать сколько уйдет времени. Я попробую разобраться сам, но если не получится, какие сроки у задачи, чтобы я пришел за помощью вовремя".

    Кроме звонка, можно выбить из куратора мессенджер или другой удобный способ для несрочных вопросов.

    Уловите главную мысль этих пунктов, и на остальные случаи продумайте ваше поведение.
    Такой подход, кроме всего прочего (спокойных нервов, решения задач), должен показать куратору уровень вашей ответственности, который в принципе должен заключаться в том, что если вам дали задачу - про нее могут забыть, потому что либо вы ее решите, либо сами уведомите о проблеме вовремя, а не потеряете, забьете, поднимете тревогу за 5 секунд до дедлайна.
    Ответ написан
    2 комментария
  • Можно ли научиться хорошо программировать если сначала теория потом практика?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    ходить в вуз, а там полная фигня

    Если вы не понимаете, чему вас учат в вузе, это означает, что ваш уровень образования вообще никакой.
    В вузе никто и никого не делает программистом. В вузе дают образование, базу для того, чтобы вы могли оперировать терминами, понятиями, и чтобы вы порешали практических задач, что заставит ваш мозг развиться и приобрести "логическое мышление".
    Без практики в вузе - с логическим мышлением будет плохо, а без теории в вузе, вы не сможете делать практику.

    Если вам так сложно учиться в вузе, а потом учиться самостоятельно, то может быть вообще не стоит идти в ИТ?
    Там в области манкикодинг очень высокая конкуренция, по сравнению с тем, что было 20 лет назад.
    Ответ написан
    3 комментария
  • Если цель свалить в другую страну и там работать программистом, нужен ли диплом для визы?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Здравствуйте, меня волнует вопрос, нужно ли иметь диплом для получения работы зарубежом в качестве программиста?

    Нет, но без диплома вам будет крайне сложно пробиться через HR. А в некоторые страны и с визой могут возникнуть сложности.
    Ситуацию могут упростить, если зарубежная компания сама будет активно помогать вам с оформлением, но это случается обычно в случае трудоустройства исключительных востребованных специалистов, это уверенный мид-сеньор и выше.

    В СНГ довольно трудно найти компании которые согласны принимать программистов которые не имеют соответствующего диплома,

    Наоборот, в СНГ гораздо больше компаний, которые берут без диплома, чем зарубежом.

    а чтобы дали рабочую визу в интернете пишут что нужно предоставлять диплом,

    Интернет большой, стран зарубежом - много. Везде свои нюансы.

    так вот стоит ли трата времени и денег на образование? Первый диплом совсем не связан с программированием. Думаю закинуть в частную шарагу на магистратуру на ИС(естественно там ничему не научат). Стоит ли игра свеч?

    Жизнь каждого человека уникальна, и пути неисповедимы.
    Для среднестатистического человека, диплом дает больше шансов на приличное трудоустройство. Для гениальных и удачных, диплом вполне может быть потерей времени. Но практически все гениальные люди обычно уже с дипломом, а на одной удаче выехать сложно.
    Ответ написан
    Комментировать
  • Как научится реверс-инженерингу?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    А что такого сложного в регистрах?

    Все просто, в Си вы можете создать переменную разного типа - строка, число, кортеж, массив, флоат, целочисленное число и так далее.
    А в ассемблере есть только байт, слово, двойное слово - все кратно байту.

    В Си вы можете создать сколько угодно произвольных переменных - a, b, x, y, counter, mysupervariable и хранить в них значения
    У процессора нет возможности создавать произвольные переменные. Но есть железно зашитые прямо в процессоре регистры.
    И инструкции процессора умеют с регистрами работать.

    Некоторые регистры активно используются для хранения промежуточных значений.
    Например в Си вы можете
    x = 3 * 6
    А в ассемблере нельзя
    ячейка_памяти_по_адресу(100) = 3*6
    Нет такой инструкции, не предусмотрена архитектурой процессора.

    Зато можно занести в регистр AX = 3, в регистор BX = 6 и вызвать инструкцию процессора - умножь значение AX на BX, значение автоматически поместится в AX.
    mov  ax, 3
    mov  cx, 6
    mul  cx

    Результат будет в регистре AX. Затем второй инструкцией можно будет занести результат из AX в ячейку памяти 100.
    mov [100h], ax

    Вот и все.
    Ответ написан
    2 комментария
  • Где лучше пройти курсы Full-stack веб-разработчика?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    курсов фулл стак разработчика не существует.

    Ваш вопрос звучит как "где лучше всего можно пройти курсы по управлению самокатом/мотоциклом/авто/фурой/поездом/самолетом/кораблем/подводной лодкой и космическим кораблем", так чтобы преподы были хорошие.

    full stack это просто все вместе. Неплохие курсы на фронтенера могут занимать полгода.
    Как вы думаете сколько займут курсы по фуллстак и кому они нужны? Ни преподавателям ни студентам.
    Изучите для начала что-то одно, потом развивайтесь дальше.
    Ответ написан
    1 комментарий
  • Не могу работать и учиться без фонового звука, это нормaльно?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    - Изучал английский методом прослушивания английского аудио во время сна
    - И как выучил?
    - Нет. Но зато при звуках английской речи мгновенно засыпаю.

    P.S. Человек состоит из привычек. Непросто изменить человека, но при некоторой настойчивости вполне можно изменить в себе какие-то привычки, что приведет в конечном счете к изменению себя.
    Ответ написан
    Комментировать
  • Головоломки помогают айтишникам улучшить мышление?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Головоломки - это просто гимнастика для ума.

    Мозг, который заточен на программирование, привык решать алгоритмические задачи. И отойдя от работы, он все равно хочет что-то решать. Головоломки - вполне неплохой вариант для того, чтобы переключиться с программирования на что-то похожее по задаче, но другое.

    Решать задачи по программированию головоломки не научат. Также, как и утренняя гимнастика не сделает тебя олимпийцем или спортсменом.
    Просто отвлечение мозга на другую аналогичную задачу, чтобы потратить время. Но для некоторых головоломки становятся хобби, и приносят удовльствие.
    Ответ написан
    2 комментария
  • Как бороться с кашей в голове на работе?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    1. Логировать время затраченное на работу. Описать трудовые обязанности, нарисовать таблички и прийти с этим к менеджеру/директору, доказать ему, что одна позиция на такое количество работы - мало, есть огромный риск простоя в случае болезни/отпуска/банально куча срочных задач на здесь и сейчас от разных людей.

    2. Взять себе второго сотрудника. Можно младше по знаниям, можно старше. Разобрать рутину пополам, выделить свободное время на разгребание каши.

    3. Заняться оптимизацией инфраструктуры. Автоматизировать рутину по максимуму, настроить адекватный и удобный мониторинг и логирование, чтобы в случае разбирательств было понятно и легко найти куда копать. В процессе этого искать и изучать удобные решения и инструменты, почитывая best world practice.

    4. Также выбить из руководство оплату и посещение различных курсов. Тут есть хитрость - сами курсы вряд ли несут особо много знаний, все можно освоить самому. Но если оплатило курс и вы его посещаете, то в это время вы точно не работаете (сидя на работе не везде есть возможность выделять себе нормальный промежуток времени именно на обучение, без отвлечения на повседневные задачи), во-вторых на курсах можно сразу наглядно увидеть и уточнить готовые решения, посмотреть как они работают, и задать вопросы тренеру вплоть до того, что описать свою инфраструктуру, спросить советов.
    Ответ написан
    3 комментария
  • Какие есть книги о истории интернета?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Вряд ли есть хорошая книжка, которая може покрыть все.
    Просто погуглите историю интерфейсов, историю протоколов, историю браузеров и так далее.
    Ответ написан
    Комментировать
  • Очка или заочка + работа?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    В большинстве случаев, вышка нужна для корочки и в случае чего - для упрощения трудоустройства в те компании, которые проверяют корочки (госконторы, зарубежные конторы, и пройти первый рубеж - рекрутеров).

    Но если вы планируете идти в сложную инженерию, science и так далее - нагнать базу потом будет в разы сложнее, и по той причине что уже возраст, и по той причине, что устроившись на работу и начав получать зарплату, тратить столько времени на обучение как сейчас - будет просто некогда.

    Если вы уже можете устроиться, то можете переходить на заочное.
    Но было бы неплохо сперва устроиться, а потом уже решать. Никто не мешает учиться очно, и искать работу, а как найдете - перевестись на заочку.
    Ответ написан
    2 комментария
  • Как быть хорошим junior?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    1. Адекватность и самостоятельность.
    Детальнее: Умение понять суть задачи, чтобы выполнить ее. Самостоятельно решать проблемы - в это слово входит не только то, что возникла проблема - порешал. А умение решить проблемы, которые ты решить не можешь. То есть организовать решение проблемы. Заблочили аккаунт? Выяснить, вызвонить, попинать, чтобы разлочили побыстрее. Не знаешь как решить какую-то техническую проблему - достучаться до куратора. Не сидеть и ждать три дня, пока он вспомнит про твою проблему, а регулярно уточнять. Занят куратор - подойти к другому. Не успеваешь решить в срок - прийти к куратору заранее, а не за час до конца срока.
    В общем, чтобы за тобой не бегали.

    2. Умение ставить правильные вопросы.
    Сперва загуглить, потом задать вопрос для уточнения. В идеале ставить вопросы, на которые ответ будет "да" или "нет", но это я утрирую. Не бояться спрашивать вещи, которые совсем не понимаешь, но тут не нужно ожидать что все будут разжевывать - следует задать вопрос, чтобы понять куда копать. Иногда достаточно знать пару ключевых слов, по которым можно загуглить.

    3. Желание учиться.
    Не бояться изучить лишнее, потому что "мне же это не пригодится". Умение гуглить по ключевым словам. Не лениться изучать как что-то работает, чтобы понимать почему это происходит. Понимание принципов работы очень сильно увеличивает интуицию.
    Ответ написан
    1 комментарий
  • С чего начать изучение SQL?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Не хотелось бы зря потратить время на изучение не того, что нужно.


    Вот это меня постоянно удивляет у новичков - боятся изучить что-то не нужное, еще даже не начав что-то учить.

    Пока не дошли хотя бы до уровня мидл разработчик не стоит отбрасывать что-либо. Потом уже сможете сами оценивать реально что нужно, а что нет.
    А до этого уровня - любые знания будут вам только добавлять опыта и интуиции.
    Ответ написан
    Комментировать
  • Стоит ли заниматься программированием в моем возрасте?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Ну взрослый человек. Ну почему такие странные вопросы.
    Одно дело, когда пишут школьники, которые еще не понимают как это вообще - найти работу и устроиться работать, которые думают что профессиональные навыки можно получить в школе или в институте.
    И другое дело вы, уже поработавший, повидавший жизнь.

    Никто вам ничего полезного не скажет. Никто не знает на что вы способны, есть ли у вас достаточно времени, сил, желания и вообще возможности поменять текущую работу.
    Да, с точки зрения СНГ, программист может получать прилично. Но это опытный программист. Вы же вообще хотите начать с тестирования. 300-400 баксов в месяц для джуна. Если вы прямо сейчас, со свободным английским, зарабатываете 300-400 баксов, то может быть. Если же больше, насколько вы готовы на даунгрейд?
    И ведь неизвестно как у вас получится.
    Уходить насовсем в тестировщики?
    А программист-джуниор это будет посложнее и подольше, а учитывая конкуренцию...

    В общем нет смысла спрашивать философские вопросы на тостере.
    Ответ написан
    5 комментариев
  • Как развить свою обучаемость?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Все мы разные, кто-то вынужден зазубривать информацию, чтобы хоть как-то ее освоить

    Нормальные люди ничего не зазубривают. Они изучают технологии. На практике.
    Если много зубрить наизусть, без практики, то ты просто будешь помнить набор слов и фраз, но как оно работает - понимать не будешь. Отсюда любую дальнейшую информацию снова нужно зазубривать. Сил на понимание уже не будет. Порочный круг.

    Люди уже просто знаю как что-то работает, в своем опыте сталкивались с похожими аналогами, и могут уловить главную суть на ходу.
    Например несложно понять что такое varchar, если ты знаешь что такое string
    Ответ написан
    Комментировать
  • Что можете сказать об IT Hub колледже?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    IMHO средненький инфобизнес, но раскручен на широкую ногу (ну понятно 30к с каждого студента, из которых видимо 90% на раскрутку и веселый сайтец).

    На сайте слишком много слоганов, хаханьки, хиханьки. Но при этом нет нормальной программы (а колледж как минимум должен подразумевать также и общие предметы, а не только айти), нет нормального расписания и распорядка.

    Вот зашел в программирование, читаю единственное, что хоть как-то похоже на программу, по пунктам:

    Профессиональные компетенции выпускника:
    * Работа с технологиями PHP, Java, Ruby, Python, Perl, Node JS

    Из этого технологией с натяжкой можно назвать NodeJS, потому что на самом деле это все языки программирования, а NodeJS это скорее платформа для выполнения JS (которого кстати в списке нет)

    * Подключение и использование фреймов

    Фреймов? Фреймы есть в сетевых пакетах. А Фреймворки - так их не подключают, на них пишут.

    * Back-end разработка, «серверная часть» в веб-приложении; настройка и создание баз данных

    Настройка и создание баз данных - это небось будет предустановленный Mysql (который ставится в пару кликов) и какая-нить create table
    Как можно работать с базой данных, не указывая что в программе изучения есть ХОТЯ бы базовый SQL?

    * Организация серверного окружения, администрирования баз данных и масштабирования приложений с учетом всех стандартов безопасности

    Учесть все стандарты безопасности не всегда могут крупные организации, которые уже 50 лет в IT. Тут явно будет какая-то чушь.

    * Создание функциональных API

    API это весьма простая вещь, как только ты в принципе научился писать бэкенд. Весь бэкенд из него и состоит. Но ведь он уже был во втором пункте. Тогда что тут?

    * Работа по Scrum и Kanban

    Это вообще можно не учить. Про это можно почитать, потому что это просто Agile разработка. Она в каждой конторе, в каждом проекте немного по-своему. Освоить то, что нужно разработчику можно за день, и в ходе работы разобраться. А знать как оно работает - надо скрам мастеру.

    * Работа с системами контроля версий (Git)

    Ну вот хоть что-то полезное. Но оно же осваивается за полчаса на официальном сайте - там и видяшки и учебник и туториал. https://git-scm.com/book/ru/v2

    Итого: Я не понимаю за что такие деньги, учитывая что реальной информации на сайте практически нет.
    Отзывы - везде только положительные и как одним копирайтером написаны.

    Понятно, что научиться в колледже чему-то можно, но если человек способен научиться, то он может это сделать и без колледжа, потратив деньги более эффективно.
    Ответ написан
    7 комментариев
  • Как понять, что я стал junior'ом (C++)?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Джун, мид, сеньор, тимлид - это не уровень ваших знаний, это название вашей позиции на работе, где вам платят деньги.

    Как устроитесь на позицию джуна - значит вы джун. Если вами довольны - значит хороший джун для этой позиции.
    Если за 1-3 года перешли на позицию мидла - значит точно были хорошим джуном.
    Ответ написан
    Комментировать
  • Бесплатное обучение? Что вы об этом думаете?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Компания берет на обучение (4 мес) абитуриентов, оплата будет после. По контракту 24 платежа по 17% от зарплаты с работы, которую они помогут найти. специальности фронтэнд и джава.


    За 4 месяца с нуля джуниора сделать невозможно.
    Поэтому там должен быть какой-то предварительный отбор, по которому отбирают потенциально лучших.

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

    Потом их пытаются трудоустроить - если трудоустроили, то два года получают с вас зарплату.
    Если нет - то следующий отбор сделают жестче.

    Если на этих курсах вы учитесь меньше чем 30-40 часов в неделю - то это вообще кидалово. А так - решайте сами, готовы ли вы отдавать 5ю часть зарплаты целых два года.

    И тщательно почитайте контракт, особенно как именно они собираются вас трудоустроить, сколько времени на это уходит, и точно ли трудоустройство только через них.
    А то может оказаться так, что после окончания курсов при трудоустройстве в ближайшие 3 года вы будете платить 17% зарплаты, при этом они не обязаны вас трудоустроить, а только помочь. При этом даже если вы вообще устроитесь самостоятельно, то все равно будете платить - тогда это вообще развод по полной.
    Ответ написан
    Комментировать