Які відомі / поширені спеціальності з розвитку? [зачинено]


10

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

Мені цікаво, які спеціальності, як відомо, зараз існують у розумних кількостях у цій галузі (а не в наукових колах), що не є технологічними (наприклад, для цієї дискусії winforms не є спеціальністю)? Мене також цікавить галузь, над якою такий спеціаліст повинен буде працювати в разі потреби.

Відповіді:


18

Як я вважаю, це дві категорії спеціалізації:

  1. спеціалізація в певній галузі програмування;
  2. або спеціалізація в проблемній галузі.

Прикладами теми програмування можуть бути:

  • Вбудований
  • GUI
  • Візуалізація
  • Тестування

Тоді є спеціалізація в певній проблемній галузі, наприклад

  • Фінансові
  • Науковий
  • Медичні
  • Практично будь-яку велику галузь можна вважати проблемною сферою

Я думаю, що це важлива відмінність.


4

Програмування вбудованих систем (якими я займаюся вже 30+ років) вимагає зовсім іншого мислення, ніж більшість інших програм розробки програмного забезпечення. Діапазон обчислювальної потужності дуже варіюється, від 8-бітових мікроконтролерів, які коштують 30 центів за кількістю, до 32-розрядних мікропроцесорів, що працюють під управлінням Linux або деяких інших поширених ОС. Зараз я роблю проекти на обох кінцях цієї шкали. Пам'ять коду на найменших мікросередовищах може становити лише кілька КБ, лише кілька сотень байт оперативної пам'яті. 16-розрядний мікробіт середнього класу, який коштує 3 долари США, може мати 256 КБ пам'яті програми та 16 КБ оперативної пам’яті.

Окрім обмежених ресурсів пам’яті, одним із аспектів вбудованого програмування, на відміну від інших областей розробки програмного забезпечення, є те, що програміст часто має справу безпосередньо з обладнанням на рівні реєстру - або на самому мікро, або на периферійному пристрої, приєднаному до мікросередовище через серійні шини, такі як UART, SPI або I2C. З цієї причини вбудовані мікрофони низького класу, як правило, програмуються на мові С або на монтажі.

Вбудовані системи часто мають справу з подіями в режимі реального часу, тому вбудована програма вбудованого програмного забезпечення зазвичай має багато процедур переривання і можлива невелика RTOS (ОС у режимі реального часу). Налагодження таких систем часто вимагає апаратної допомоги за допомогою декількох виділених ліній в мікро, так що точки перерви можна встановити віддалено від ПК. Логічні аналізатори, аналізатори шин та осцилоскопи - додаткові інструменти, що використовуються для налагодження цих систем.

Через апаратні аспекти вбудованої розробки, розробники часто мають певну електроніку. (У мене є ступеня як в EE, так і в CS).


1

Роль / команда "розробник DBA" існує, але недостатньо поширена або не оцінена.

Якщо говорити про більші магазини, команда DBA виробництва може мати кілька 1000 екземплярів SQL Server для управління та контролю, забезпечення відновлення після аварій, зв’язок з SAN, командами мережі та ОС тощо.

Хто там для команд розвитку? Налаштування? Індекси? Дизайн? Стандарти кодування?

Говорячи про те, що як сам розробник DBA я зустрів чимало клієнтських розробників, які більше знають про бази даних, ніж я ... :-)

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


0

Існує також відмінність знання певного виду програмного рішення, такого як будь-яке з наведених нижче:

  • Планування ресурсів підприємства
  • Управління відносинами з клієнтами
  • Система управління вмістом

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

Щось на кшталт веб-розробки може бути недостатньо конкретним, оскільки в цій галузі може бути багато спеціальностей, або це буде розраховано на те, що ви хочете?


Хм, я сподіваюся на спеціальність, яка відрізняється від їх навичок впровадження. Наприклад, спеціалісту з ІП ​​не потрібно використовувати мову C ++ / Prolog / будь-яку мову. Розробка веб-сторінок, як я бачу, в наші дні сильно поєднує реалізацію з технологіями (asp.net mvc! = RoR - знання, що перекладаються, є переважно загальними знаннями програмування та платформи)
Стівен Еверс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.