Подводных камней при работе агентства нет. Там целый Большой Барьерный риф :)
Если вы хотите развивать свое агентство, свою студию фактически, вам нужно как минимум стать классным спецом в той отрасли в который вы работаете. Если вы Top Rated или Rising Talent- это довольно хорошо помогает, если нет - есть куда расти как фрилансеру. Второе - нужно понимать что агентсво, это по факту другая работа, не программистом а менеджером.
1. Главное, с чего нужно начать - клиенты. У вас должны быть более менее постоянные клиенты, плюс готовые заключить контракт вот почти завтра и еще запасные с которыми ведете переговоры на перспективу. Клиенты пропадают на месяцы, передумавают или уходят к конкурентам, это норма жизни.
2. Найдите свою нишу которую можно сформулировать коротко и четко: "мы булочная, которая делает вкуснейшие ватрушки с изюмом" или " мы делаем офигенный mobile-friendly фронтенд на React JS". Это не значит что продавать надо только это, но будет акцентом когда вы общаетесь с клиентом, особенно с новым.
3. Что вы можете предложить своим разработчикам? вариантов 2 - ЗП или % от проекта. по началу конечно %, платить постоянную зп даже небольшую это оооочень большой риск. подумайте каким количеством денег вам не жалко делиться. учтите, что может быть лучше договориться на меньшую сумму, а потом дать бонус - психологически для человека это намного приятнее.
Что вы можете предложить своим разработчикам помимо денег? Обучение новым технологиям, покупка инструментария и полезных сервисов, участие в конференциях - все это можно и нужно учесть при обсуждении с потенциальным работником.
Где искать сотрудников - сарафанное радио, фриланс биржи, линкедин.
4. Сроки - для меня обычно это проблема. Не знаю как у вас, но мой небольшой опыт говорит, что если по своим проектам успеваешь еще более-менее, то при менеджерстве чужих проектов опаздываешь, причем намноооого больше. Очевидно, что зависит от специфики и размера проекта. Учитывайте этот момент и торгуйтесь с клиентом на долгие сроки. Выясните почему ему нужна именно эта дата с чем она связана (напр. премьера фильма, Рождество, запуск ракеты на Марс и тп.).
5. Рабочий процесс - основные вехи которые вам нужно продумать\выстроить:
- общение команды (skype\slack)
- работа с системой контроля версий
- код ревью
- непрерывная интеграция
- трекер задач
- контроль выполнения задач и тестирование
- трекер времени (опционально)
- учет финансов
- CRM для работы с клиентами
- внутренняя документация (стандарты работы)
На все это уйдет время и силы, так что дайте себе право на ошибку.
6. Как раскручиваться - честно, здесь не могу посоветовать, специально раскруткой не занимался. Если хорошо работаете и получаете хорошие отзывы то постепенно поток заказов от старых клиентов и новых приглашений будет обеспечивать вас и сотрудников работой (при условии, что вы конечно не берете по +1 человеку каждый месяц, чего я бы крайне не советовал).
Работайте на совесть, делайте классные приложения и все у вас будет хорошо!
P.S. Сорри, что несколько сумбурно. Если общий стиль понравился, будет время допишу в комментариях свои соображения по остальным моментам.