Архив рубрики: Напоминалки

Все что требуется периодически для использования, но лень или трудно запомнить, чтобы не захламлять память будет валятся тут…

А что нужно программисту?

Рекрутинг в ИТ сегодня это отдельная головная боль для любого HR. И если для Аналитиков или Руководителей проектов и продуктов часто срабатывают «стандартные» подходы поиска, то для Программистов, DevOPS и где-то даже для Администраторов нужно исходить из других парадигм.

Уже не первый год это рынок Покупателя, где качественный Разработчик в 80% случаев выбирает компанию, а не наоборот. На бОльшую лояльность и «стандартизацию» подходов можно говорить только для Junior, во всех остальных случаях просто необходим индивидуальный подход для каждого подходящего соискателя. Забудьте про заполнение «многостраничных» анкет, и собеседований с 3+ этапов.

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

Рекомендую всем к ознакомлению!

PS. Если кратко — то «Денег и все остальное»=).

Вопросы для Соискателя

Решил сформировать для себя пул вопросов, которые нужно задать соискателю на собеседовании.

Узнать человека за 1-2 и даже за 10 часов практически невозможно… Поэтому очень важно смоделировать ситуации, в которых соискатель сможет показать или рассказать о себе с разных ракурсов.

Вопросы:

Общие

  1. Опишите начальника, который смог бы добиться от вас самых лучших результатов.
  2. Что может заставить вас полюбить приезжать на работу каждый день?
  3. Что увлекает вас вне работы?
  4. Как далеко вы проживаете, сколько времени заняла дорога?
  5. Допустим, вы попали к нам на работу. Спустя год вечером в пятницу вы идёте домой и понимаете, что, согласившись занять эту позицию, совершили лучший поступок в своей жизни. Что должно произойти за год, чтобы вы так подумали?
  6. Сколько часов в неделю вы работаете в одиночку (в среднем за прошлый квартал)? Как вы думаете, нужно тратить на это больше времени или меньше? Когда нужно просить помощи?
  7. Вашему руководителю дали задачу сформировать презентацию/сделать разработку/сформировать отчет/связаться с клиентом и т.д., работу, которую он перенаправил на вас, вы в данной деятельности до этого не участвовали или принимали минимальное участие — какие будут ваши действия?
  8. Насколько вы любите с кем-то конкурировать?
  9. Какой уникальный опыт отличает вас от других соискателей?
  10. Какие самые важные награды вы хотите получить благодаря своей карьере?
  11. Где вы видите себя через пять лет?
  12. Какие направления вашей работы чаще всего удостаиваются похвалы?
  13. Расскажите о самой странной роли, которую вы когда-либо играли в проекте или на работе.
  14. Какой коллектив/команда проекта были на вашем прошлом месте работы (состав, роли) и какие роли вы в нем занимали?
  15. Ваше отношение к отчетным системам по контролю затрачиваемого времени?
  16. Наличие опыта удаленной работы? Самостоятельного и с участниками команды.
  17. Какие у вас вопросы о деятельности компании, отделе где вы будете работать, проектах в каких вы будете участвовать и с какими заказчиками работать? (вопрос можно не задавать — в идеале все это должен «выпытать» соискатель, если не задает ему «-» и спрашиваем сами, если и после вопроса у него «нет вопросов», то ему «—» .)

[свернуть]

Для Аналитика

  1. В каких проектах вы работали до этого? На каких этапах? Как они завершились?
  2. Какой главный инструмент для Аналитика?
  3. По итогам каких встреч нужно писать «Протокол встречи»?
  4. Что это такое и какие признаки для «Хорошо сформированные требования для разработки»?
  5. Какой опыт управления постановкой и контролем разработки программистов работающих удаленно?
  6. Расскажите о опыте личного общения с заказчиком?
  7. Расскажите о опыте личного формирования проектной документации? Примеры.
  8. Расскажите о опыте сопровождения разработки?
  9. Расскажите о опыте «сдачи» доработок заказчику?
  10. С какими системами «контроля версий», «управления разработки» и т.д. вы работали?
  11. Вы сформировали ФД/ТЗ на разработку, показали ее заказчику — он доволен, показали ее РП — он дал «куууучу замечаний», вы сделали правки,  в следующий раз он опять дал много замечаний, и по старым и по новым, и так несколько раз. Какие ваши действия? Какие вы видите причины?
  12. Какой опыт разработки или сопровождение развития ПО у вас имеется?
  13. Сколько программистов/тестеровщиков/техписов было у вас на «контроле» в предыдущих проектах?
  14. Какие методологии управления проектами и разработки вам ближе всего, с какими вы работали?

[свернуть]

Обнаружил для себя интересный блог

Обнаружил для себя интересный блог, по тематике управление проектами.

Вот он — https://psilonsk.livejournal.com/

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

Не хочется плагиатить, но хочется поделится материалом. С многим в этом блоге я согласен и считаю полезным, особенно мне приглянулись следующие материалы:

 

Ускоряем выполнение VBA кода, а так же убираем ненужные уведомления (всплывающие окна).

Для того чтобы ускорить выполнение VBA кода в Excel, а так же скрыть мерцание экрана, лишние пересчёты формул, различные уведомления, на которые нужно нажать для продолжения выполнения кода и которые часто раздражают (подтверждение открытия файлов, данные сохраненные как текст и тд),  а так же убрать не нужные пересчет формул который происходят постоянно при обновлении данных на которые они ссылаются можно использовать следующие команды, которые нужно добавить или в начало кода или перед конкретным нужным участком (если вы в курсе).

Excel.Application.ScreenUpdating = False    ‘убирает обновление экрана. Можно использовать почти всегда — лишняя нагрузка на процессор.

Excel.Application.DisplayAlerts = False     ‘убирает всплывающие окна. Совсем. Использовать аккуратно.

Excel.Application.EnablEevents = False     ‘убирает обработку событий в Excel. События необходимо отключать для исключения зацикливания или выполнения незапланированных действий. Например при внесении одним макросом значения на лист и лишнего (не нужного) выполнения другого макроса по обработки события добавления значения на лист — который, как вариант, рассчитан на ручной ввод. Использовать только при необходимости.

Excel.Application.Calculation = xlCalculationManual     ‘убирает автопересчет формул и зависимых от них объектов. Можно и нужно использовать почти всегда — лишняя нагрузка на процессор, особенно если формулы использующие массивы или поиск.

Не забываем ОБЯЗАТЕЛЬНО все вернуть обратно, чтобы пользователи не ругались = ) :

Excel.Application.ScreenUpdating = True
Excel.Application.DisplayAlerts = True
Excel.Application.EnableEvents = True
Excel.Application.Calculation = xlCalculationAutomatic

 

Обучение — где и как. Мои пройденные курсы с отзывами.

«Куда пойти учиться?» — это вопрос задают себе те, кто хочет быть всегда  в тонусе и  быть востребованным на рынке услуг.

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

«Бесплатно, то бишь даром« :

Habrahabr.ru — большой ресурс для профессионалов различного толка. В последнее время сильно популяризирован и новая разбивка на несколько внутренних ресурсов мне не по душе. Но он остается имхо самым большим сообществом, в котором есть не только реклама, а реальные технические материалы в том числе и обучающие. Тут люди действительно готовы делиться информацией.

cyberforum.ru — огромный форум с большим объемом информации по программированию администрированию и всему IT сопутствующему. Если вы используете какой то более менее популярный стек технологий, то все грабли на которые можно наступить участники этого форума уже наступили — крайне рекомендую использовать чужой опыт).

intuit.ru — начинал как сборник курсов для самоподготовки, а сейчас полноценный интернет университет. При желании можно получить как простой внутренний сертификат «о прослушивании/прохождении», так и бумажки посерьезнее, вроде диплома о переподготовки и повышении квалификации, так и полноценное высшее образование — за которое соответственно придется заплатить, но пройденные бесплатно курсы будут учтены. Все курсы которые входят в «платные» программы, доступные и в бесплатном варианте. Информации много, но требуется внимательно смотреть на старость курса и его отзывы . Так если для менеджмента или психологии, «фундаментальных» знаний в объеме расширенной школьной программе разница в пару лет не так страшна, то по современным ИТ технологиям ИМХО тут можно найти только основы.

«Бесплатный сыр только в мышеловке»?: если я плачу деньги за образование, то их стоит отдавать только за те знания и  итоговые «бумажки» которые ценятся работодателями, я предпочитаю specialist.ru  в нем проходил несколько курсов — организация и подача знаний мне в целом понравились. Не скажу что там мне открылись новые горизонты, но разнообразить ваше «портфолио» знаний вполне сгодиться, особенно тем кто не в силах себя заставить обучиться самостоятельно.

Под споллером скоро появится список курсов которые я прошел, с комментариями.

Мои курсы

тут будет список…

[свернуть]

 

 

 

LTE или FDD-LTE или 4G в России

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

LTE будет работать если в телефоне поддерживаются FDD band 7, 20 и/или TDD band 38

Вот ответ на вопрос  » Какие частоты LTE в России » :

Оператор Режим Диапазон (band) Частоты, МГц

Скартел

FDD 7 2500—2530 / 2620—2650
МегаФон FDD 20 847—854,5 / 806—813,5
FDD 7 2530—2540 / 2650—2660
TDD 38 2570—2595
ВымпелКом FDD 20 854,5-862 / 813,5-821
FDD 7 2550—2560 / 2670—2680
МТС FDD 20 839,5-847 / 798,5—806
FDD 7 2540—2550 / 2660—2670
TDD 38 2595—2620
Ростелеком FDD 20 832—839,5 / 791—798,5
FDD 7 2560—2570 / 2680—2690
Основа Телеком TDD 40 2300—2400

Как научиться SQL?

Ресурсы которые стоит почитать:
http://www.sql-tutorial.ru/ru/content.html
http://www.sql.ru/docs/sql/u_sql/index.shtml

По 2 ссылке онлайн версия книги «Понимание SQL» Мартина Грабера. Она же в FB2 формате, для прочтения офлайн:

Gruber_Ponimanie-SQL

И еще 1 очень неплохая книга для самоподготовки по SQL:

rukovodstvo_SQL

Для того чтобы суметь написать запрос и понимать как он отработает необходимо знать и понимать что означают следующие ключевые слова в синтаксисе SQL.

SELECT
INSERT
UPDATE
DELETE
FROM
GROUP BY
WHERE
HAVING
INNER JOIN
ORDER BY
UNION
DISTINCT

Нужно понимать что вариаций SQL очень много, практически в каждой БД используется своя модификация, которая часто очень сильно увеличивает возможности базового языка. Для оптимизации своего рабочего места обычно используется Excel или Access, в которых использована модификация Jet SQL. Она приближена к стандарту ANSI для SQL (общий стандарт — запросы написанные на котором должны выполняться на любой его модификации), который в книгах обычно и описывают, и позволяет использовать некоторые встроенные функции VBA.

Небольшое задание для самоподготовки. В нашем отделе используется для определения уровня знания SQL при приеме на работу новых кандидатов.

Нужно рассказать что делает запрос.
1(простая выборка) — элементарный уровень ,
2(объединение таблиц) и 3(группировки) — базовый уровень,
4(все из предыдущих, используемое совместно + параметры) в дополнении к описанию нужно исправить 4 умышленные ошибки — расширенный уровень.

1)
select * from vw_income_docs as v where v.tpdprt=706 and v.id > 24485911073 order by v.id

2)
select t1.e_collection, t1.e_tma_category, t1.e_tma_tm, t1.e_tma_ware_subgroup, k.code_model,t1.moniker from
(select t.e_collection, t.e_tma_category, t.e_tma_tm, t.e_tma_ware_subgroup, t.id_mmodel,t.moniker from VW_WARE as t
where t.moniker like «CMT703T0*») as t1 inner join vx_model as k on k.id_model=t1.id_mmodel

3)
select count(t1.FirstQ) as kolvoM from (SELECT First(QuotaAW1213.Quota) AS [FirstQ]
FROM QuotaAW1213
GROUP BY QuotaAW1213.ShopID
HAVING (((First(QuotaAW1213.Quota))=»A1″))) as t1

4)
PARAMETERS dateBegin DateTime, tm Text ( 255 ), TGroup Text ( 255 ), Divs Text ( 255 ) ;
SELECT t2.model, t4.TM, t2.name, t2.TPGroup, t2.price, t3.Nshop, t3.upa, t1.date, t1.type, t1.pf, t1.plan
FROM ((
select ph, [date], ‘продажи ОЦ’, ‘факт’, RSumm from tren_prod where [date] between [dateBegin] and [dateEnd] and [Division]=[Divs]
union all
select ph, [date], ‘продажи РРЦ’ as type, ‘план’ as pf, plan*price from tren_plan_zakaz_union where [date] between [dateBegin] and [dateEnd] and [Division]=[Divs]
union all
select ph, [date], ‘продажи ОЦ’ as type, ‘план’ as pf, plan*price*(1-discount) from tren_plan_zakaz_union where [date] between [dateBegin] and [dateEnd] and [Division]=[Divs]
) AS t1
INNER JOIN (SELECT max(Nshop_tren.Nshop) AS Nshop, max(Nshop_tren.pres) FROM Nshop_tren WHERE Division=RD GROUP BY ph) AS t3 ON t1.ph = t3.ph) INNER JOIN tmp_art AS t2 ON t1.ph = t2.PH
WHERE (t2.RD=TRUE OR t2.DD=true) AND t2.TM=[tm] AND (t2.Group=[TGroup] or t2.Cat=[TGroup]);

Как создать файл большого размера в Windows ?

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

И для этого мне потребовалось создать произвольное количество файлов различного, преимущественного большого, размера — чтобы узнать скорость записи / чтения и реальный размер.

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

После копания различных вариантов оказалось!:

Проблема » как создать файл в Windows » решается штатный инструментом для создания файлов произвольной длинны (в байтах) и называется он fsutil , запускается он из командной строки. Пишем :

fsutil file createnew c:\text.txt 100000000

И получаем 100 гигобайтый текстовый файл на диске С  и при этом файлы создаются почти мгновенно!

Запуск SQL запросов из VBA для Access и Excel

sql-fun
sql-fun

В различных ситуация требуется какое либо действие сделать с БД с помощью SQL запросов, и при написании программы зачастую требуется это сделать из VBA кода. Для этого я использую различные схемы, в зависимости от сложности запроса и поставленной задачи.
, где для всех примеров myBD это объявленная наша БД, например через Dim myBD As Database и последующей Set myBD = CurrentDb , как пример для Access

 

1 — Запуск запросов через QueryDef, ИМХО — использую для ODBC:
Для первого варианта средствами Access делаем обычный запрос  с нужными нами действиями или несколько связанных между собой и запускаем его строчкой ниже. Вообще QueryDef является одним из лучших методов по запуску и выполнению (да запуск сохраненных SQl запросов через него, это далеко не все что он может) запросов в базах данных использующих драйвер ODBC.
myBD.QueryDefs(«ИМЯ_ЗАПРОСА»).Execute
или делаем непосредственный запуск запроса
myBD.QueryDefs.Execute «DELETE * FROM MyTabl»

 

2 — Запуск запросов через RecordSet, ИМХО — использую для ADO:
Этот вариант у меня прижился больше для Excel когда к БД подключаюсь через ADO драйвер, и требуется например сохранить данные в бд, через запрос (Помидорами не кидать, знаю что сам RecordSet позволяет это делать — тут просто пример как можно запустить запрос через него)
Set rs = cmd.Execute(«DELETE * FROM MyTabl», , adExecuteNoRecords)

 

3 — Непосредственный запуск запросов
ИМХО — использовать стоит в основном внутри Access и довольно редко, для мелких задач, а для всего отсльаного лучше через QueryDef:
DoCmd.RunSQL «DELETE * FROM MyTabl»
myBD.Execute «DELETE * FROM MyTabl»