• Пара советов к прохождению технических интервью

      Я уже достаточно давно провожу технические интервью с кандидатами на позицию Software engineer и на моем счету их имеется несколько десятков. Сегодня я попробую сформулировать основные моменты, которые лично мне, как интервьюеру, кажутся довольно важными.

      Советы довольно очевидные (хотя, как показывает практика, бывают и те, кто не знает этих очевидных вещей) и субъективные.

      Читать дальше →
    • Чему мы должны учить разработчиков нового программного обеспечения? Почему?

      • Translation
      Требуются существенные изменения в обучении компьютерной науке, для лучшего соответствия потребностям индустрии.

      image
      Компьютерная наука должна быть в центре развития систем программного обеспечения. В противном случае мы должны полагаться на индивидуальный опыт и практические методы, что в конечном итоге приведёт к менее продуктивным, менее надёжным системам, разработанным и поддерживающимся по неоправданно высоким ценам. Нам нужны изменения в образовании, которые позволят улучшить производственную практику.

      Проблема

      Во многих местах существует разрыв между обучением компьютерной науке и потребностями индустрии. Взгляните на следующую ситуацию:
      Знаменитый профессор компьютерной науки (с гордостью): «Мы не учим программированию; мы обучаем компьютерной науке.»
      Производственный менеджер: «Они не способны программировать.»

      Во многом они оба правы, и не только на поверхностном уровне. Задача научного сообщества состоит не в том, чтобы обучать посредственных программистов, а индустрия не требует только «всесторонне развитых, высокообразованных мыслителей» и «учёных».

      Другой профессор компьютерной науки: «Я не написал ни одной строчки кода.»
      Читать дальше →
    • Что не так с программой Microsoft Student Partners (MSP)?

        В свете недавнего обсуждения об обучении в наших вузах и того, что на днях понаблюдал со стороны за программой Microsoft Student Partners (MSP), решил написать этот топик. Суть программы в следующем – компания выбирает наиболее активных студентов, и они становятся представителями Microsoft в своём вузе. Активность требуется подтверждать каждый семестр. В её перечень входит проведение студенческих user groups, организация конкурсов (призы Microsoft предоставляет), запись веб-кастов и т.д. По выпуску из программы (а он совпадает с завершением учёбы в вузе, а как подсказал kultishev, может быть продлён на срок обучения в аспирантуре) каждый студент получает диплом и шанс на собеседование в Microsoft без предварительного телефонного собеседования.

        Так что же на так с программой?
      • Стажировка в Google 2 (Google campus в картинках)

          В этой части я расскажу, как выглядит кампус Google в Калифорнии. Под катом много картинок и мало текста. Заранее прошу прощения за не очень хорошее качество — фотоаппарат у меня очень проверенный временем, и в фотографическом деле я даже не любитель :).

          Первая часть находится тут

          Disclaimer: Все картинки согласуются с правилами Google и не подпадают под NDA.

          Читать дальше →
        • Стажировка в Google 2 (Часть 1)

            Когда-то я уже писала про то, как мне удалось постажироваться в Google в Швейцарии. Тогда же я обещала отчет о своей следующей стажировке — во второй раз в Googleplex в Калифорнии. И вот это время пришло — моя вторая стажировка подходит к концу, и мне есть что рассказать!: о)

            Disclaimer: Мой личный опыт, как всегда, не претендует на универсальность.

            Читать дальше →
          • Стажировка в Google. Еще один взгляд

              Михаил Окунев, магистр Пермского Государственного Университета рассказывает о том как проходит его стажировка в Google. Запостить на Хабр он не может, так как нет учетной записи, поэтому за него напишу я. В его ЖЖ можно почитать о непосредственно жизни и отдыхе в Цюрихе и о стажировке в Microsoft в прошлом году

              Сегодня я расскажу как выглядит мой примерный день на работе:

              image

              Читать дальше →
            • Стажировка в Google — Часть 2

                Это продолжение истории о том, как я стажировалась в швейцарском Google. Первая часть находится тут

                Disclaimer Все написанное основано на моем опыте и может отличаться от опыта других людей. Также, приведенные мной численные оценки не являются официальными или неофициальными данными и могут разниться с реальностью.

                Читать дальше →
              • Стажировка в Google — Часть 1

                  Не так давно я писала о том, как готовиться к интервью в больших компаниях. Тогда же я пообещала JTOne написать о том, как я применяла советы из статьи на практике и что из этого получилось. И вот, как говорится, не прошло и года… :)

                  Disclaimer: Все написанное основано на моем личном опыте и все сделанные мною выводы субъективны и могут отличаться от выводов других людей.

                  Вместо вступления

                  Прошлым летом я была на четырехмесячной стажировке в Google в Швейцарии. А этим летом меня ждет трехмесячная стажировка в Googleplex в Калифорнии. Поскольку информации у меня много, я решила разделить свой рассказ на две части. В этой части я опишу как я попала на стажировку, как проходили интервью и как долго процесс занял по времени. А в следующей — что, собственно, было во время самой стажировки, что мне там понравилось, что не понравилось и вообще что я обо всем это думаю. Всем интересующимся — добро пожаловать под хабракат.

                  Читать дальше →
                • Я хочу работать в Google! Телефонное интервью (часть 1)

                    Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
                    Читать дальше →
                  • Google testing framework (gtest)

                    • Tutorial
                    Когда вставал вопрос о тестировании кода, я не задумываясь использовал boost::test. Для расширения кругозора попробовал Google Test Framework. Помимо всяких имеющихся в нем плюшек, в отличии от boost::test проект бурно развивается. Хотел бы поделиться приобретенными знаниями. Всем кому интересно прошу
                    под кат.
                  • Анти-паттерны Test Driven Development

                    • Translation
                    Я надеюсь, что как грамотный разрабочик, вы имеете представление о unit-тестировании и сделаете себе в голове пару мысленных отметок о том, чего надо избегать при написании тестов. Знакомьтесь:

                    Лжец (The Liar)

                    Unit-тест, который успешно выполняет все кейсы и выглядит работающим правильно, однако при более детальном рассмотрении обнаруживается, что он на самом деле не тестирует то, что должен.

                    Читать дальше →
                  • Семь смертных грехов программиста на T-SQL

                    • Translation
                    Недостаточно писать код хорошо читаемым: он также должен быстро выполняться.

                    Существует три базовых правила для написания такого T-SQL кода, который будет работать хорошо. Они кумулятивные – выполнение всех этих правил окажет положительное влияние на код. Пропуск или изменение любого из них – скорее всего приведет к отрицательному влиянию на производительность вашего кода.

                    • Пишите, исходя из структуры хранения данных: если вы храните данные типа datetime, используйте именно datetime, а не varchar или что-нибудь еще.
                    • Пишите, исходя из наличия индексов: если на таблице построены индексы, и они должны там быть, пишите код так, чтобы он мог использовать все преимущества, предоставляемые этими индексами. Убедитесь, что кластерный индекс, а для каждой таблицы он может быть только один, используется наиболее эффективным образом.
                    • Пишите так, чтобы помочь оптимизатору запросов: оптимизатор запросов – восхитительная часть СУБД. К сожалению, вы можете сильно затруднить ему работу, написав запрос, который ему «тяжело» будет разбирать, например, содержащий вложенные представления – когда одно представление получает данные из другого, а то из третьего – и так далее. Потратьте свое время для того, чтобы понять как работает оптимизатор и писать запросы таким образом, чтобы он мог вам помочь, а не навредить.

                    Существует несколько типичных ошибок, которые люди допускают в своем коде на T-SQL – не совершайте их.
                    Читать дальше →
                  • Руководство новичка по эксплуатации компоновщика

                    David Drysdale, Beginner's guide to linkers (http://www.lurklurk.org/linkers/linkers.html).

                    Цель данной статьи — помочь C и C++ программистам понять сущность того, чем занимается компоновщик. За последние несколько лет я объяснил это большому количеству коллег и наконец решил, что настало время перенести этот материал на бумагу, чтоб он стал более доступным (и чтоб мне не пришлось объяснять его снова). [Обновление в марте 2009: добавлена дополнительная информация об особенностях компоновки в Windows, а также более подробно расписано правило одного определения (one-definition rule).

                    Типичным примером того, почему ко мне обращались за помощью, служит следующая ошибка компоновки:
                    g++ -o test1 test1a.o test1b.o
                    test1a.o(.text+0x18): In function `main':
                    : undefined reference to `findmax(int, int)'
                    collect2: ld returned 1 exit status
                    

                    Если Ваша реакция — 'наверняка забыл extern «C»', то Вы скорее всего знаете всё, что приведено в этой статье.
                    Читать дальше →
                  • История об аспирантуре в США. Часть 3: Сколько получает аспирант и за чем стоит ехать делать PhD

                      В первых двух частях я описал свое поступление в аспирантуру и стоимость жизни в США. В этой части мы подойдем еще ближе к самому интересному, а если точнее, то я расскажу, откуда и в каких количествах появляются деньги у аспирантов, сколько надо платить за учебу и за чем сюда стоит ехать (или не ехать). Ну и наконец будет начало описания того, как можно сюда приехать.

                      Часть 1: Поступление


                      Живет тут

                      Часть 2: Стоимость жизни в США


                      Живет тут
                      Кому интересно почитать Часть 3, добро пожаловать под кат.
                    • Стипендия Erasmus Mundus для высшего образования в Европе

                      Тема образования за границей на Хабре освещалась уже не раз, однако именно по этой стипендии упоминаний почти нет. Ее уникальная фишка состоит в том, что учеба не ограничивается одним университетом, а можно будет поучиться в 2 – 3 университетах в разных странах ЕС, получить полноценный диплом, и сумма стипендии покрывает все нужды. Кто заинтересован в учебе на магистра или PhD, найдет под катом мой личный опыт и рекомендации.
                      Читать дальше
                    • Поступление в магистратуру в Германии


                      Foto: HPI / Kay Herschelmann

                      Хочу поделиться своим опытом поступления на учебу в Германии и раскрыть более полно ее приемущества и особенности. В статье речь идет не о разницах в системах образования и почему стоит туда ехать, а о том, как все можно организовать.
                      Подробнее
                    • Чемпионат по программированию Russian Code Cup 2012: как это было

                        В минувший понедельник завершился уже второй по счету пятимесячный марафон Russian Code Cup 2012. Первое место занял Владислав Епифанов из Нижнего Новгорода, сохранив первую позицию с отборочного и квалификационного туров, второе место заняла Наталья Бондаренко, доцент Саратовского государственного университета — одного из лидеров в подготовке программистов высочайшего класса. В этом году третье место занял Егор Куликов. Поздравляем победителей!



                        Подарки розданы, призы вручены, дипломы подписаны, и теперь самое время рассказать, как это было.

                        UPDATE:
                        Небольшой отчетный видеоролик c Russian Code Cup 2012.





                        Читать дальше →
                      • Получение PhD в Австралии

                        Расскажи мне про Австралию, мне ужасно интересно… (С) Земфира
                        Здравствуйте! Если вам тоже интересно послушать про Австралию, приглашаю вас оценить мой рассказ о том, как я получил место студента-исследователя или, другими словами, кандидата на степень PhD, в австралийском университете. После прочтения историй людей, поступивших в ВУЗы Европы, Канады и США, мне захотелось расширить эту географию ещё одним континентом. В этом посте я постараюсь описать процесс получения позиции PhD от подачи заявления до получения визы и приезда в эту страну. Если сообщество заинтересует данная тема, с радостью её продолжу, как это делали товарищи из других университетов.

                        Читать дальше →
                      • Выводим деньги с PayPal на карту: Инструкция для чайников

                        • Tutorial
                        Потребовалось мне вывести деньги с PayPal в России, только вот через посредников работать не хотелось.
                        Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
                        Поэтому пишу сам.



                        ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
                        Читать дальше →