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

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

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

Как мы туда попали?

1) образование

Эта проблема характерна не только для Африки в целом, но найти технических талантов с полезными навыками сразу после колледжа сложно. Среди генеральных директоров и менеджеров, с которыми я разговаривал, распространенной мудростью было ожидать начального периода обучения после приема на работу, чтобы достичь определенного уровня производительности новых сотрудников. От самих разработчиков они выразили определенное разочарование качеством предоставляемого им образования в области информатики. Жалобы касались иногда сомнительного уровня квалификации инструкторов, а иногда и неспособности практиковать ремесло, которое они изучают, из-за отсутствия надлежащей инфраструктуры. В этой связи в некоторых частных или государственных школах нет ничего необычного в том, чтобы следовать курсам «программирования», не скомпилировав и не написав ни единой строчки кода на компьютере до окончания учебы. Как я уже сказал ранее, я опросил свою долю студентов колледжей, проходящих стажировку здесь, в США, которые я считал неквалифицированными, потому что за пределами курсов колледжа им нечего было предложить с точки зрения полезных навыков. Нанятые были теми, кто выходил за рамки школьной работы и имел побочные проекты, которые демонстрировали дух самостоятельности и способность учиться самостоятельно, что на самом деле имеет решающее значение для успешной карьеры разработчика. Эти качества универсальны, на мой взгляд, и будут применяться вне зависимости от контекста, но даже в США я считаю, что необходимо более тесное сотрудничество между бизнес-сообществом и научным сообществом компьютерных наук, чтобы выпускать выпускников, которые станут первыми. вкладчиков в бизнес (а это означает, что выпускники также начинают свой бизнес).

2) язык

В частности, это относится к франкоговорящей Западной Африке, где все языки программирования являются родными английскими конструкциями, и большая часть материалов, руководств, ответов и вопросов создается на английском языке, франкоязычные африканские разработчики оказываются в невыгодном положении, когда единственный способ справиться с неприятным Исправить ошибку или реализовать новую функцию, основанную на серьезных архитектурных исследованиях, требует навыков Google Fu, наиболее естественных для англоговорящих. Хорошая новость заключается в том, что большинство из них развивают навыки чтения и письма, которые помогают в большинстве случаев, но отсутствие беглости определенно является препятствием на пути к лучшему и / или более быстрому владению кодом. Вот почему в Coders4Africa мы настаиваем на том, чтобы вести повседневную деятельность только на английском языке, поскольку это только поможет нашим франкоговорящим разработчикам стать более опытными в своем деле.

3) Культурный и социальный контекст

В каждой стране своя культура и социальный контекст, а в проектах, охватывающих несколько стран, взаимодействие между членами команды с разными ожиданиями может привести к неловким ситуациям с разной степенью серьезности для них. Для этих разработчиков, работающих локально для международных клиентов в США или Европе, большинство проблем, с которыми я столкнулся, были связаны с общением, и это понятно. Я был частью распределенной команды, и одним из наиболее успешных факторов успеха для этого типа команды является высокий уровень внутригрупповой коммуникации, компенсирующий отсутствие физической близости. Та же концепция применяется к клиенту, выполняющему свой проект удаленно, высокий уровень коммуникации обеспечивает высокий уровень доверия для клиента. Больше всего я слышал от клиентов жалобы на то, что разработчики часто исчезали на долгое время, не отвечая на электронные письма, и когда они представляли работы, это не соответствовало требованиям клиента. Большой сюрприз. Конечно, многое можно сделать с точки зрения управления проектами и использования какой-то гибкой методологии управления проектами, но если ни клиент, ни разработчик не знакомы с ней, это затрудняет взаимодействие.

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

4) Экспозиция

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

  1. Они часто используются там, где я работал
  2. Я узнал о них в школе раньше
  3. Я всегда в курсе того, что происходит в моей отрасли

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

5) От процветающего бизнеса к экосистеме развития

Мне посчастливилось провести свою карьеру здесь, в США, где многие инновации в разработке программного обеспечения не только происходят, но и затем активно используются предприятиями / стартапами, хотя на самом деле они не создаются предприятиями / стартапами. Эта динамическая среда косвенно гарантирует, что персонал в целом всегда в курсе последних тенденций в отрасли, если не активно, то хотя бы пассивно. Программирование по большей части в США - прибыльное занятие, где спрос превышает предложение. Компании осознали важность технологий для своей прибыли и инвестируют в своих разработчиков и выплачивают им вознаграждение, чтобы привлекать лучших и обеспечивать удержание. Я чувствую, что в Западной Африке этого еще не произошло, хотя осведомленность об этом растет. Однако отрасль в целом нуждается в серьезном вливании капитала, чтобы способствовать устойчивым инновациям, которые мы наблюдаем в США и Европе.

Серебряная подкладка

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