В иных госконторах платят вполне прилично. Но контингент там подбирается очень специфичный: кумовья да блатные. Делать они толком ничего не умеют, да и не хотят. Годами варятся в собственном соку. В такое место если и попадает человек молодой и перспективный, долго не выдерживает. Потому что верхяя планка очень низка. Потому что болото и никаких перспектив.
Привожу свой вариант исправления шрифтов до идеального состояния, тут все просто.
1. Чтобы сайты выглядели как надо (например vkontakte.ru), ставим виндовые шрифты (sudo apt-get msttcorefonts), скачиваем где-нибудь tahoma.ttf и помещаем в папку ~/.fonts
2. Чтобы шрифты в системе были приятнее, нужно в System(система) -> Preferences(настройки) -> Appearance(внешний вид) -> Fonts (Шрифты) -> Advanced (Подробнее) поменять настройку в графе Hinting (Утончение) на Slight (Слабое)
3. Это уже на вкус, но после этого мне очень нравится шрифт UnDotum, 10 кегль, в качестве основного шрифта приложения. Это можно поменять все там же: System(система) -> Preferences(настройки) -> Appearance(внешний вид) -> Fonts (Шрифты).
До этого долго страдал из-за убогости шрифтов, но в результате поисков и экспериментов пришел вот к такому быстрому и работающему способу.
при вёрстке всегда задаю body (font-size: 62,5%) — теперь 1em равен 10px
после этого работаю с элементами задавая размеры почти как в пикселях, например
p ( font-size: 1.2em ) это тоже самое что и p ( font-size: 12px)
для меня это достаточно удобно, и легче прикинуть какой размер будет нужен тому или иному элементу
Как минимум должен знать PHP причем уметь программировать как в объектрой модели так и в процедурной (причем во втором случае это должен быть не быдлокод). Должен уметить писать, анализировать и оптимизировать SQL запросы (намеренно не акцентируюсь на MySQL). Должен уметь работать в UNIX консоли (как минимум знать как посмотреь список запущенных процессов, занятую и свободную память и дисковое пространство на разделах, уметь сделать дамп БД и восстановить его, свернуть развернуть архивы, настроить бэкапирование, управлять cron задачами, знать хотя бы базовые настройки httpd.conf, my.cnf, уметь правильно рестартовать ответственных за web демонов). Должен уметь пользоваться системами контроля версий (SVN/CVS) понимать ИДЕОЛОГИЮ - а зачем вообще это нужно, что такое транк, бранч, в каком случае нужно коммитить, как разрешать конфликты. Знать JScript, уметь применять как готовые JS фреймворки так и писать свои функции, работающие с объектной моделью браузера и главное понимать когда надо писать самому а когда проще применить готовые решения. По поводу HTML / CSS - в принципе я считаю что отвлекать программиста (математика) на вёрстку нецелесообразно, но если надо что то поправить (а не сверстать по илюстраторскому макету сайт с нуля) то он должен это уметь это сделать.
В целом требования такие.
Надо:
- Знать основы http-протокола и некоторую его специфику (в частности, связанную с передачей заголовков);
- Понимать основы кэширования;
- Понимать принципы разделения различных видов логики (желательно, на примере паттерна MVC);
- Знать основы работы с СУБД и SQL;
- Понимать, что такое шаблонизаторы и уметь пользоваться ими (XSLT, Smarty, FastTemplate);
Что касается продвинутого уровня:
- Уметь работать с репозиториями контроля версий (Subversion);
- Уметь работать с системами управления задачами;
- Уметь работать с фреймворками, ускоряющими работу (Symfony, PHPCake);
- Понимать, что такое "постоянная интеграция" (Continuous Integration), что неизбежно ведет к следующему пункту, а именно...
- Уметь использовать технику Test-Driven Development (для PHP, к примеру, тот же PHPUnit, или что-то еще из семейства xUnit);
Также, если программист универсален (client-server), нужно знать еще и JavaScript (и какой-либо из фреймворков) и основы DOM, разбираться в HTML и так далее.
Если разработчик чисто "на серверную часть", то обо всем этом очень желательно иметь представление.
Ну и то, что не касается технологий:
- Уметь работать в команде;
- Уметь изъяснять свои мысли письменно и устно;
Отдельный ОЧЕНЬ важный пункт:
- Хорошо знать русский язык.
Помнится, когда Яндекс анонсировал новую версию Яндекс.Почты, они писали, что ограничения вообще сняты. Так что этот анонс можно считать отменой обещания.
Да, несмотря на этот маркетинговый промах, который почти никто не заметил - считаю почту от яндекса - лучшей из существующих на сегодняшний день, во многом благодаря великолепному веб-интерфейсу (имею ввиду новую версию, разумеется).
1. Чтобы сайты выглядели как надо (например vkontakte.ru), ставим виндовые шрифты (sudo apt-get msttcorefonts), скачиваем где-нибудь tahoma.ttf и помещаем в папку ~/.fonts
2. Чтобы шрифты в системе были приятнее, нужно в System(система) -> Preferences(настройки) -> Appearance(внешний вид) -> Fonts (Шрифты) -> Advanced (Подробнее) поменять настройку в графе Hinting (Утончение) на Slight (Слабое)
3. Это уже на вкус, но после этого мне очень нравится шрифт UnDotum, 10 кегль, в качестве основного шрифта приложения. Это можно поменять все там же: System(система) -> Preferences(настройки) -> Appearance(внешний вид) -> Fonts (Шрифты).
До этого долго страдал из-за убогости шрифтов, но в результате поисков и экспериментов пришел вот к такому быстрому и работающему способу.
после этого работаю с элементами задавая размеры почти как в пикселях, например
p ( font-size: 1.2em ) это тоже самое что и p ( font-size: 12px)
для меня это достаточно удобно, и легче прикинуть какой размер будет нужен тому или иному элементу
В целом требования такие.
Надо:
- Знать основы http-протокола и некоторую его специфику (в частности, связанную с передачей заголовков);
- Понимать основы кэширования;
- Понимать принципы разделения различных видов логики (желательно, на примере паттерна MVC);
- Знать основы работы с СУБД и SQL;
- Понимать, что такое шаблонизаторы и уметь пользоваться ими (XSLT, Smarty, FastTemplate);
Что касается продвинутого уровня:
- Уметь работать с репозиториями контроля версий (Subversion);
- Уметь работать с системами управления задачами;
- Уметь работать с фреймворками, ускоряющими работу (Symfony, PHPCake);
- Понимать, что такое "постоянная интеграция" (Continuous Integration), что неизбежно ведет к следующему пункту, а именно...
- Уметь использовать технику Test-Driven Development (для PHP, к примеру, тот же PHPUnit, или что-то еще из семейства xUnit);
Также, если программист универсален (client-server), нужно знать еще и JavaScript (и какой-либо из фреймворков) и основы DOM, разбираться в HTML и так далее.
Если разработчик чисто "на серверную часть", то обо всем этом очень желательно иметь представление.
Ну и то, что не касается технологий:
- Уметь работать в команде;
- Уметь изъяснять свои мысли письменно и устно;
Отдельный ОЧЕНЬ важный пункт:
- Хорошо знать русский язык.
Да, несмотря на этот маркетинговый промах, который почти никто не заметил - считаю почту от яндекса - лучшей из существующих на сегодняшний день, во многом благодаря великолепному веб-интерфейсу (имею ввиду новую версию, разумеется).