Я себя обманываю? Переход бизнес-аналитика в программист

11

Текущая работа: работа ведущим бизнес-аналитиком в компании «Большой четверки», ведущей команды разработчиков и тестировщиков, работающих над масштабным проектом по перепланировке (4 береговых разработчика, 4 оффшорных разработчика, несколько наземных / оффшорных тестеров). Также работайте в аналогичном качестве в других небольших проектах.

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

Я также пишу довольно много макросов в Excel с использованием VBA (некоторые из моих макросов сейчас используются во всей фирме, так что их может быть около 1000 человек) и использую SQL ежедневно, как в компактных файлах SQL программы опирается на наши данные SQL Server и любые базы данных Access, которые я создаю. Разработчики считают, что я достаточно хорош в этой роли, потому что я много понимаю о программировании, внутренних ограничениях системы, структуре баз данных и т. Д., Поэтому мне легче обмениваться идеями и предлагать предложения, когда мы сталкиваемся с проблемами.

Что меня действительно интересует, так это разработка программного обеспечения. Я занимаюсь программированием на VBA и давно хотел изучать C # (команда разработчиков использует C # - я иногда пересматриваю код для себя, но не имел практического опыта его использования). Меня интересует не только бизнес-процесс, но и техническая сторона вещей, поэтому традиционная роль БА на самом деле не возбуждает мой аппетит к тому, что я хочу делать. Прямо сейчас у меня есть несколько небольших проектов, которые мне дали менеджеры, и я нахожу новые способы их выполнения (например, создание пользовательских приложений Access), так что есть кое-что, чтобы заинтересовать меня.

Мой вопрос заключается в следующем: что я хотел бы сделать, это создать пользовательские приложения Excel или Access для малого бизнеса как внештатный бизнес (работающий в качестве магазина с одним человеком; возможно, наличие временного подрядчика в зависимости от сложности проекта). Это, очевидно, начнется как совместное предприятие, пока у меня есть дневная работа, но в конечном итоге станет работой на полный рабочий день. Неужели я заблуждаюсь, думая, что смогу перейти от программиста на BA / неполный рабочий день на VBA к занятию внештатным бизнесом (где я начинал бы с написания пользовательских приложений Excel / Access в VBA)? Или этот тип вещей обычно не предпринимается, пока кто-то не приобретет многолетний опыт программирования? И существует ли даже рынок для этих типов приложений среди предприятий малого (и, возможно, среднего) бизнеса?

Райан
источник
3
Теперь вы, вероятно, на вершине своей карьеры. Вы можете выполнять ту же работу с теми же навыками в течение 5 лет, не читая книгу. Если вы были программистом, вы будете начинать с нижней части лестницы, и через 5 лет там даже может не быть лестницы !!! Не смешивайте хобби с карьерой. Конечно, вы можете быть программистом, но что делает большинство средних программистов после 10 лет? Выжить программистом на современном рынке и продвинуться вперед очень сложно для среднего человека из-за высокой конкуренции и постоянных технологических проблем.
NoChance
Я согласен с тем, что как бизнес-аналитик и деловой человек я могу продолжать подниматься на более высокие позиции. Проблема в том, что чем выше вы идете, тем в большей степени вы отдаляетесь от технологии и реализации, которую вы используете. Я взял интервью у нескольких консалтинговых компаний на позиции управленческого консультирования в области технологий, но эти типы ролей меня не особо интересуют. Моя цель не быть чистым программистом; на самом деле я не заинтересован в том, чтобы работать в качестве разработчика, чтобы быть нанятым в качестве сотрудника, а скорее имею небольшой консалтинговый магазин, где я могу заниматься как бизнесом, так и разработчиками.
Райан
«небольшой консалтинговый магазин, где я могу заниматься как бизнесом, так и разработчиками», звучит как слишком большой риск для меня. Видите ли, рынок полон готовых решений и так много компаний и подрядчиков, которые готовы создавать системы всего за 200 долларов или меньше. Я не думаю, что «маленький» может длиться долго, учитывая экономику и быстрые темпы изменений в технологии, если у вас нет стратегии привлечения клиентов и сосредоточения внимания на медленно меняющейся технологии.
NoChance
7
@ EmmadKareem, «не смешивайте хобби с карьерой» ... вы имеете в виду: убедитесь, что почти вся ваша бодрствующая жизнь потрачена на то, что вам не нравится, и около 5% на то, что вам нравится ... звучит как отличный план для счастья (но по общему признанию общий)
JoelFan
4
@ EmmadKareem, я думаю, что есть много программистов, которые работают 10, 20 или более лет и довольны своей карьерой
JoelFan

Ответы:

15

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

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

FrustratedWithFormsDesigner
источник
2
Я просто повторю, что это определенно можно сделать - на прежней должности я работал с подрядчиком, который сделал именно это. Он начал создавать приложения Access для компании, не являющейся разработчиком, а затем стал для них сторонним консультантом, и в конечном итоге включил его в свой собственный бизнес, и, похоже, у него все хорошо.
bunglestink
4

VBA и Access - это нижняя часть лестницы программирования. На вашем месте я бы стрелял выше, так как у вас есть навыки SQL. Подумайте об изучении служб отчетов SQL Server, создании отчетов или служб SSIS и выполнении обработки ETL. Эти навыки достаточно востребованы в настоящее время, и вы можете их использовать, поскольку их можно относительно легко получить, находясь в корпоративной среде, особенно если в настоящее время у вас нет никого, кто бы выполнял эти функции в вашей компании. Я бы воспринял опыт бизнес-аналитиков как огромный плюс для составителя отчетов.

HLGEM
источник
2

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

Мейсон Уилер
источник
Любые рекомендуемые курсы обучения? Я больше учусь самостоятельно, поэтому сейчас я подписываюсь на некоторое MIT opencourseware (Intro to Comp Sci), которое использует Python в качестве языка обучения, в основном, чтобы я мог немного разобраться в теории программирования и больше думать о линии программиста. Также продолжаю расширять свои знания Excel / Access / VBA посредством реальных проектов на работе.
Райан
@ Райан Вы заблуждаетесь в одном: нет твердой теории программирования. Программирование - очень незрелое ремесло (ремесло - подходящее слово!) - оно действительно слишком молодо. Программисты читают много книг, но революции в этой области происходят сверхурочно. Это означает, что отношение к обучению является единственной предпосылкой :)
K.Steff
1
@ Райан: Я в основном самоучка. Мой «курс обучения» состоял в том, что «эта программа отстой. Я мог бы сделать это и сделать это лучше, чем автор. Итак, давайте посмотрим, у меня есть компилятор, теперь, как мне начать реализовывать функции?»
Мейсон Уилер
2

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

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

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

Так что дерзай.

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

Эрик Реппен
источник
Побочное наблюдение: высокомерие полезно на начальных этапах. Если бы я знал, о чем на самом деле было программирование, когда начинал, я бы, наверное, сдался через два часа после «Привет, мир».
Стефф
1

Я бы сказал (если вы хотите начать что-то новое), используйте SICP - Структура и интерпретация компьютерных программ. Я должен дать ссылку на него, но это больше, чем просто книга; В настоящее время вы также можете найти других людей, которые будут изучать этот курс через Интернет. Это действительно сложная книга - большинство разработчиков не могут выполнить все упражнения (к сожалению), но это лучшая книга из всех доступных. MIT OCW тоже хорош, но IMHO, это разбавленная версия SICP для программирования. Python предназначен для того, чтобы скрывать сложность, а не заставлять вас наслаждаться ерундой (как это делает SICP).

Кроме того, вы должны различать программирование как профессию и программирование как навык. Один требует посвящения вещам, таким как красивый, чистый и расширяемый код, в то время как другой требует только алгоритмических навыков (что на самом деле довольно много). «Доброжелательный диктатор» Python, Гвидо ван Россум, утверждает, что программирование станет важным навыком в ближайшие годы, но навыки разработки программного обеспечения не будут, в любом случае. Большинство не разработчиков пишут код, чтобы выбросить его (разработчики часто делают это тоже). Дело в том, что программирование как карьера включает в себя гораздо больше вещей, чем программирование, и важно правильно расставить приоритеты.

Самое главное: обязательно любите программирование, а не просто так. Это больше , чем 9 до 5 задания, это принять постоянного обучения философии : большинство инженеров пройти обучение в процессе их BS или магистра и не видят существенных изменений в своей области знаний. Пожизненная карьера в программировании заставит вас увидеть как минимум 10 смен парадигмы (не только языков, но и инструментов, баз данных и т. Д.), Так что вам лучше быть готовым (и желающим) принять это.

K.Steff
источник
+1 за «философию постоянного обучения». Программирование во многом связано с обучением и совершенствованием каждый день. Если вам нравится делать эти две вещи, то у вас, вероятно, будет хороший опыт и успех.
B Семь
1

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

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

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

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

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

Джеймс Андерсон
источник