Современные инновационные компьютерные технологии

Современные инновационные компьютерные технологии
8 июля 2018

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

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

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

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

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

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

Все большую востребованность приобретают информационные ресурсы для поиска работы и выполнения дистанционных заказов (фриланс):

Сайты для поиска работы

http://www.superjob.ru

http://hh.ru

http://rabota.mail.ru

http://www.job.ru

http://www.rabota.ru

http://www.zarplata.ru

http://ru.indeed.com

http://www.job.ru

http://jooble.ru

http://www.avito.ru

Фрилансерские сайты:

htps://www.weblancer.net

htps://www.fl.ru

htps://freelance.ru

http://www.free-lancers.net

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

1.    web  100.локальные сети  200.drupal  300.DirectX 400.IEEE 802 500.CAPI
2.    SQL 101.J2EE 201.Factor 301.GNU 401.hp ux  501.CMS HostCMS
3.    JScript 102.Join 202.case средства  302.Modbus 402.ASP 502.CMS InstantCMS
4.    JavaScript 103.Игр разработка  203.ABAP 303.MacBASIC 403.ZF 503.C Sharp
5.    1C 104.Hibernate 204.dns  304.Groovy 404.MSTest 504.Boo
6.    продвижение сайтов    105.SOAP 205.защита информации  305.FastReport 405.организация научно-исследовательских работ  505.AutoIt
7.    xhtml  106.WCF 206.joomla  306.CMS WordPress 406.POP3 506.APL
8.    HTML 107.soap 207.gdb 307.ADO 407.MSBuild 507.AMPL
9.    Дизайн 108.3ds Max 208.OSI 308.RPC 408.MPLS 508.Joy
10.    тестирование по  109.XSLT 209.USB 309.Symphony 409.IPv6 509.Fantom
11.    Java 110.Ruby 210.электронные библиотеки 310.графический дизайн  410.IPv4 510.mvcc
12.    Си++ 111.JIRA 211.Scheme 311.pci 411.802.11  511.SDP
13.    CSS 112.REST 212.Axapta 312.IPv6 412.GSM  512.ATP
14.    аналитика  113.С 213.Illustrator 313.XMPP 413.CGI 513.RIP
15.    PHP 114.Photoshop 214.DevExpress 314.SNMP 414.Процессоры  514.URL
16.    ООП 115.Managed C++ 215.DOM 315.POSIX 415.TELNET 515.Julia
17.    информационный консалтинг  116.web-дизайн    216.экспертные системы  316.устройства подготовки данных  416.PPP 516.X.25
18.    framework 117.erp-системы  217.Visual C++ 317.CMS  MODX 417.NDIS 517.Turbo C++
19.    security  118.COM 218.mac os  318.CLNP 418.Exel  518.SCP
20.    linux  119.верстальщик 219.DB\2 319.AWK 419.mathcad  519.RS-485
21.    1c предприятие  120.UML 220.esb  320.AWK 420.Curl 520.RS-232
22.    C# 121.Code review 221.vpn  321.3d Studio Max 421.CMS UMI.CMS 521.PPPoE
23.    ms sql  122.Objective-C 222.Фотография 322.InDesign 422.RIP 522.PPP
24.    MS Sql Server 123.Программирование мобильных телефонов  223.udp  323.PPTP 423.Sparx Enterprise Architect 523.Pnuts
25.    Oracle  124.wpf  224.MAC 324.теория информации  424.Информационный поиск  524.P Sharp
26.    MSSQL 125.Yii 225.Action Script 325.RDP 425.автоматизация и управление технологическими процессами и производствами  525.OCaml
27.    mysql  126.ibm  226.Clean 326.Maya 426.sup  526.NCP
28.    интерфейс  127.Sharepoint 227.безопасность сайтов  327.SPX 427.PAP 527.ODI
29.    Photoshop 128.NoSql 228.GSM  328.SPX  428.NAnt 528.NDIS
30.    web мастеринг  129.MAVEN 229.sockets 329.WWF 429.ML 529.ms-dos 
31.    информационный менеджмент  130.stl 230.sip 330.XAML 430.Haskell 530.Kotlin
32.    jQuery 131.transactions 231.Firebird 331.SNMP 431.FoxPro 531.Korn shell
33.    etc 132.Mercury 232.CMS Drupal 332.SCTP 432.DSL 532.802.11 
34.    реклама 133.nginx 233.direct d  333.VSS 433.CMS InSales 533.IEEE 802
35.    Windows 134.JDBC 234.rtp  334.MSF 434.Caml 534.Frame Relay
36.    XML 135.ip-телефония  235.SIP 335.Системный администратор IPX 435.ATM 535.Embarcadero C++ Builder
37.    net 136.mercurial 236.MS Office 336.IPX 436.SONET  536.Cobra
38.    бухгалтерский учёт 137.jdbc  237.RDP 337.IPSec 437.теория кодирования  537.ARINC 818
39.    git 138.Mac 238.FreeBSD 338.DuAL 438.TELNET 538.Agda
40.    Inform 139.win  239.Scala 339.pop  439.Sun Solaris 539.ABC
41.    СУБД 140.UNIT-тестирование 240.Ipsec 340.OSI 440.RTCP 540.1-Wire
42.    illustrator 141.bash 241.ftp 341.MMORPG 441.Intel C++ Compiler 541.ADSP
43.    sql server  142.Django 242.FTP 342.Rational Rose 442.Gstreamer 542.Comeau C/C++
44.    ObjectIcon 143.shell 243.Jass 343.UDP 443.ECMAScript
45.    Паттерны проектирования 144.TDD 244.Navision 344.SDL 444.Dreamweaver
46.    1c бухгалтерия  145.Util 245.Wi-Fi 345.C++11 445.Direct3D
47.    AJAX 146.Servlets 246.ASP 346.Arc 446.Cat
48.    операционные системы  147.Visio 247.Flex 347.Численные методы  447.ABAP/4
49.    Python 148.Tomcat 248.технические средства обеспечения информационных процессов  348.Resharper 448.виды информационного обслуживания 
50.    Unix 149.websphere  249.Ethernet 349.EAPS 449.средства ввода информации 
51.    LLC 150.web-сервер 250.Вирусы  350.SAX 450.средства обработки и поиска информации 
52.    corel draw 151.ARM 251.Win32 351.MS Team Foundation Server 451.Requisite PRO
53.    Android 152.JSP 252.dhcp  352.SMPP 452.Кросс-разработка
54.    API 153.Zend 253.RUP 353.Pawn 453.SIMD
55.    PL 154.MongoDB 254.Unity3D 354.GNU C++ 454.RJ-45
56.    t-sql  155.Boost  255.SSL 355.Сuda  455.PPPoE
57.    TCP 156.CMS 1С-Битрикс 256.POP3 356.ActiveX 456.ospf 
58.    проектирование программ  157.Qt 257.CoffeeScript 357.CUDP 457.OSCAR
59.    adobe illustrator 158.системы электронного докумаентооборота  258.ATL 358.visual basic for applications  458.Open64 C++ Compiler
60.    SVN 159.Joomla 259.web-дизайн  359.outlook  459.MyISAM
61.    ASP.net 160.OpenGL 260.Pascal  360.imap  460.powerpoint 
62.    PL-SQL 161.visual basic 261.MFC 361.DCOM 461.ISDN
63.    MVC 162.cms с-битрикс 262.математическое моделирование  362.RS-485 462.IL
64.    информационное обслуживание  163.FTP 263.Криптография 363.VCL 463.C++ Builder
65.    Web Services 164.компилятор  264.Bluetooth  364.RS-485 464.EIA 
66.    оптимизация сайта  165.MS CRM 265.App Store 365.Object Pascal 465.CLNP
67.    Многопоточное 166.Redis 266.OSPF 366.ISWIM 466.Clang
68.    http 167.IIS 267.Sybase 367.Io 467.ATM
69.    HTML5 168.Assembler 268.Программное обеспечение вычислительных сетей  368.CouchDB 468.OSPF
70.    iOS 169.iphone  269.solaris  369.ODI 469.Econet
71.    crm 170.TFS 270.RS-232 370.ADSP 470.WinRT API
72.    ip 171.GUI 271.эффективность информационного обслуживания  371.геоинформационные системы  471.Хакер 
73.    CMS 172.IDE 272.SIP 372.bash shell script 472.RTP
74.    sap 173.оптимальные системы  273.batch 373.Trigger 473.Prolog
75.    управление сайтом  174.etl  274.Corel Draw 374.теория сигналов  474.ITU-T
76.    power point 175.CVS 275.IBM DB2 375.статистика  475.FRM
77.    автоматизация проектирования  176.Драйвер 276.Регулярные выражения 376.SDP 476.PKCS
78.    Bitrix 177.VBA 277.SQLite 377.L2TP 477.BETA
79.    Agile 178.ETL 278.smtp 378.InnoDB 478.автоматизация научных исследований 
80.    Delphi 179.android sdk 279.SMTP 379.CMS NetCat 479.ZIP
81.    функциональный анализ  180.gwt  280.OLE 380.Clojure 480.SLIP
82.    системы автоматизации проектирования  181.matlab 281.Lua 381.CAN 481.Econet
83.    Spring 182.Subversion 282.Kohana 382.электронные деньги  482.SMPP
84.    системы информационной безопасности  183.Rails 283.adobe illustrator-  383.вычислительные устройства и системы  483.SCP
85.    tcp  184.debian  284.dos  384.теория надежности  484.QML
86.    PostgreSQL 185.olap 285.flash 385.IDS 485.PPTP
87.    SEO оптимизация 186.MS Word  286.браузеры  386.раскрутка сайтов 486.OCI
88.    Object C 187.Компьютерные сети 287.математический анализ  387.lisp  487.OpenMax
89.    Верстальщик html 188.Микроконтроллеры 288.Visual Basic Script 388.виртуальные машины  488.NetBIOS
90.    SCRUM 189.Wi-Fi 289.Team Foundation Server 389.Parser 489.Modbus
91.    базы данных  190.exeptions 290.автоматизированные системы управления технологическими процессами  390.ODBC 490.LESS (язык стилей)
92.    системы управления базами данных  191.Вычислительные сети  291.Perl 6 391.MPLS 491.ISDN
93.    css3 192.Workflow 292.NUnit 392.InterBase 492.ICA
94.    perl 193.IBM WebSphere 293.erlang 393.toolchain 493.Icon
95.    1с-битрикс 194.gcc 294.Cocoa 394.средства хранения информации  494.HaXe
96.    Apache 195.SMTP 295.Firewall 395.WTL 495.Global Arrays
97.    CAN 196.Microsoft Visual Studio 296.Android NDK 396.VBS 496.EToys
98.    Access 197.Ethernet 297.системный анализ в сфере сервиса  397.ANSI SQL 497.DSL
99.    Windows Server 198.ERP-систем 298.PKI 398.Perl Data Language 498.Cyclone
199.SilverLight 299.Sencha 399.Microsoft Visual C++ 499.Curry

В списке возможны повторы, это связано с традиционными различиями в названии одной и той же технологии с сокращениями и без, а также осуществлением поиска с разными вакансиями разработчик, программист, It-специалист, системный администратор, Оператор ПК.

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

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

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

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

Нельзя забывать и про роль самообразования в профессиональной подготовке.

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

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

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

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

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

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

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

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

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

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


Автор: к.п.н.,  Румянцев Сергей Александрович

Короткая ссылка на новость: https://psyholo.ru/~bIHKX

Рейтинг@Mail.ru