MIT — всё по этой теме для программистов


Оглавление (нажмите, чтобы открыть):

Каким программистом стать?

C/C++. После C не проблема будет освоить и Objective C (программирование под iOS, например) и C# (.NET и прочие популярные штуки).

А из 1С никуда дальше не уйдёшь.

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

Советую начать с веб программирования (php,ruby,python,sql языки), это даст понимание как всё работает вообще плюс ко всему данная сфера охватывает многие области и есть спрос, а после этого дальше уже можно и на java и на c# переходить или на c.

Английский для программистов и других компьютерных специальностей: полезные слова и фразы из мира IT

PHP, Python, Java… Какой язык учить? Учите английский!

Для тех, кто нашел себя в IT-индустрии, владение английским — must-have. Вы еще не знаете этого выражения? Читайте далее: в нашей статье мы с вами изучим самые распространенные слова и фразы, которые используют работники компьютерной отрасли. Также мы дадим несколько советов, которые уже сегодня помогут вам в изучении английского языка.

Компьютерные профессии на английском

Разработчик программного обеспечения, программист (Software Developer, Computer Programmer) — разрабатывает приложения для выполнения различных задач на компьютерах и других устройствах.

Исследователь в области вычислительной техники и информатики (Computer and Information Research Scientist) — придумывает новые технологии для решения сложных проблем в различных областях, таких как медицина, образование или бизнес.

Системный аналитик (Computer System Analyst) — анализирует бизнес-требования к создаваемому программному продукту и предлагает наилучшие пути их воплощения.

Сетевой архитектор (Computer Network Architect) — специализируется на создании корпоративных сетей для предприятий и организаций.

Веб-разработчик (Web Developer) — разрабатывает веб-сайты для предприятий и организаций.

Администратор баз данных (Database Administrator) — занимается организацией и хранением данных, а также их защитой от несанкционированного доступа.

Системный администратор (Network and Computer System Administrator) — занимается установкой и поддержкой компьютерных систем для различных организаций и учреждений (школы, больницы, банки).

Графический дизайнер (Graphic Designer) — создает компьютерную графику.

Тестировщик ПО (Software Tester, Quality Assurance Person или QA) — тестирует программное обеспечение.

Технический писатель (Technical Writer) — создает документацию к программному продукту.

Специалист техподдержки (Computer Support Specialist) — помогает пользователям решать проблемы с компьютером.

О чем говорят айтишники: полезные фразы для ежедневного общения

Даем описание продукции

Простое настоящее время (Present Simple)

— It costs fifty dollars. (How much does it cost?) — Оно стоит 50 долларов. (Сколько оно стоит?)
— It monitors employee activity. (What does it monitor?) — Оно отслеживает действия сотрудников. (Что оно отслеживает?)
— It is easy to use. (Is it easy to use?) — Им несложно пользоваться. (Сложно ли им пользоваться?)
— It is available in three colours. (Is it available in other colours?) — Оно есть в трех цветах. (Оно есть в других цветах?)
— It comes with a two-year guarantee. (Does it come with a guarantee?) — Оно идет с двухгодичной гарантией. (Оно идет с гарантией?)

Пассивный залог (Passive Voice)

— This device is manufactured in India. (Where is this device manufactured?) — Это устройство произведено в Индии. (Где произведено это устройство?)
— It is designed for competent users. (Who is it designed for?) — Оно разработано для опытных пользователей. (Для кого оно разработано?)
— It can be used for internal communication. (What can it be used for?) — Оно может использоваться для внутренней связи. (Для чего оно может использоваться?)
— It is equipped with a signature recognition software. (What is it equipped with?) — Оно оборудовано программным обеспечением для распознавания подписи. (Чем оно оборудовано?)
— The cover is made of leather. (What is the cover made of?) — Обложка сделана из кожи. (Из чего сделана обложка?)

Сравнительная и превосходная степень (Comparatives and Superlatives)

— The new version is more reliable than the old one. (Is the new version more reliable than the old one?) — Новая версия надежнее, чем старая. (Новая версия надежнее старой?)
— It’s smaller than a laptop. (Is it smaller than a laptop?) — Оно меньше, чем ноутбук. (Оно меньше, чем ноутбук?)
— It’s not as expensive as a PC. (Is it cheaper than a PC?) — Оно не такое дорогое, как персональный компьютер. (Оно дешевле персонального компьютера?)
— It’s the cheapest product on the market. — Это самый дешевый продукт на рынке.

Устраняем неполадки

Настоящее совершенное время (Present Perfect)

— Have you tried removing the program? — Вы пытались удалить программу?
— Have you checked your network settings? — Вы проверили настройки сети?
— Have you disabled the extensions? — Вы отключили расширения?

Прошедшее время (Past Tense)

— What were you doing when the error occurred? — Что вы делали в тот момент, когда произошла ошибка?
— Did you initialize the drive? — Вы подготовили диск к работе (инициализировали диск)?
— Did you verify software compatibility? — Вы проверили совместимость программного обеспечения?

“should” — «(Вам) Нужно…»

— You should download a data recovery software. — Вам нужно скачать утилиту для восстановления данных.
— You should back up all the restored data. — Вам нужно создать копию всех восстановленных данных.

“Why don’t you…” — «Попробуйте…»

— Why don’t you try using the default password? — Попробуйте использовать пароль по умолчанию.
— Why don’t you run some tests to make sure everything is stable? — Попробуйте провести несколько тестов, чтобы убедиться, что все в порядке.

Повелительное наклонение (Imperative)

— Burn the ISO to a blank DVD. — Запишите образ ISO на чистый DVD-диск.
— Disable the internal GPU. — Отключите встроенный процессор.
— Don’t attempt to write anything on the hard drive. — Не пытайтесь записать что-либо на жесткий диск.
— Don’t click Yes to format the drive. — Не нажимайте «Да» на предложение отформатировать диск.​

Общаемся с клиентами и коллегами

Разговариваем по телефону

— This is Ivan Popov speaking. — Говорит Иван Попов.
— I would like to speak to Mr Brown. / Can I speak to Mr Brown? — Я бы хотел поговорить с господином Брауном. / Могу я поговорить с господином Брауном?
— I would like to leave a message for Ms Jones. Can you ask her to call me back as soon as possible? — Я бы хотел оставить сообщение для госпожи Джонс. Вы бы не могли попросить ее перезвонить мне как можно скорее?
— I’ll make sure she gets the message. — Я прослежу, чтобы ей передали ваше сообщение.
— I’m sorry, I don’t understand / I can’t hear you very well. — Простите, я вас не понял / я вас не расслышал.
— Could you say that again? Can you speak up a little? — Вы бы не могли повторить? Вы бы не могли говорить чуть громче?
— I’m calling to make an appointment with Mr Brown. — Я бы хотел назначить встречу господину Брауну.
— I’m calling about the problem you reported this morning. — Я звоню по поводу проблемы, о которой вы сообщили утром.
— I’m calling about the computer you have ordered. — Я звоню по поводу компьютера, который вы заказали.
— I’m sorry, I’m in a meeting / I’m very busy at the moment. — Простите, я на совещании / я занят в настоящий момент.
— I’ll get back to you as soon as possible. — Я перезвоню вам, как только смогу.
— Can I call you back this afternoon? — Могу я перезвонить вам днем?

О том, как разговаривать по телефону на английском, читайте в нашей статье Все еще боитесь говорить по телефону на английском?

Пишем электронное письмо

— Dear Mr/Ms Jones, — Дорогой(ая) мистер/миз Джонс,
— Dear Dr Smith, — Дорогой доктор Смит,
— Dear Sir/Madam, — Уважаемый господин/госпожа,
— I am writing to let you know that your payment is overdue. — Сообщаю Вам, что Ваш платеж просрочен.
— Thank you for your e-mail of 29 February regarding the sale of… — Благодарю Вас за Ваше электронное письмо от 29 февраля касательно продажи…
— I am sending you the brochure as an attachment. — Посылаю Вам брошюру в прикрепленном файле.
— Please see the statement attached. — Пожалуйста, рассмотрите прикрепленный акт.
— I am afraid I cannot open the file you have sent me. — Боюсь, у меня не получилось открыть файл, который Вы мне послали.
— Could you send it again in … format? — Вы не могли бы отправить его заново в формате …?
— I look forward to hearing from you. — С нетерпением жду Вашего ответа.
— Yours faithfully, (when you start with Dear Sir/Madam,) — С уважением, (если вы начали письмо с “Dear Sir/Madam”)
— Yours sincerely, (when you start with the name e.g. Dear Ms Collins) — Искренне ваш, (если вы начали письмо с имени или фамилии, например“Dear Ms Collins”)

Болтаем о том, о сем…

Small talk — «светская беседа», неформальный разговор о чем угодно, только не о делах. Бывает, что важных тем для обсуждения нет, а молчать неудобно. Такое может случиться, например, перед совещанием, пока ждут участников, или во время кофе-брейка — а также у лифта, на остановке или в столовой в обеденный перерыв.

— How are you? Did you have a good weekend? — Как ваши дела? Как провели выходные?
— How is your wife/husband? How are the children? — Как ваш(а) супруг(а)? Как дети?

— It’s so hot today, isn’t it? / It’s so cold today, isn’t it? — Сегодня так жарко, не правда ли? / Сегодня так холодно, не правда ли?
— Yes, very hot/cold for this time of the year. What are you doing at the weekend? — Да, очень жарко/холодно для этого времени года. Чем займетесь на выходных?

— Have you been working here long? — Вы давно здесь работаете?
— Have you met the new accountant? — Вы видели нового бухгалтера?
— Do you know any good restaurants near here? — Вы не знаете какой-нибудь хороший ресторан неподалеку?
— I just love the chocolate eclair they make in the canteen. Have you tried it? — Обожаю шоколадные эклеры, которые подают в буфете. Вы пробовали?

— My dog just didn’t want me to come to work this morning. Do you have a dog? — Моя собака просто не хотела отпускать меня на работу сегодня утром. А у вас есть собака?
— Did you watch the match last night? — Вы смотрели матч вчера вечером?
— Have you seen any good films lately? I’d like to take my wife to the cinema this weekend. — Вы смотрели какие-нибудь хорошие фильмы в последнее время? Я бы хотел сводить супругу в кинотеатр на выходных.

Вы еще не устали? А ведь вы дошли только до половины нашей статьи! Сделаем музыкальную паузу:

Топ-75 слов, которые должен знать каждый айтишник

  1. abbreviation — аббревиатура
    Сокращенная форма слова или словосочетания из первых (нескольких первых) букв.
    The abbreviation ’RAM’ stands for Random Access Memory. — Аббревиатура ОЗУ обозначает «оперативное запоминающее устройство».
  2. analysis — анализ
    Критическое изучение, разбор чего-л.
    A financial analysis was carried out in order to improve cost efficiency. — С целью повышения экономической эффективности был проведен финансовый анализ.
  3. appliance — устройство
    Приспособление или инструмент для выполнения определенной задачи.
    They sell a wide range of virtual appliances. — Они продают целый ряд виртуальных устройств.
  4. application (также software application) — программное приложение
    Компьютерная программа, разработанная для выполнения определенных задач.
    This database application lets you manage your contacts and organise your projects. — Это приложение для работы с базами данных позволяет управлять контактами и заниматься организацией проектов.
  5. arise — возникнуть
    Случиться, появиться (офиц.) — обычно о проблемах или непредвиденных обстоятельствах.
    Problems may arise when trying to request data from a remote web service. — При запросе данных от удаленного веб-сервиса могут возникнуть проблемы.
  6. available — доступный, имеющийся
    Такой, который можно найти/купить/арендовать/использовать и т. д.
    Available memory refers to how much RAM is not being used by the computer. — Доступная память показывает, какой объем оперативной памяти не используется компьютером.
  7. background — предыстория
    События в прошлом человека или компании. Часто используется, когда говорят о профессиональном опыте человека (What is your professional background?).
    It’s always a good idea to research a company’s background before doing business with them. — Всегда полезно изучить предысторию компании, прежде чем вести с ней дела.
  8. carpal tunnel syndrome — «туннельный синдром»
    Неврологическое заболевание, проявляющееся болью между локтем и ладонью или в пальцах. Если вы компьютерщик — увы, это выражение может вам когда-нибудь пригодиться…
    The development of Carpal Tunnel Syndrome might be linked to computer use. — Развитие туннельного синдрома может быть связно с работой за компьютером.
  9. certification — сертификат
    Официальный документ, присуждаемый стандартизующей организацией, который подтверждает компетентность в конкретной профессиональной области.
    Earning the latest Microsoft certifications may help you further your career. — Получение последнего сертификата Microsoft может поспособствовать вашей карьере.
  10. chief — главный; начальник, руководитель.
    Chief Information Officer (CIO) is responsible for the computer systems of a company. — Начальник информационного управления отвечает за компьютерные системы в компании.
  11. common — распространенный
    One of the most common Internet crimes is drug trafficking. — Одно из самых распространенных киберпреступлений — незаконный оборот наркотиков.
  12. compatible — совместимый
    Допускающий совместное использование с другим оборудованием.
    ​The parts I ordered weren’t compatible with my PC. — Заказанные комплектующие оказались несовместимыми с моим ПК.
  13. consultant — консультант
    Сотрудник, который предоставляет компании информацию и дает профессиональную консультацию.
    Do you think we should contact an IT consultant? — Думаете, стоит обратиться к ИТ-консультанту?
  14. convenience — удобство
    We provide outstanding products and 24/7 phone support for the convenience of our customers. — Мы предлагаем высококачественную продукцию и предоставляем круглосуточную телефонную поддержку для удобства наших клиентов.
  15. customer — потребитель
    Человек, приобретающий продукт или услугу.
    Good customer care can improve customer loyalty. — Забота о потребителе повышает его лояльность.
  16. database — база данных
    Способ организации больших объемов информации.
    This software creates a customer database to eliminate paperwork. — В этой программе формируется база данных клиентов, что позволяет избавиться от бумажной работы.
  17. deal — сделка
    Коммерческая операция; «продукт при полном непротивлении сторон».
    To find out more about our deals, please visit our website. — За более подробной информацией о сделках, пожалуйста, обратитесь на наш веб-сайт.
  18. demand — спрос
    Потребность в продукте.
    Online keyword selector tools may help you find out whether certain products are in high demand. — Инструменты поиска по ключевым словам могут помочь выяснить, пользуется ли определенный продукт высоким спросом.
  19. detailed — детальный, подробный
    A more detailed description is available on our website. — Более детальное описание доступно на нашем веб-сайте.
  20. develop — разрабатывать
    To develop software — разрабатывать программное обеспечение.
    We have decided to develop a new database app. — Мы решили разработать новое приложение для работы с базами данных.
  21. drawback — недостаток
    Изъян, отрицательная черта.
    The main drawback of this product is the high cost. — Главный недостаток этого товара — высокая цена.
  22. effective — эффективный (действенный)
    Способный обеспечить планируемый результат.
    Anti-virus software is not always effective against viruses. — Антивирусные программы не всегда эффективны против вирусов.
  23. efficient — эффективный (с высоким КПД)
    Продуктивный при минимальных затратах.
    Energy efficient home appliances can save you a lot of money. — Энергоэффективные бытовые приборы могут помочь вам значительно сэкономить.
  24. employ — нанимать
    Брать кого-л. на работу. Employer — работодатель, employee — сотрудник.
    The police often employ hackers. — Полиция часто нанимает хакеров.
  25. enterprise — предприятие
    Коммерческая организация.
    He’s the founder of an enterprise software company. — Он основатель компании по производству программного обеспечения для предприятий.
  26. environment — среда
    Обстановка, окружающие условия.
    Our aim is to design effective computer-based learning environments. — Наша цель — создать эффективную среду обучения, основанную на компьютерных технологиях.
  27. equipment — оборудование
    Устройства и инструменты для определенной цели.
    No recording equipment is allowed in the conference room. — В зале для совещаний запрещено пользоваться записывающим оборудованием.
  28. expertise — компетентность
    Углубленные знания в какой-л. области. Обратите внимание: ударение в этом слове падает на последний слог — [ˌɛkspəːˈtiːz].
    We need someone with expertise in virtualized IT environments. — Нам нужен кто-то компетентный в области виртуализированных сред ИТ.
  29. eyestrain — зрительное перенапряжение
    Боль и усталость глаз.
    Eyestrain has become a major health complaint among IT workers. — Зрительное перенапряжение стало главной жалобой на здоровье среди работников ИТ-сферы.
  30. ​goal — цель
    We can help you accomplish your goals. — Мы поможем вам добиться ваших целей.
  31. gadget — гаджет
    Небольшое цифровое устройство.
    You can choose from the most popular high-tech gadgets in our shop. — В нашем магазине на ваш выбор представлены самые популярные высокотехнологичные гаджеты.
  32. implement — реализовывать
    I need to implement two interfaces. — Мне нужно реализовать два интерфейса.
  33. increase — увеличивать(ся)
    Сделать(ся) больше в размерах/числе.
    You should try using more photographs to increase the conversion rate of your website. — Попытайтесь использовать больше фотографий, чтобы увеличить посещаемость вашего веб-сайта.
  34. install — устанавливать
    to install software — устанавливать программное обеспечение
    You’ll have to install the latest version of Adobe Flash Player. — Вам придется установить последнюю версию Adobe Flash Player.
  35. instruction — инструкция
    Указания, которым нужно следовать.
    Just follow the step-by-step instructions, which will guide you through the setup process. — В процессе установки просто следуйте пошаговой инструкции.
  36. insurance — страхование
    Финансовая защита собственности, жизни, здоровья и проч.
    Nowadays, insurers offer insurance for cyber losses. — В наши дни страховщики предлагают страхование на случай виртуальных потерь.
  37. integrate — интегрировать
    Объединить два или более в одно целое.
    The new features are tightly integrated with the existing service. — Новые функции тесно интегрированы с существующей платформой.
  38. intranet — интранет
    Локальная компьютерная сеть.
    Our online library can be accessed on the college intranet. — Доступ к онлайн-библиотеке нашего колледжа можно осуществить через интранет.
  39. latest — последний
    Новейший, современный.
    Download the latest updates on our company’s website. — Загружайте последние обновления с веб-сайта нашей компании.
  40. leadership — лидерство
    Способность вести за собой группу людей (или соответствующая позиция в группе).
    In a job interview, it’s best to give concrete examples to demonstrate your leadership skills. — Во время интервью при приеме на работу лучше привести конкретные примеры, демонстрирующие ваши способности к лидерству.
  41. level with someone — быть откровенным с кем-л.
    Быть честным, говорить правду кому-л.
    Do you think we can level with them and ask for more time? — Как думаете, мы можем быть с ними откровенны и попросить дополнительное время?
  42. low — низкий
    Low price may indicate low quality. — Низкая цена может свидетельствовать о низком качестве.
  43. maintain — поддерживать
    Содержать в рабочем состоянии.
    A poorly maintained website may kill your business. — Веб-сайт, который практически не поддерживается, может нанести непоправимый ущерб вашему бизнесу.
  44. matrix — матрица
    Группа элементов, организованных в строки и столбцы.
    Data Matrix Codes should appear on the outside packaging of medicinal products. —На упаковке медицинских препаратов должен присутствовать матричный штрих-код.
  45. monitor — осуществлять мониторинг
    Наблюдать, следить за чем(кем)-л.
    Your website will be monitored 24/7. — Мониторинг вашего веб-сайта будет осуществляться круглосуточно.
  46. negotiate — вести переговоры
    Торговаться или обсуждать условия, пока не будет достигнуто соглашение.
    Web designers often come across clients who want to negotiate prices. — Веб-дизайнеры часто сталкиваются с клиентами, которые начинают вести переговоры о цене.
  47. occur — случаться, происходить
    Why do errors occur? — Почему случаются ошибки?
  48. order — заказывать
    To order products, please fill out this form. — Чтобы заказать товар, пожалуйста, заполните эту форму.
  49. outsource — осуществлять аутсорсинг
    Пользоваться услугами сторонних компаний для реализации собственных проектов.
    Packaging is often outsourced to Asia. — Сборка часто осуществляется путем аутсорсинга в Азию.
  50. oversee — курировать
    Осуществлять наблюдение и руководство.
    Our Project Manager oversees the development of this new product. — Наш менеджер по проектам курирует разработку нового продукта.
  51. plan — план
    Последовательность шагов на пути к цели.
    We need a plan for increasing our market share in the US. — Нам нужен план, чтобы увеличить нашу долю на рынке США.
  52. prevail — превалировать, преобладать
    Google prevails in book digitalization. — Гугл превалирует в сфере перевода книг в цифровой формат.
  53. process — процесс
    Ход создания чего-л.
    All our employees will take part in the decision-making process. — Все наши сотрудники примут участие в процессе принятия решений.
  54. promote — продвигать
    Способствовать росту популярности чего-л.
    I think you should start promoting your products online right now. — Думаю, вам стоит начать продвигать вашу продукцию онлайн уже сейчас.
  55. prospect — перспектива
    We are excited by the prospect of working with you. — Мы воодушевлены перспективой работы с вами.
  56. provide — предоставлять
    We provide excellent service. — Мы предоставляем превосходный сервис.
  57. rapid — стремительный
    The last decade saw rapid expansion of the service sector. — В последнюю декаду мы наблюдали стремительное разрастание сферы услуг.
  58. reduce — снижать
    The price of this product needs to be reduced. — Цену на этот товар нужно понизить.
  59. remote — удаленный
    This software provides secure remote access of computers from any location. — Эта программа обеспечивает безопасный удаленный доступ к компьютерам из любой точки.
  60. replace — заменить
    Занять место чего(кого)-л.
    How can I replace my laptop fan? — Как мне заменить кулер в моем ноутбуке?
  61. research — исследование
    Изучение, поиск информации.
    Market research was carried out to identify customer needs. — Для изучения нужд потребителей было проведено маркетинговое исследование.
  62. resource — ресурс
    This site provides useful links to resources on English language e-learning. — Этот сайт предоставляет полезные ссылки на ресурсы по дистанционному обучению английскому языку.
  63. respond — отвечать, реагировать
    You must respond within ten days. — Вы должны дать ответ в течение десяти дней.
  64. simultaneous — одновременный
    The charger has a built-in USB power port and includes both a mini and a micro USB cable for simultaneous charging of your mobile devices. — Зарядное устройство имеет встроенный USB-порт и мини- и микрокабель USB для одновременной зарядки ваших мобильных устройств.
  65. solve — решать
    How do I solve a sound quality problem when uploading to Youtube? — Как мне решить проблему с качеством звука при загрузке на Youtube?
  66. sophisticated — сложный, «продвинутый»
    Our software makes the setup of sophisticated devices easy. — Наше программное обеспечение упрощает процесс установки продвинутых устройств.
  67. specifications — спецификация
    Детальное описание (продукта).
    We reserve the right to change the specifications of our products without notice. — За нами остается право менять спецификацию наших продуктов без предупреждения.
  68. substantial — существенный
    Весомый, ощутимый.
    There has been a substantial increase in buying power in our country. — В нашей стране наблюдается существенное увеличение покупательной способности.
  69. sufficient — достаточный
    The warehouse always has sufficient stock. — На складе всегда достаточный запас.
  70. suitable — подходящий
    Уместный, отвечающий потребностям.
    The keyboard should be suitable to the user. — Клавиатура должна быть подходящей для пользователя.
  71. task — задача
    Have a look at our task manager. — Обратите внимание на наш диспетчер задач.
  72. tool — инструмент
    This is our most downloaded network tools software. — Это программное обеспечение для работы с сетевыми инструментами скачивают у нас чаще всего.
  73. transfer — переводить, перемещать, пересылать
    You can transfer money online with PayPal services. — PayPal позволяет переводить деньги онлайн.
  74. vendor — поставщик
    You can buy items from multiple vendors in one order. — Вы можете включить в один заказ товары от нескольких поставщиков.
  75. webinar — вебинар
    Интернет-семинар.
    Join us next week for a free webinar on computer-based learning. — Приглашаем вас поучаствовать в бесплатном вебинаре по компьютерному обучению на следующей неделе.
Мастер Йода рекомендует:  Задача про вероятность попадания баскетбольного мяча в корзину

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

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

3 причины, почему роботы не смогут заменить программистов

В своей колонке Java-разработчик Павел Вейник, основатель и преподаватель школы программирования ITStart.by, порассуждал, являются ли программисты «операторами телеграфа 21 века» и не останутся ли они без работы в результате всеобъемлющей автоматизации.

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

Сейчас полетит камень в огород некоторых лидеров мнений. Как правило, люди, довольно далёкие от ИТ — точней, сильно далёкие — замечают тренд по автоматизации, которая происходит во всех отраслях, и экстраполируют его на ИТ. В частности — на программистов.

Это, с моей точки зрения, говорит о том, что они абсолютно не понимают, что такое автоматизация сама по себе и где границы её возможностей.

Индустрии предстоит пройти ещё очень долгий путь, прежде чем искусственный интеллект сможет по-настоящему конкурировать с программистами. Ну разве что существует какая-нибудь компания, которая уже лет 30-40 тратит все свои деньги (если денег у неё много) на исследования такого рода, но при этом о ней никто не слышал. Такой вот чёрный лебедь.

Фактор N1: именно айтишники всё автоматизируют

Во-первых, автоматизируют всё на свете — айтишники. Именно они внедряют правила работы различных процессов в код, чтобы в таком виде оно работало быстрее и точнее, чем если бы делалось руками. Ровно до тех пор, пока сам процесс не изменится — тогда для него придётся писать новый код. Это обычно долго.

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

Уже довольно давно — лет 8 точно — я вижу всевозможные системы, которые автоматизируют написание кода. Но они зачаточные и покрывают ничтожную долю того, что нужно автоматизировать, убирая самые простые, рутинные шаги разработчиков и в очень небольшом количестве случаев. Поэтому заслуживают упоминания лишь как нечто незначительное.

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

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

Фактор N2: технологическая неготовность ИИ к тому, чтобы заменить программистов

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

Как всякий молодой (когда-то) студент со взором горящим, я мечтал написать систему, которая будет автоматизировать хотя бы какие-то части работы программиста. Чтобы любой человек, сформулировав более-менее внятное ТЗ, мог получить на выходе рабочую программу. Мечты мальчишки — это прекрасно, но когда я начал углубляться, то понял, что до всего этого ещё страшно далеко.

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

Да, есть нашумевший стартап, который делает дизайн сайтов с помощью какого-то алгоритма. Но дизайн сайтов — это не более чем компоновка и совмещение цветов в соответствии с чёткими, известными правилами.

Фактор N3: Человеческий, или «любовница главного инженера»

В автоматизации участвует не просто условный конвейер с деталями, но и «влияющие лица», которые есть в каждом процессе. Любой бизнес-аналитик, работающий с предприятиями, это подтвердит.

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

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

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

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

В таких рамках любая машина не сможет функционировать, потому что получит противоречивые данные — и привет.

Водянистый пузырь искусственного интеллекта

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

То же самое было со всем известным пузырём доткомов и со многими другими пузырями: все возлагали большие надежды, надежды оказались слишком большими. «Ну извините, не получилось».

Скажем, очень много шумели в своё время нейронные сети. Они и сейчас поднимают много шума, но в начале 2000-х на них возлагали просто гигантские надежды, говорили, что это следующий искусственный интеллект, ещё немного — и они решат все проблемы. Однако они остались в узкой нише. Это происходит часто: какие-то яркие алгоритмы сначала провоцируют бум, потом раздуваются в пузырь, а потом лопаются.

Сегодня под ИИ понимают просто чуть более умные и сложные алгоритмы. Под эту марку можно подгрести что угодно, маркетологам всё равно: главное — инвестиции. Назовёмся ИИ — дадут больше денег? Чудно! 99% таких компаний лопнут, а 1% через 20 лет родит что-нибудь стоящее.

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

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

Треть разработчиков боится ИИ, но не понимает, что это такое?

Тем не менее, статистическое исследование, проведенное фирмой Evans Data Corp., свидетельствует: 29% из 550 опрошенных разработчиков ПО беспокоятся, что их на рабочем месте заменит искусственный интеллект (ИИ).

Тут есть серьёзная оговорка: большинство людей не понимает, что обозначает термин ИИ. Ставя перед респондентами этот вопрос, нужно оговорить, что понимается под этим термином.

Я читал книги про ИИ, написанные ещё в 1960-1980, и сейчас тоже почитываю что-то более современное. И вот какая штука: искусственным интеллектом постоянно называют то, чего машина делать ещё не может. Как только она научится это делать, это перестанет называться ИИ и получит какое-то другое название.

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

Если исходить из этого банального людского представления про ИИ — оно не академично, неправильно, но в большинстве голов присутствует — то и получается такая вот ерунда: «я как программист могу быть заменён машиной, которая умеет делать то, чего машина делать не умеет».

Оптимизация кода: «навороченное» удаление лишней переменной vs улучшение процессов

MIT и Adobe научили компьютер оптимизировать старый код быстрее программистов?

Ладно, разберёмся. В той же Java есть 2 уровня оптимизации кода: один происходит прямо при компиляции, другой прямо при выполнении. Эти оптимизации лет за 15 настолько развились, что некоторые ошибки исправляются очень уверенно.

При этом существуют:

  • оптимизации локальные: условно говоря, убрать лишнюю переменную. Написать алгоритм, который эту переменную отследит и удалит, крайне просто, но и ценность оптимизации невелика.
  • оптимизации, которые оптимизируют не просто код, а сам процесс. Как правило, в этом участвует уже и человек, совместно с машиной.

Помню, нужно было написать алгоритм оптимизации работы машин в таксопарке. Машин было под 300, довольно большой город — американский, конечно. Я выдал хитрый навороченный алгоритм, который много чего учитывал и требовал несколько месяцев на сбор данных разработку, отладку и тестирование. А пара менеджеров или бизнес-аналитиков за вечер придумали решение, которое вовлекает и пассажира, и таксиста, и простейшие данные по всему таксопарку, выбирая наилучшее решение для задачи, причём очень быстро, на лету.

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

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

Называть это шагом к ИИ — всё равно что называть новую модель машины прорывом в космос.

И всё-таки: так кого заменят роботы в ИТ?

Бизнес-аналитиков, менеджеров, дизайнеров (если это не что-то очень банальное), верстальщиков роботы вряд ли заменят.

Что касается тестировщиков, тут чёткая и всем известная тенденция: ручные тестировщики уже гораздо менее востребованы, чем тестировщики-автоматизаторы, которые пишут программы, тестирующие систему.

Эйчары — вот здесь, думаю, не за горами тот момент, когда их работа будет процентов на 80 автоматизирована. Есть модный тренд больших данных, который давно суют во все щели. Могу даже прикинуть, как с его помощью можно автоматизировать большую часть работы рекрутера. Сперва, конечно, кое-что будет сделано криво, но потом дело пойдёт.

Что касается неайтишных профессий, тут всё довольно прозрачно: людям, которые занимаются физическим трудом, а также тем, кто делает конвейерные рутинные операции в любой сфере (чуть позже — ещё и водителям, судя по тренду с самоуправляемыми авто), нужно срочно идти в программисты — чтобы их не заменили роботы.

Колонка подготовлена при участии Натальи Провалинской

*Мнение колумнистов может не совпадать с позицией редакции.

Почему гуманитариям поздно идти в IT

Программисты получают все больше, журналисты все меньше. Раньше все поголовно мечтали быть юристами, теперь идут в айтишники. Руководитель аналитического подразделения по информационной безопасности ООО «ТСС» Илья Шарапов рассказал «Снобу», почему гуманитариям поздно менять профессию, даже если очень хочется

26 Октябрь 2020 10:00

Н а днях увиделся с подругой — выпускницей философского факультета МГУ. Полгода пытается найти работу. Пошла в продавщицы магазина винтажных вещей — не понравилось, в книжном работать — скучно. Когда она сказала, что пошла учиться на программиста Python, я скептически усмехнулся, но смолчал. А надо было уже тогда отговорить. Россия — родина слонов, но не программистов: в сфере IT она катастрофически отстала от других стран, а последние перемены только увеличивают отставание.

Начнем с того, что в российских вузах не готовят программистов, таких направлений попросту нет. Есть курсы повышения квалификации, но сертификаты и дипломы, выданные там, в компаниях зачастую не котируются. При этом, будем откровенны, двухмесячное обучение в академии Google даст куда больше пользы, чем 4 года на университетском насесте — просто потому, что скорость устаревания знаний увеличилась. Кто вспомнит сейчас BASIC или Pascal? Сейчас в ходу другие языки: Python, Ruby, Go, c#, C++, PHP, JavaScript.

Во-вторых, труд программистов переоценен, но найти хороших специалистов очень трудно. В 2020 году в России работало около 400 тысяч программистов (в США — 4 млн, в Индии — 3 млн, в Китае — 2 млн). За последний год мы забраковали 200 кандидатов на должность программиста С++ под Linux и перестали удивляться чему бы то ни было.

Завидев сетевой стек, специалисты по железу тушевались, как школьник на выпускном. Когда программистов спрашивали, что такое API, они начинали вещать про ABI, это как если бы в Мадриде заговорили по-каталански. Были те, кто предлагал использовать спинлок вместо мьютекса в обработке прерывания. Это как если бы химик причислил сурьму к благородным газам.

В-третьих, происходит удивительная (и скрытая) утечка мозгов. Единственный россиянин из топ-5 лучших в мире программистов iOS работает на Apple, хоть и живет в Москве.

Если хотите переучиваться на программиста, будьте готовы: через три года работы у вас не будет

Если вы соберетесь переучиваться на программиста, будьте готовы, что через 3–4 года работу у вас заберут сайты-шаблоны, где выложены необходимые коды в открытом доступе, или искусственный интеллект, который теперь тоже учат писать программы. Впрочем, ИИ угрожает не только программистам: 30% банковского персонала в ближайшие пять лет потеряют работу, потому что ее эффективнее и лучше смогут выполнять роботы и алгоритмы, полагает бывший глава финансового конгломерата Citigroup Викрам Пандит. Задуматься стоит и журналистам: бот Heliograf в газете The Washington Post зарекомендовал себя в написании коротких спортивных и политических новостей куда лучше, чем штатные корреспонденты. Другая причина — упрощение и шаблонизация многих решений. Например, сегодня не обязательно нанимать программиста для создания сайта компании: такие сервисы, как Wix или Tilda, понятны даже неспециалисту, да и Google создал приложение сайтов-визиток для малых и средних компаний.

Учитывая последние тренды на рынке IT, возникает вопрос: кто же действительно будет востребован в обозримом будущем?


Во-первых, специалисты по искусственному интеллекту и машинному обучению. Это направление перевернет все отрасли и направления экономики.

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

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

Наконец, специалисты по информационной безопасности. К 2020 году ущерб от киберпреступлений превысит 2 триллиона долларов (согласно данным исследования Juniper Research). В России количество преступлений, совершенных хакерами, с 2013 по 2020 год выросло в 6 раз. И это лишь первые ласточки: внедрение IoT обернется катастрофическим ростом атак и проникновений (если не верите — прочитайте эту статью). Но специалисты по ИБ — это не просто программисты: это люди, работающие на пограничных сферах — от инженерии до кодирования. (Впрочем, и здесь, в сфере ИБ, перед ИИ разворачиваются колоссальные возможности: машины способны анализировать инциденты в разы быстрее, чем люди.)

Не стремитесь в айтишники, лучше прокачайте навыки в смежной области

В общем, если вы получили гуманитарное образование, не стремитесь сменить профиль и стать программистом — в этом вы вряд ли преуспеете. Лучше прокачайте ваши навыки в смежной с IT областью, и здесь вам помогут образовательные курсы Coursera, Stepik, Codecademy, а для более глубокого погружения — лекции MIT или Стэнфорда.

В моей практике встречались люди, которые уходили из IT в маркетинг, банки, юриспруденцию — и преуспели. Этому способствовали понимание современных технологий и тенденций, технический склад ума и «алгоритмизация» процессов работы. Они становились высококлассными маркетологами, понимающими алгоритмы работы ИИ. Юристами, специализирующимися на выводе IT-стартапов на международный рынок. Или брокерами, детально разбирающимися в работе бирж.

А если гуманитарий осваивает IT, он становится очередным бездарным разработчиком сайта.

Инструкция для тех, кто хочет стать программистом с нуля

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

Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.

С чего начать

Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.

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

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

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

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.

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

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

Мастер Йода рекомендует:  5 книг по проектированию архитектуры ПО

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

Вам нужно подготовить резюме. Не просто резюме, а хорошее резюме. Не стоит писать там лишней информации, но и умалчивать о своих умениях тоже не нужно. После того как вас пригласят на интервью, вы должны к нему подготовиться. Пройдитесь по материалу, который указан в вашем резюме. Вы должны быть уверены в своих знаниях. Просмотрите проекты, над которыми вы работали, вспомните технологии, которые вы применяли. И вперёд — к светлому будущему с новой профессией программиста.

Работа программиста

Тема в разделе «Софт и прочие технические вопросы», создана пользователем MelancholySTR SF46, 25 Jun 2020 в 14:14 .

Оценить пост #

MelancholySTR SF46

Есть ли здесь люди, которые отучились в универе/выучились сами и уже работают в этом направлении? Что подразумевает под собой работа пргера? Сидеть в офисе днями? Или залипать дома в код? Или что еще?

Mizary

вот что ты должен знать стандартное резюме

Рекомендации по образованию
Пройдите вступительный курс компьютерных наук: Udacity, Coursera.
Научитесь программировать хотя бы на одном ООП языке: C++, Java, Python:
Для новичков: Coursera — обучение программированию, курс MIT по Java, курс Google по Python, курс Coursera по Python.
Для среднего уровня: Udacity — дизайн компьютерных программ, Coursera — создание качественного кода, Coursera — языки программирования, курс Брауновского университета — вступление в программирование.
Изучите другие языки программирования: JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme: туториал по HTML, codeacademy.com.
Научитесь тестировать код: Udacity — методы тестирования, Udacity — отладка программ.
Знание дискретной математики: курс математики для программистов MIT.
Понимание алгоритмов и структуры данных: вступительный курс MIT об алгоритмах, Coursera — вступительный курс об алгоритмах (часть 1 и часть 2), список алгоритмов, виды структур данных, книга об алгоритмах.
Понимание работы операционных систем: курс Беркли.
Изучить искусственный интеллект: вступление в роботостроение, курс Стэнфорда, машинное обучение.
Создание компиляторов: курс Coursera.
Знание криптографии: курс Coursera о криптографии, курс Udacity о криптографии.
Знание параллельного программирования: курс Coursera.

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

TheTimeOfChange

1С программист — сидишь в офисе общаешься либо с пользователями либо с начальниками отделов или с постановщиками задач — делаешь работу по ТЗ или объясняешь как пользоваться тем, что ты навоял.

Если работаешь во франчайзи — ездишь по клиентам и делаешь то же самое.

Веб прогеры работаю в основном по ТЗ. Едешь к клиенту или он едет к тебе — составляете ТЗ на движок, потом 100 лет согласовываете и переделываете дизайн сайта.

Прогеры прикладного ТО делают всё по ТЗ созданного из сложной бюрократической структуры (военная тема и промышленная).

Прогеры микрософта у нас занимаются по большей степени локализациями, и адаптацией ПП.

На мой взгляд последние 2 — крайне скучная работа.

ZIP!ZAP!

тут каждый второй вроде сидит дома и зарабатывает 10000к в наносекунду, судя по словам

saw_tooth

Сидеть в офисе днями?

Или залипать дома в код?

и на толкане думать о коде

dulcine

Есть ли здесь люди, которые отучились в универе/выучились сами и уже работают в этом направлении? Что подразумевает под собой работа пргера? Сидеть в офисе днями? Или залипать дома в код? Или что еще?

гемор, нервы, неопределённость в завтрашнем дне. я год помучил и послал всё на. сижу уже 6 лет сетевым админом, всё у меня . спокоен как удав, получаю больше. уверен в завтрашнем дне(могу сидеть так даже до пенсии) 😉 ах да бонусом несу х. на форумах типа д2ру, а денюжка капает ;))))

TheTimeOfChange

Есть ли здесь люди, которые отучились в универе/выучились сами и уже работают в этом направлении? Что подразумевает под собой работа пргера? Сидеть в офисе днями? Или залипать дома в код? Или что еще?

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

гемор, нервы, неопределённость в завтрашнем дне. я год помучил и послал всё на. сижу уже 6 лет сетевым админом, всё у меня . спокоен как удав, получаю больше. уверен в завтрашнем дне(могу сидеть так даже до пенсии) 😉

ХЗ неопределенность была только 1-2 года, пока учился параллельно в универе и работал, потом было всё норм.

гемор, нервы, неопределённость в завтрашнем дне. я год помучил и послал всё на. сижу уже 6 лет сетевым админом, всё у меня . спокоен как удав, получаю больше. уверен в завтрашнем дне(могу сидеть так даже до пенсии) 😉 ах да бонусом несу х. на форумах типа д2ру, а денюжка какает ;))))

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

А прогерам сложнее то, что постоянно нужно быть в курсе всего нового, т.е. будучи прогером ты постоянно учишься. Если ты не актуален — ты не конкурентоспособен.

ProWhite

Есть ли здесь люди, которые отучились в универе/выучились сами и уже работают в этом направлении? Что подразумевает под собой работа пргера? Сидеть в офисе днями? Или залипать дома в код? Или что еще?

у меня друган работает, раньше залипал в офисе, но уже как года 2 берет заказы домой, репутацию наработал толкову, заказов у него уйма, говорит что нравиться, дома сам себе хозяин никто в шею не гонит, но естественное если хочешь норм зарабатывать, то придется ежедневно вкалывать часов по 10-12 ( зато его зп щас в районе 2-3к в месяц)

Chiptun3

Есть ли здесь люди, которые отучились в универе/выучились сами и уже работают в этом направлении?

Что подразумевает под собой работа пргера?

У всех своя специфика. Но, думаю, в общем: получаешь техническое задание в том или ином выводе, пишешь решение полученной задачи.

Сидеть в офисе днями? Или залипать дома в код? Или что еще?

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

LowGravity

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

MelancholySTR SF46

Принцип «логика, а не математика» ,

вот что ты должен знать стандартное резюме

Рекомендации по образованию
Пройдите вступительный курс компьютерных наук: Udacity, Coursera.
Научитесь программировать хотя бы на одном ООП языке: C++, Java, Python:
Для новичков: Coursera — обучение программированию, курс MIT по Java, курс Google по Python, курс Coursera по Python.
Для среднего уровня: Udacity — дизайн компьютерных программ, Coursera — создание качественного кода, Coursera — языки программирования, курс Брауновского университета — вступление в программирование.
Изучите другие языки программирования: JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme: туториал по HTML, codeacademy.com.
Научитесь тестировать код: Udacity — методы тестирования, Udacity — отладка программ.
Знание дискретной математики: курс математики для программистов MIT.
Понимание алгоритмов и структуры данных: вступительный курс MIT об алгоритмах, Coursera — вступительный курс об алгоритмах (часть 1 и часть 2), список алгоритмов, виды структур данных, книга об алгоритмах.
Понимание работы операционных систем: курс Беркли.
Изучить искусственный интеллект: вступление в роботостроение, курс Стэнфорда, машинное обучение.
Создание компиляторов: курс Coursera.
Знание криптографии: курс Coursera о криптографии, курс Udacity о криптографии.
Знание параллельного программирования: курс Coursera.

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

О, даа, есть чем заняться.

ProWhite

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

так это уже от личных убеждений зависит, ты и в офисе можешь касынку раскладывать

GoInDown

Друг работает, Сидит в офисе 5 дней в неделю по вечерам и выходным бомбит удаленно заказы. как то так

Сказочник

Я не работал в софтверной конторе, там все немного по другому. Работаю в гос шараге, в основном главная задача — автоматизация производства. Т.е. есть тетя Маша, которая выгружает какие-нибудь данные из 10 программ, потом в экселе сидит и соединяет все, после чего распихивает по табличкам. На это у нее уходит пол жизни. Ты делаешь так, чтобы все происходило за 1 минуту по нажатию кнопки.

Есть, конечно, и разработка по ТЗ. Недавно писал программу электронного учета обращений по региону. Сейчас пишу программу для водителей.

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

TheTimeOfChange

так это уже от личных убеждений зависит, ты и в офисе можешь касынку раскладывать

Косынка быстро надоест, а дота не надоедает никогда) А на роботе в доту не поиграешь.

ProWhite

Косынка быстро надоест, а дота не надоедает никогда) А на роботе в доту не поиграешь.

это смотря где и кем ты работаешь)) знакомый в офисе работает в логистике ( я точно хз его специальность но сидит за компом)

так вот он в танки лупит на работе и не переживает))

Russian_Retard1337

вот что ты должен знать стандартное резюме

Рекомендации по образованию

Взлольнул с мусорного списка.
За полтора года моего отсутствия, мамкины советчики так и не изменились.

По поводу что из себя представляет работа — всё индивидуально.

Скорее всего, ты будешь как и остальные 80% снг — веб-макакой, преимущественно фронтенд. Первые полгода будет рост, потом работа превратится в рутину. Кодить(на самом деле верстать) придется много, потому что думать там не нужно. Полистал доки и написал.
Если брать человека который связан с CS — кодить придется мало. За день можно не написать и строчки кода, большая часть времени уйдет на подумать. В зависимости от области может понадобится матстат, тервер, какие-то избранные главы лианала.
По поводу сидеть дома или в офисе: зависит от компании, как правило есть логирование, через uptime смотришь сколько отсидел, через jiry\redmine\etc (нужно подчеркнуть) смотрят чего и сколько написал.

Список выше — полный мусор, оторванный от реальности.

Show Me Bukkake

Принцип «логика, а не математика» ,

вот что ты должен знать стандартное резюме

Рекомендации по образованию
Пройдите вступительный курс компьютерных наук: Udacity, Coursera.
Научитесь программировать хотя бы на одном ООП языке: C++, Java, Python:
Для новичков: Coursera — обучение программированию, курс MIT по Java, курс Google по Python, курс Coursera по Python.
Для среднего уровня: Udacity — дизайн компьютерных программ, Coursera — создание качественного кода, Coursera — языки программирования, курс Брауновского университета — вступление в программирование.
Изучите другие языки программирования: JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme: туториал по HTML, codeacademy.com.
Научитесь тестировать код: Udacity — методы тестирования, Udacity — отладка программ.
Знание дискретной математики: курс математики для программистов MIT.
Понимание алгоритмов и структуры данных: вступительный курс MIT об алгоритмах, Coursera — вступительный курс об алгоритмах (часть 1 и часть 2), список алгоритмов, виды структур данных, книга об алгоритмах.
Понимание работы операционных систем: курс Беркли.
Изучить искусственный интеллект: вступление в роботостроение, курс Стэнфорда, машинное обучение.
Создание компиляторов: курс Coursera.
Знание криптографии: курс Coursera о криптографии, курс Udacity о криптографии.
Знание параллельного программирования: курс Coursera.

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

Это самый расширенный ответ, который я когда либо видел. Спасибо тебе.

Есть ещё какие-то советы по Питону?

Какие бывают виды программистов? Виды деятельности программиста

Представьте себе постапокалиптическую картину мира без программистов. Драконы из «Игры престолов» превратятся в черно-белых Годзилл. Исчезнут чаты, мессенджеры и даже тетриса не будет. Мы нуждаемся в программистах. Они пишут коды для смартфонов, компьютеров и стиральных машин, заставляя технику работать. Но это далеко не все. У профессии много направлений и специализаций, каждая из которых имеет свои особенности и сложности, зарплата также зависит от того, чем занимается программист.

Web-разработчик

Самым востребованным на 2020 год видом профессии «программист» является веб-разработчик. К этой категории относятся специалисты по созданию сайтов.

Условно веб-мастера делятся на три группы:

  • разработчик Frontend;
  • Backend-программист;
  • Fullstack-девелопер.

Далеко не все знают, что такое клиентская и серверная часть. Поэтому работодатели зачастую путают специализации в веб-разработке. На биржах фриланса встречаются объявления, в которых наниматели от фронтенд-мастера требуют знания фулстак, при этом платят как за обыкновенную верстку.

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

Кто такой фронтенд-разработчик?

Видимая часть интернет-ресурса, открывающаяся в браузере после ввода запроса, называется клиентской или фронтендом. Оформлением, цветовой гаммой, расположением заголовков занимается дизайнер. Художник рисует будущий макет и передает его верстальщику, который превращает его в HTML-шаблон. На этом этапе подключается веб-программист и добавляет интерфейсу динамики.

Фронтенд разработчики – это вид программистов, отвечающих за создание виджетов, кнопок, выпадающего меню, слайд-шоу. Все интерактивные элементы появляются на страницах благодаря им. Они пишут скрипты на JS, включают их через HTML-теги и следят за тем, чтобы каждая часть кода работала правильно.

Инструменты фронтенд-разработчика

Писать код на HTML, CSS и JavaScript не достаточно. Чтобы оставаться конкурентоспособным на рынке труда, Frontend-разработчик должен знать следующее:

  1. jQuery. Библиотека JavaScript с коллекцией плагинов и расширений. Вместо того чтобы писать код с нуля, jQuery позволяет добавлять и настраивать готовые элементы. Например, автозаполнение форм, слайд-панель, таймер, связанная анимация.
  2. Фреймворки Bootstrap, Foundation, Backbone, AngularJS и EmberJS. Это программные оболочки повышающие производительность ресурса. Предоставляют готовый дизайн и существенно облегчают жизнь разработчика.
  3. Препроцессоры SASS и LESS. Добавляют CSS функциональности, обрабатывает код, превращая его в отформатированный и кросс-браузерный CSS.
  4. Популярные CMS — адаптивная верстка и кросс-платформенность.

Обязанности и виды деятельности программиста включают отладку и тестирование клиентской части. Веб-инженер проверяет отдельные блоки исходного кода на ошибки. Тестирует интерфейс, узнает, насколько пользователям будет удобно взаимодействовать с приложением. Также фронтенд-специалист должен разбираться в азах серверного программирования, технологиях Node.js, помимо JS писать на PHP и SQL.

Зарплата и перспективы

Средний оклад мастера составляет 66 тысяч 410 рублей в месяц. В США эта сумма вырастает до 102 тысяч долларов в год. Высокие зарплаты, легкость языка разметки и написания скриптов привлекает начинающих кодеров к фронтенд-разработке. Освоив JS, большинство из них переходит к серверным языкам. Самые талантливые учат высокоуровневые C и Java, постепенно осваивают геймдев, создание приложений и другие виды информационной деятельности программиста.

Программист серверной части

Backend – это часть веб-приложения, находящаяся на сервере. Она не отображается в браузере, но отвечает за изменения содержимого, обеспечивает динамическую работу и хранит всю информацию сайта. Состоит из сервера, приложения и базы данных. Вид программистов, которые занимаются созданием и разработкой этой части веб-ресурса называются Backend-разработчиками.

Программист серверной части – это следующая эволюционная ступень после фронтенд-разработчика. Его задача заставить сервер, приложение и БД взаимодействовать. Пишет на серверных языках PHP, Ruby, Python, Java и .Net. В качестве инструментов для работы с данными использует MySQL, Oracle и SQL Server. В описаниях вакансии работодатели часто указывают дополнительные требования:

  • знание фреймворков PHP: Zend, Symfony и CakePHP;
  • опыт работы с программным обеспечением контроля версий SVN, CVS или Git;
  • навыки работы с операционными системами Linux, Unix, MacOS X и Windows Server.

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

Разработчик Fullstack

Это вид работы программиста, включающий в себя все этапы создания веб-приложения. Fullstack developer –мастер на все руки, пишущий одновременно клиентскую и серверную часть. Первые упоминания о профессии появились в 2010 году после статьи сотрудника Facebook Карлоса Буэно. С этого момента компания нанимает работников исключительно уровня Fullstack.

Обязанности универсального веб-программиста:

  1. Серверное администрирование. Подключение через терминал к удаленным серверам без GUI. Управление пользовательскими группами, брандмауэрами, программами Apache и Nginx. Фулстак-программист должен все знать об облачном хостинге на платформах Heroku, Google Cloud, Azure, AWS и любых других.
  2. Создание бэкенда и базы данных. Специалист должен разбираться в базах данных MySQL, PostgreSQL, а также БД noSQL: MongoDB, Redis или Cassandra. Иметь представление о графовых СУБД, таких как Neo4j.
  3. Фронтенд-разработка и дизайн. Помимо стандартных обязанностей, верстки и подключения JS, Fullstack-мастер проектирует макет в редакторах Photoshop или Illustrator.

Фулстак-разработчики – это специалисты уровня Senior Developer. За ними охотятся хедхантеры и у них самые высокие оклады. В США зарплата Fullstack Developer начинается от 70-80 тысяч долларов и от 25-30 тысяч долларов в странах Восточной Европы. На иностранных биржах фриланса, например Upwork, один час работы Fullstack-разработчика оценивается в 30$ и выше.

Специалист по созданию и разработке компьютерных игр

Разработка компьютерных игр – одна из самых быстроразвивающихся сфер ИТ-технологий. По данным аналитического агентства NewZoo объем рынка видеоигр с каждым годом увеличивается на 9%. Если в 2020 году он составил почти 100 миллиардов долларов, то к 2020 году эта сумма увеличится до 112.5 миллиардов. Поэтому «инженер видеоигр» – это перспективная и высокооплачиваемая должность.

Инженер, или Game-разработчик – общее название категории специалистов, задействованных в процессе создания игры. Главная задача – превратить идею в программный код и заставить все элементы взаимодействовать. 90% рабочего времени программисты пишут и отлаживают алгоритмы на языке C++, Visual Basic, Java и MEL.

Романтики в профессии мало. В основном, это рутинный и многочасовой труд за компьютером. График обычно ненормированный. Если дизайнеру приходит гениальная идея срочно что-то переделать, всю ночь корпит над кодом именно программист.

Какие бывают виды программистов игр?

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

  • Ведущий программист по звуку: пишет утилиты, чтобы аудио и видео эффекты сочетались.
  • Разработчик игрового движка.
  • Специалист UI или создатель графического интерфейса.
  • Инженер искусственного интеллекта для имитации логики и принятия персонажами решений, особенно в играх, где от игрока зависят действия противника.
  • Программист геймплея: стратегия игры, реализация механики и логики.
  • Инженер устройств ввода. Пишет код для джойстиков, клавиатуры, мышки и устройств, с помощью которых пользователь будет взаимодействовать с видеоигрой.
  • Программист коммуникационных сетей для многопользовательских игр.

За свой труд на благо игровой индустрии данный вид программистов получает зарплату от 60 тысяч рублей. Доход инди-разработчиков точно просчитать сложно. Есть случаи, когда успешные проекты приносили миллионы буквально за неделю. Например, игра-хит Punch Club, Angry Birds и всем известная «Майнкрафт». Существуют, конечно, провальные задумки наподобие Scroll Ninja, не оправдавших ожидания создателей.

Системный программист

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

Разрабатывается программное обеспечение под различные операционные системы, включая серверные Unix и Windows Server, а также мобильные платформы. Код пишется на языках «Си», за редким исключением Assembler. Основная задача системного инженера заключается в установке, настройке, тестировании ОС и всех ее компонентов

Различные виды профессии «программист» требуют от специалиста определенных навыков, опыта работы и уровня владения компьютерными языками. Но труд именно системных инженеров является самым сложным. Для создания ПО нужны углубленные знания информатики, алгебры, математики и построения алгоритмов.

Системный программист необходим в любой сфере ИТ, включая автоматизацию процессов производства и мониторинг безопасности. В США за труд специалиста готовы платить от 87 до 104 тысяч долларов. В Англии 57 тысяч фунтов стерлингов, в России 90 тысяч рублей.

Инженер прикладного программного обеспечения

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

Работа прикладного инженера заключается в написании кода, его последующей компиляции, отладке и тестировании. Иногда специалист обновляет или вносит изменения в уже существующее ПО. Для программирования использует высокоуровневые языки Java, C#, C++, Python, PHP. Прикладные программисты редко трудятся в одиночку. В основном, они являются участниками стартапов, или входят в штат сотрудников компании, занимающейся разработкой компьютерного софта.

«Программист» – интересная и разнообразная профессия с множеством направлений и специализаций. Одни делают виджеты для сайтов и проектируют API, другие пишут код для серверов или корпят над графикой Disciples III. Каждый, кто любит программировать, может реализовать себя в веб-разработке, стать именитым создателем игр или писать программы для спутников НАСА.

Профессия программист

Как стать программистом

Правда ли, что программирование — ну самая востребованная специальность в мире? Кто такие системные и прикладные программисты? Сколько лет нужно учиться на программиста? В какой вуз и колледж поступить, чтобы стать программистом?

Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает.
Юмор программистов

Мастер Йода рекомендует:  PHP массивы – путеводитель для начинающих PHP

Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2020 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн — в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.

Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение и даже алгоритм работы микроволновки. Программный код пишется на специальном языке программирования. Он состоит из обычных слов и некоторых специальных символов. Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.

Если вы думаете, что программист = компьютерщик, то это далеко не так. Самое удивительное, что программист не обязательно работает на компьютере. Он может писать код программы хоть на салфетке, а компьютер ему нужен, чтобы применить этот код и протестировать.
Не стоит также приравнивать программиста к «айтишнику». Под общим названием «IT-специалист» скрывается более 50 разных профессий и должностей. Например, UIX-дизайнер (разработчик интерфейсов), account-менеджер (специалист техподдержки), системный администратор, devops («инженер по автоматизации IT-процессов»), менеджер IT-проекта – это «айтишники», но не программисты. Однако стоит помнить, что в любую из IT-профессий можно попасть через образование программиста.

По специализации программисты делятся на системных, прикладных и веб-программистов. Прикладные программисты занимаются написанием различных программ и приложений: игры (например, популярная игра Angry birds), офисные приложения (например, Microsoft Office Word) и многое другое. Системные программисты занимаются созданием операционных систем (например, Android или iOS). Веб-программисты разрабатывают интернет-сайты и программы, которые поддерживают работу этих сайтов.
На сайтах вакансий вы найдете разделение программистов по тем языкам, с которыми они работают: программист C++, программист Delphi, PHP-программист. А также по типам задач, которые они выполняют: программист баз данных, фронтенд / бекенд разработчик, мобильный / десктоп разработчик, программист 1С, программист Битрикс, геймдев, архитектор ПО, системный инженер и т.д.

Плюсы и минусы профессии программиста

Профессия программиста очень притягательна для современных абитуриентов. В 2020 году в технических вузах самый большой конкурс пришелся на специальности «Прикладная математика», «Информатика и вычислительная техника», «Электроника и наноэлектроника». В 2020 году проходные баллы по ЕГЭ на эти специальности обещают только вырасти. Что так привлекает молодых в программировании?

Плюсы профессии программист:

Высокая зарплата. Средняя зарплата высококвалифицированного программиста 70-100 тыс. рублей.
Востребованность. Рынок труда для программистов растет за счет цифровизации всех сфер общественной жизни. Онлайн-образование, телемедицина, интернет вещей (IoT), даже сельское хозяйство не обходится теперь без IT-специалистов.
Интересные задачи и простор для творчества. Что делает программист на работе? Пишет код, тестирует, проверяет на уязвимости, переписывает код. Тем не менее, конечный результат кодирования – это рабочая программа с разными целями. Одни программисты создают игры. Другие программируют роботов. Третьи делают полезное приложение под Android. Четвертые создают агрегатор, который соберет все билеты мировых авиакомпаний в один сервис для бронирования авиабилетов. Разнообразно, не правда ли? А когда продукт начинает исправно работать, программист испытывает радость, как персонаж папа Карло, который из деревянного полена выстругал живого мальчика.
Возможность удаленной работы и свободный график. Программисты – это каста людей, к которым не применяют строгих офисных правил. Для поддержания креативности и работоспособности им разрешают работать из дома, приходить позже на работу. И, если вы еще не знаете, лучшие офисы принадлежат именно IT-компаниям. Загляните в Google, Microsoft, Яндекс и Mail.Ru.
Карьерный рост в России и за рубежом. Для программирования нет географических границ. Во-первых, многие российский специалисты работают удаленно в иностранных проектах. Во-вторых, переехать в «Силиконовую» долину (более точно ее называть «Кремниевой») для IT-профессионала с отличным знанием английского гораздо проще, чем, например, бухгалтеру, юристу или инженеру-строителю, которым придется изучать специфику профессии в конкретной стране.

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

Чтобы стать программистом, можно пойти тремя путями:
1. После 11 класса в вуз по направлению 09.00.00 «Информатика и вычислительная техника» или 10.00.00 «Информационная безопасность».
2. После 9 класса в колледж на эти же направления, а потом пойти или не пойти в вуз.
3. Учиться на курсах программирования и самому.

IT-сфера отличается молодостью и современным подходом к образованию. При трудоустройстве ценится не столько диплом, сколько те навыки (hard skills), которые у будущего сотрудника в багаже. Работодатель даст тестовое задание по программированию и по его результатам примет или не примет соискателя на работу. Именно поэтому приобретать знания и опыт в информационных технологиях можно и дома с помощью книг, online-курсов и создания небольших программ. Какой вариант образования лучше, решает каждый сам. Главный вопрос, который должен задать себе программист – «Достаточно ли я усидчивый и целеустремленный человек, чтобы выучиться и потом конкурировать с теми, кто пришел из вуза?».

В каких вузах и колледжах учиться на программиста
Для поступления в вуз необходимо успешно сдать ЕГЭ по математике, русскому языку, информатике и ИКТ, физике, английскому языку (4 из 5 экзаменов в зависимости от специализации). В Москве получить образование программиста можно во многих учебных организациях.
Полный список вузов, колледжей и техникумов смотрите здесь >>

• Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
• IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
• Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)

Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.

Сами программисты оценивают длительность каждой ступени следующим образом:
• Первые полгода-полтора года реального опыта вы junior
• При активном обучении следующие 1-3 года работы вы middle
• А программист с опытом работы 4-6 лет – это senior

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

Кроме глубокой специализации в программировании, программисту доступно движение в смежные области внутри IT-компании – дизайн, маркетинг, аналитику, менеджмент. Программист может стать архитектором программного обеспечения, девопс-инженером, менеджером IT-проектов, если ему это интересно и у него есть нужные компетенции. Например, чтобы работать менеджером, ему потребуется коммуникабельность, инициативность, умение формировать команду и контролировать бизнес-процессы.

Оплата труда (диапазон зарплат)

Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:

    30 000 – 260 000 рублей

Перспективы профессии (востребованность)

Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки — это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в «джентльменский набор» при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может «насытиться» профессиональными программистами, и их зарплаты упадут.
В-третьих, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.

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

Какие компетенции и личные качества необходимы программисту

Наверняка, вы сходу назовете 3 качества, которые отличают программиста:
✎ логическое мышление
✎ математические способности
✎ усидчивость

Есть несколько компетенций, которые делают из хорошего программиста лучшего:
✎ гибкость мышления
✎ хорошая память
✎ многозадачность
✎ развитое воображение
✎ умение ясно выражать свои мысли
✎ коммуникабельность
✎ работа в команде

Человек, который умеет придумывать новые идеи и хорошо взаимодействовать в коллективе таких же разработчиков, сможет попасть в самые интересные и передовые IT-проекты или открыть свой.

Что делать уже сейчас

Вы думаете о программировании или хотите в будущем работать в IT? Начать развиваться можно уже в сейчас:

    ✔ Углубленно изучать математику, информатику, русский и английский язык в школе.
    ✔ Программировать и создавать веб-сайты, небольшие редакторы и полезные утилиты.
    ✔ Читать новости из сферы IT: на порталах cnews.ru, habrahabr.ru, computerworld.ru, hightech.fm и github.com.
    ✔ Заниматься в кружках по программированию и школах юного программиста.
    ✔ Посетить iСмену лагеря «Профессионалы будущего», чтобы пообщаться с настоящими IT-специалистами и узнать больше о современных технологиях.

Если вы хотите разобраться, подойдет ли вам специальность программиста, то пройдите наш бесплатный тест: информационно-технологический профиль

Автор: Ольга Биккулова, ЦТР «Гуманитарные технологии»

Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.

Будущее за программистами

by Andrej — Category Обзоры on 18/07/2020

Автоматизация производства и офисного труда обеспечат программистов работой как минимум до ближайшего апокалипсиса.

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

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

На заводах творится то же самое, ведь китайцы и вьетнамцы уже давно не готовы работать за тарелку риса. Открытие в 2020 году полностью автоматизированного производства кроссовок Adidas в Германии или строительство «Гигафабрики» Tesla в Неваде служит этому подтверждением. И это лишь верхняя часть айсберга, так как…

Засилье гаджетов требует все большего числа программистов, и дальше будет только хуже

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

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

Будущее за программистами? Программированию уже учат с самого детства!

Если вы до сих пор думаете, что программирование — это удел спецов и профессионалов, то вы напрочь застряли в прошлом, будущее за программистами. И уже сегодня программируют даже дети дошкольного возраста, для которых существуют специально разработанные обучающие языки. Самые известные — это Scratch от MIT и Blockly от Google.
Оба построены по одинаковому «блочному» принципу — каждая команда здесь представлена в виде графического блока. Их можно соединять в цепочки — такие «паровозики» из блоков и составляют код, задающий последовательность действий программы.
Причем программировать можно не только виртуальные объекты — в продаже есть куча роботизированных игрушек, функционирующих на детских языках программирования. Дети постарше используют одноплатные компьютеры micro:bit.

Компьютер уже сейчас стоит как ужин в среднем ресторане

Функционал одноплатных компьютеров micro:bit целиком и полностью находится во власти фантазии программиста.
Сегодня цены на такие компьютеры составляют считанные доллары.
Все это говорит о важной перемене — если еще недавно изобретение гаджетов было уделом дипломированных инженеров из крупных корпораций, то теперь, благодаря дешевым компьютерам, ситуация в некотором роде вернулась в 70-е года ХХ века, когда технологии двигали вперед продвинутые гики из гаражей. А это в свою очередь значит, что…

Сегодня программисты даже не обязаны ходить на работу?

Мы можем себе в этом не признаваться, но работа в офисе давно выглядит как атавизм дремучего прошлого. Программисты поняли это раньше всех — именно поэтому среди них такое огромное количество фрилансеров и сотрудников на «удаленке».

Действительно, какой смысл программисту сидеть в офисе, если его код все равно никто не понимает, кроме него самого? Нет, конечно, если офис представляет собой креативное пространство с бесплатными печеньками, то ходить в него даже в удовольствие. Правда, ирония в том, что такой офис, как правило, — удел именно ИТ-компаний.
Скажем больше, сегодня программист может себе позволить вообще не устраиваться на работу. Программисты-фрилансеры востребованы как никогда, а число стартапов в технологичной сфере и вовсе скоро превысит количество задействованных в них сотрудников. Новые формы взаимодействия между программистом и работодателем приводят к замечательному следствию:

Программист может работать в любом уголке мира, не выходя из дома

Даже программист с минимальными знаниями английского может работать с зарубежными заказчиками, ведь компьютерный язык универсален для всех. Отсюда весьма привлекательная «плюшка» для наших специалистов — оплата в валюте. Еще не забыли конец 2014 года? Многие программисты с зарплатой в долларах точно нет — ведь в рублевом эквиваленте их доход тогда увеличился почти в два раза!
Все это далеко не тайна и приток программистов в профессию растет. Впрочем, спрос растет еще быстрее. Как показывают исследования Бюро статистики труда США, в 2020 году около миллиона вакансий программистов в Америке будут незаняты. И дело здесь не в институтах, которые не справляются с запросами индустрии, ведь…

Для получения профессии программист совершенно не обязан просиживать штаны в вузе

Банальная мысль, но от этого не менее верная — в вузах учат теории, а не практике. Вот убедительный пример: даже продвинутые инженеры, приходящие на работу в Facebook, проходят шестинедельные курсы, большая часть которых посвящена программированию. А туда нанимают только лучших в своем деле.
Среди подразделений программистов Google есть те, в которых 14% сотрудников не имеют даже диплома об окончании колледжа. Можно сказать, что требовать от программиста окончания профильного вуза, это то же самое, что требовать от строителя диплома архитектора. Но как же тогда люди приходят в профессию? Некоторые учатся сами, а многие заканчивают курсы, которых оказывается вполне достаточно, чтобы найти первую работу в этой сфере.

Возможно Вас также заинтересует…

В разработке интернет-проектов, как и в промышленности активно используется термин ЧПУ. Однако здесь он не…

Изготовление сайта — это еще не гарант привлечения посетителей. И даже если привлечь их получится,…

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

В 2014 году в профессиональной среде стал активно использоваться термин инфографика. Несмотря на то, что…

Как я стал разработчиком с нуля. И вы сможете

В нашей стране люди воспитаны так, что профессию надо выбрать раз и навсегда, причем уже к 18 годам. А что, если ошибся, либо надоело, либо дошел до стадии, когда карьерный рост по каким-то причинам невозможен? В юности смена рода деятельности воспринимается более-менее нормально, но когда тебе 30, а то и больше, тут уж не до маневров… Или это не так?

Короче, мне за 30, я состоявшийся профессионал, и я решил освоить фронтенд-разработку. Захотелось двух вещей:

  1. Возможности заработать на жизнь чем-то еще, кроме копирайтинга, журналистики и прочего писательского труда.
  2. Учебы. Вот той самой учебы, после которой у тебя появляются востребованные на рынке труда скиллы.

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

С чего начать?

Главная проблема новичка-кодера. Технологий море, языков океан, терминов – безграничная вселенная. Фреймворки, библиотеки, методологии, метаязыки… Неясно вообще ничего, а знакомые программисты и вовсе советуют не лезть. А если очень хочется?

Решив, что мне интересна разработка сайтов, а именно фронтенд, я отправился на YouTube. Там мне помогли видео о том, что должен знать веб-разработчик в текущем году – особенно те ролики, где досконально рассматривали всю «дорожную карту» от самых основ до вершин. Тут же более-менее стало ясно, куда двигаться.

Как учиться?

В общем есть два пути:

Суровый самоучка – кидаетесь в пучину с головой. Все, что надо, есть на YouTube, а все платное можно даром скачать на торрентах. Если что непонятно, спрашиваем в чатиках и соцсеточках.

Подход кажется хорошим, но он требует невыносимого самоконтроля. Вы можете безвылазно смотреть YouTube в течение первой недели, а на второй «что-то пойдет не так», и вы просто бросите. Просто потому, что вдруг отдали приоритет чему-то другому. Сериалу, играм, девушке – неважно. К тому же, вы ничего не платили, а стало быть ничего не теряете – и легко сливаетесь.

Те же бессистемные знания, которых вы нахватались за «неделю интенсива», быстро испарятся, а с ними и ваши мечты о новой жизни успешного айтишника, работающего в Европе, а то и в Силиконовой Долине.

Серьезный студент – идете учиться на платные курсы. Это лучшее, что можно сделать, потому что это – серьезно. Денег всегда жалко, но если уж вы решились оплатить учебу, стало быть, вы действительно хотите перемен в жизни и вряд ли позволите себе халявить. По крайней мере, в данный период.

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

  • Систематизированные видеоуроки. С самых-самых основ. Я гуманитарий, и мне нужно все разжевать и положить в рот без лишней технической терминологии.
  • Качественная профессиональная подача. Мой учитель по ту сторону экрану должен говорить уверенно и по делу. И таких, как оказалось, очень и очень мало – большинство «преподов» можно смело слушать на удвоенной скорости, в то и не слушать вовсе.
  • Интересная практика. Без этого никуда. Нужно решать задачки, и важно, чтобы они соприкасались с реальной жизнью, а не только с математикой. Согласитесь, что одно дело тасовать абстрактные цифры в массивах, и совсем другое – написать какой-нибудь планировкщик или хотя бы базу девушек, с которыми ты одновременно встречаешься.

Мою веру в гуру кодинга окончательно подорвали на бесплатном вебинаре одной из широко рекламируемых в рунете школ. Молодой человек в пижаме пытался объяснить основные понятия в программировании, обильно сдабривая речь словами «ну», «вот» и «короче». В качестве примеров он приводил математические операции, и было ни черта не ясно, как из всех этих уравнений получается конечное приложение. Аудитория требовала объяснений. Парень ухмылялся: ну головой-то думайте , грёбаные гуманитарии ! В конце вебинара он поздравил собравшихся с тем, что сейчас можно записаться на курсы со скидкой. И ушел.

Где учиться?

Для желающего освоить новую профессию в интернете есть куча платных и бесплатных материалов. В моем случае начинающего веб-разработчика я обнаружил:

  • Неиссякаемый YouTube. Вроде бы все есть, но с чего начать, а тем более, куда продолжить, – непонятно. Знания не систематизированны. Блогеры любят фокусироваться на частностях, упуская общую картину. Однако YouTube хорош, когда нужно углубить какую-то тему.
  • Русскоязычные платные курсы «Нетология», GeekBrains, HTML Academy и подобные. Дороговато, если не решил крепко-накрепко менять профессию и не уверен, что в будущем отобьешь затраты. К тому же бесплатные вебинары некоторых школ не блистали качеством, а среди преподавателей по другим специальностям я обнаружил коллег, чей профессионализм оставляет желать лучшего. Хм.

По ценам. Первый уровень месячного интенсива HTML + CSS в HTML Academy стоит 24 500 рублей. Профессия frontend-разработчик в «Нетологии» без скидки 54 900 рублей, правда, за 8-месячные курсы плюс обещают стажировку и трудоустройство. В GeekBrains берутся учить за 7855 руб/мес на протяжение семи месяцев, в комплекте стажировка на реальном проекте GeekBrains или Mail.Ru, а то и у партнеров вплоть до Сбербанка.

И это лишь немногое из того, где можно поучиться.

Меня спасла реклама в Facebook. Предложили англоязычную школу Treehouse, и я повелся. Кликнул на бесплатный курс Introduction to HTML and CSS, прошел его.

Обучение было как раз таким, какое я искал: на видео профессиональный наставник с чувством, с толком, с расстановкой объяснял азы фронтенда. Иногда на экране появлялась доходчивая инфографика. В ходе разбора темы нужно было выполнять задания, а то и пройти целый челлендж, либо ответить на вопросы.В конце – контрольная работа. Есть «песочница», где писать код и ссылки на допматериалы – документации на Mozilla Developer Network и др.

Мне понравилось. Вот просто – понравилось. Обучение стоило всего 25 долларов в месяц, за которые я получал неограниченный доступ ко всем курсам школы. Я и вписался.

И что было дальше?

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

Конечно же, иногда казалось, что ничего не получится. Особенно расстраивали жалобы состоявшихся айтишников – то денег мало, то галеры, то слишком много фреймворков, от которых пухнет голова, то общая потеря смысла жизни. Короче, убивали всю романтику. Те же, кто не жаловался, элементарно подавляли своим многолетним багажом знаний и навыков.

Мне помогало абстрагироваться от суровой реальности среднестатистического российского кодера. Вдохновение и поддержку я находил в зарубежных фрилансерских тусовках Digital Nomads. Как правило, это заряженные ребята, которые точно знают, чего хотят от жизни, и многие из них – программисты самоучки. А многие из самоучек – написали книги о своем пути к новой профессии.

Первые деньги

Понятно, что без опыта вы никому не нужны. Неважно, хотите вы работе в онлайне, либо в офисе. В любом случае вам необходимо сделать портфолио.

В случае с фронтендом это проще простого:

  1. Если вы хорошо учитесь, то у вас по ходу дела будут появляться готовые учебные проекты.
  2. В интернете есть базы готовых макетов. Загружаете – и верстаете. Чтобы не ковыряться слишком долго, поставьте себе цель: сверстать 5 макетов в неделю. Ну или хотя бы парочку.
  3. Наверняка у вас есть друзья, которым нужна сайт. Возьмите и сделайте им подарок.
  4. Если таковых друзей нет, то предложите свои услуги в каком-нибудь профессиональном сообществе. Бесплатно.

Как только почувствовали, что ваш кодинг-скилл достиг 80 lvl, и вы способны на раз-два решать актуальные задачи, можно искать работу. Тут прямой путь как минимум на HeadHunter, а если хотите фрилансить – добро пожаловать на Upwork.

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

(5.00 из 5, оценили: 5)

Добавить комментарий