Как стать web разработчиком на Python не прикасаясь к html, css и javascript?
Все доброго времени суток.
Немного предистории. Я по образованию психолог, специализируюсь на исследовательской деятельности и анализе данных. Сейчас участвую в стартапе, который отлично подходит моим компетенциям. Проект интересный, однако пока не приносит нужного мне дохода. Время от времени удается что-то заработать на фрилансе. Умею программировать на R, парить сайты, строить предсказательные модели. Но, язык довольно специфический, не всегда можно найти работу под те задачи, в которых я компетентен. Поэтому, с недавних пор начал осваивать Python, чтобы получать больше заказов. В процессе изучения нового языка меня заинтересовала возможность расширить свои навыки в сторону web разработки. Это было бы полезно для меня, как в плане дополнительного заработка, так и для моей текущей деятельность в стартапе.
Посмотрев несколько туториалов по Flask и Django я заметил, что разработка на Python соприкасается с front-end разработкой. Мне нравится строить серверную логику, работать с базами данных но, я бы не хотел залезать во front-end (в частности из-за javascript). Знаю, что можно заниматься разработкой Rest API, где эти вещи не обязательны. Скорее всего мне бы подошло именно это.
В общем, мой развернутый вопрос таков: реально ли заниматься web разработкой на Python, не соприкасаясь с front-end? Какие задачи по web'у могли бы предоставить мне такую возможность? И можно ли выполнять их удаленно, так как участие в текущем стартапе требует от меня присутствия там, где я сейчас нахожусь?
Буду благодарен за конструктивные советы и замечания.
Никак. Даже если только работать с бэкэндом — все равно надо знать и понимать как работает фронтэнд, т.к. это две очень тесно связанные подсистемы. Основы надо знать в любом случае.
я бы не хотел залезать во front-end (в частности из-за javascript)
Вы так говорите, как будто в питоне все соблюдают pep8.
JS последних версий довольно вкусный, я имею равный опыт разработки на обоих языках, и не нахожу причин в ваших словах. Разве что только в том случае, если их применить к остальным языкам, отличных от python. JS хорош, просто нужно уметь его готовить.
По вопросу. Можно писать и чистый Rest API, но вы потеряете куча приятных заказов, в которых используется шаблонизатор или нужно поправить небольшие скрипты на JS. Для таких задач часто не нужно сильно знать язык, достаточно беглого прочтения https://learn.javascript.ru
Теоретически, если у вас уровень синьиор+, то да
Практически, чтоб редко приказаться к фронту вам нужно быть частью большой команды с большими задачами по беку.
Не фриланс
Базу знать нужно (html, css, js, jquery). Так как проще и быстрее бэкендеру запилить админку, используя bootstrap и пару jquery плагинов, чем состыковывать в одной задаче двух человек (бэкендера и фронтендера), на написания ТЗ и прочие состыковочные организационные моменты уйдет больше времени, чем на написание простой админки в одиночку. Для фрондендеров это слишком просто и тратить их время выгоднее на более сложные задачи (SPA приложения на фреймворках и т.д.)
Поэтому работодатели и требуют знание frontend базы от бэкендеров, и backend базы от фронтендеров. Команде будет легче общаться.
А "бедные" веб-студии ищут fullstack'ов, потому, что пару fullstack'ов для маленькой студии выгоднее, ведь иногда может нехватать backend задач, но много фронта, а через пару недель наоборот и т.д.
реально ли заниматься web разработкой на Python, не соприкасаясь с front-end?
Реально, но гораздо менее профитно, как по финансам, так и по объему заказов.
UPD: если реально есть желание залезть в веб разработку - хотя бы основы хтмл и жс - и в принципе можно работать, базовые вещи по фронту учатся на раз-два, другое дело если понадобится полностью фуллстек поднимать, то тут либо еще фронтендер отдельно нужен, либо самому погружаться в все вот это.
dansing_bear, я могу, любая серверная логика. В основном ковыряние запросов к базам данных, очереди сообщений, обработка картинок, генерация отчётов разных, поиск данных в эластиксёрч и пр, работа со сторонними api
Специалист думает не о личных вкусах, а о решении поставленной задачи. Если идете в веб, то кроме серверной стороны надо понимать еще кучу вещей, как клиентских так и в БД, разбираться в них и уметь с ними работать. Чем в меньших вещах будете разбираться, тем менее востребованы Вы будете, особенно это касается фриланса.
Как по мне, вам рано или поздно придется столкнутся с html css js. Не будем забывать, что в веб-разработке основными языками являются именно они, а рнр, java, python, ruby это уже вторично. Конечно же вы можете при помощи вышеуказанных языков писать бэкэнд. Я например, сейчас осваиваю java, spring и т.д. Знание html css js только приветстуются
с фронтендом сталкиваться придётся, и знать его надо будет. главное уметь прикидываться валенком перед заказчиком/работодателем, чтобы задач по фронтенду валилось как можно меньше (для начала, не позиционировать себя как fullstack разработчика). вы психолог, у вас это наверняка получится.