Чем занимаются бэкенд-разработчики

В веб-разработке есть фрон­тен­ды: они дела­ют види­мую часть сай­та. И есть бэкен­ды: они отве­ча­ют за неви­ди­мую часть. От них зави­сит ско­рость рабо­ты сай­та и его воз­мож­но­сти.

Напри­мер, когда вы в интернет-магазине види­те блок с реко­мен­до­ван­ны­ми това­ра­ми, фрон­тенд отве­ча­ет за то, что­бы он кра­си­во выво­дил­ся, а бэкенд — за то, что­бы там были подо­бра­ны реле­вант­ные для вас това­ры.

В этой ста­тье — в чём состо­ит рабо­та бэкен­да, что нуж­но уметь и куда вас при­ве­дёт эта карье­ра.

Что нужно делать

Бэкенд-разработчики пишут про­грам­мы для сер­ве­ров, кото­рые фор­ми­ру­ют нуж­ные нам стра­ни­цы и отправ­ля­ют их нам на ком­пью­тер. Напри­мер:

  • они про­ду­мы­ва­ют архи­тек­ту­ру сай­та и свя­зи меж­ду его ком­по­нен­та­ми;
  • настра­и­ва­ют базы дан­ных, где хра­нит­ся вся инфор­ма­ция;
  • дела­ют так, что­бы сайт мог полу­чать и отправ­лять инфор­ма­цию в эту базу;
  • пишут дви­жок сай­та — ту про­грам­му, кото­рая фор­ми­ру­ет стра­ни­цы;
  • если дви­жок уже гото­вый — допи­ли­ва­ют его;
  • опти­ми­зи­ру­ют дви­жок, что­бы сайт рабо­тал как мож­но быст­рее и ста­биль­нее;
  • сле­дят за без­опас­но­стью сай­та, что­бы зло­умыш­лен­ник не смог украсть или под­де­лать дан­ные;
  • ино­гда настра­и­ва­ют сами сер­ве­ры — Apache или Nginx.

Что нужно уметь

Если вы откро­е­те вакан­сию любо­го бэкенд-разработчика, то там будут при­мер­но сле­ду­ю­щие тре­бо­ва­ния:

  • зна­ние Python, PHP, Ruby или Java (если всё сра­зу — это огром­ный плюс);
  • часто хотят, что­бы вы зна­ли JavaScript и Node.js, что­бы реа­ли­зо­вы­вать часть логи­ки на кли­ен­те;
  • AJAX — помо­га­ет обнов­лять дан­ные на стра­ни­це без её пере­за­груз­ки;
  • базы дан­ных — MySQL, PostgreSQL или MongoDB;
  • Django и дру­гие фрейм­вор­ки для быст­рой раз­ра­бот­ки;
  • уме­ние рабо­тать с API;
  • вла­де­ние Git или любым инстру­мен­том кон­тро­ля вер­сий.

Отдель­но ценит­ся уме­ние рабо­тать в UNIX-системах, раз­би­рать­ся в том, как устро­е­ны сете­вые тех­но­ло­гии и вла­де­ние сете­вы­ми про­то­ко­ла­ми. Но на самом стар­те мож­но и без это­го.

Пример из жизни

Допу­стим, ком­па­ния реши­ла запу­стить интернет-магазин. Они про­те­сти­ро­ва­ли все суще­ству­ю­щие гото­вые «коро­боч­ные» реше­ния, они не подо­шли. Ком­па­ния реша­ет делать соб­ствен­ную систе­му онлайн-торговли.

Для этой зада­чи нуж­но как мини­мум два чело­ве­ка — фрон­тенд, кото­рый настро­ит внеш­ний вид сай­та, кра­си­вые кар­точ­ки това­ров и сде­ла­ет нуж­ные цве­та, и бэкенд-разработчик, кото­рый сде­ла­ет всё осталь­ное. Осталь­но­го будет мно­го:

  • най­ти нуж­ный дви­жок мага­зи­на (или напи­сать свой, но для это­го уже нуж­на целая коман­да и боль­шой бюд­жет);
  • орга­ни­зо­вать и настро­ить хостинг под этот дви­жок;
  • запу­стить его в пер­во­на­чаль­ном виде и посмот­реть, что нуж­но изме­нить;
  • пере­про­грам­ми­ро­вать шаб­ло­ны стра­ниц, что­бы они пока­зы­ва­ли то, что нуж­но, а не то, что было изна­чаль­но;
  • свя­зать базу дан­ных мага­зи­на с систе­мой онлайн-торговли — что­бы пра­виль­но счи­та­лись остат­ки на скла­дах, было точ­но извест­но нали­чие това­ра и т. д.;
  • при­кру­тить к сай­ту реги­стра­цию и авто­ри­за­цию по попу­ляр­ным сер­ви­сам и соц­се­тям;
  • убе­дить­ся, что всё это про­ис­хо­дит без­опас­но и дан­ные хра­нят­ся в нуж­ном месте (и всё соот­вет­ству­ет зако­нам);
  • пере­де­лать админ­ку, что­бы мене­дже­ры мог­ли сами запол­нять кар­точ­ки това­ров;
  • про­ве­рить сайт под нагруз­кой;
  • настро­ить резерв­ное копи­ро­ва­ние;
  • сде­лать авто­ма­ти­че­ское опо­ве­ще­ние о зака­зе по почте.

И это толь­ко на стар­те, когда интернет-магазин толь­ко запус­ка­ет­ся. Потом рабо­ты будет тоже мно­го: допи­ли­вать то, что не допи­ли­ли в самом нача­ле, испра­вить глю­ки движ­ка, доба­вить онлайн-оплату, сде­лать отсле­жи­ва­ние достав­ки, настро­ить лич­ный каби­нет поль­зо­ва­те­ля.

Вывод такой: рабо­ты у бэкенд-разработчика все­гда мно­го, пото­му что заказ­чик все­гда будет стре­мить­ся к тому, что­бы сде­лать сайт ещё луч­ше, быст­рее и удоб­нее.

Что по деньгам

Сред­няя зар­пла­та бэкенд-разработчика — 130 тысяч руб­лей (и посто­ян­но рас­тёт). Про день­ги у бэкен­дов мы выпу­сти­ли отдель­ную ста­тью — почи­тай­те, доволь­но инте­рес­но.

С чего начать

Глав­ный инстру­мент бэкенд-разрабочика — язык про­грам­ми­ро­ва­ния. Здесь у бэкен­да два глав­ных язы­ка:

  • PHP, на кото­ром сде­ла­ны почти все совре­мен­ные веб-движки;
  • Python, на кото­рый пере­хо­дит весь про­све­щён­ный мир.

Посмот­ри­те, как устро­е­ны и как рабо­та­ют базы дан­ных: что такое запро­сы, чем SQL-базы отли­ча­ют­ся от осталь­ных, как заста­вить их рабо­тать быст­рее и так далее. С база­ми дан­ных при­дёт­ся рабо­тать чаще все­го.

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

Почи­тай­те про сер­ве­ры — что за опе­ра­ци­он­ные систе­мы там рабо­та­ют, что уме­ют, поче­му имен­но сде­ла­но так, а не ина­че. Боль­ше все­го про это зна­ют сисад­ми­ны, мож­но спро­сить у них.

Прой­ти 20 бес­плат­ных часов в Прак­ти­ку­ме, само­му сде­лать один пол­но­цен­ный про­ект и понять, насколь­ко эта про­фес­сия вам инте­рес­на.

Да, мы обучаем бэкендов
Пер­вые 20 часов бес­плат­но. Про­верь­те, под­хо­дит ли вам эта про­фес­сия, а потом кай­фуй­те на хоро­шей зар­пла­те.