Candy promise ошибка английский скаинг

Проверьте свой английский и получите рекомендации по обучению

Проверить бесплатно

Еще 3 ошибки в английском, которые допускают носители

NEW

А вы, скорее всего, нет

«Уровень носителя» звучит даже круче, чем С2 или Proficiency. Хотя нейтивы бывают разные, и некоторые сами частенько делают ошибки в родном английском. Мы уже разбирали 5 самых распространенных, добавим еще 3.

Тест на уровень английского

Узнайте свой уровень, получите рекомендации по обучению и промокод на уроки английского в подарок

Тест на уровень английского

Есть у некоторых носителей такая привычка: говорить myself там, где нужно me. Многие из них считают, что так они звучат более аристократично. Например: «Thanks for having my wife and myself at your lovely party» («Спасибо, что пригласили меня с женой на вашу прекрасную вечеринку»).

Русскоязычные обычно так не делают, но предлагаем на всякий случай освежить в памяти, как использовать me, myself и I.

Местоимение I (я) всегда что-то делает, это очень активное слово. Ему нужен глагол.

I am British. I live in Moscow. I once accidentally locked myself inside the boot.
Я британец. Я живу в Москве. Я однажды случайно закрыл себя в багажнике машины.

Me — дополнение, то есть используется, когда какое-либо действие направлено на вас. На русский переводим как «меня», «мне», «мной».

Patrick, can you bring me a waffle fry? Oh my god, you didn’t have to bring all of it. Ah, so good.
Патрик, принесешь мне жареные вафли? Божечки, не надо было прям все приносить. Ой, как вкусно.

Myself — это все, что переводится на русский как «себя», «себе», «сам»: «I can do it myself» («Я могу сделать это сам»), «I love myself» («Я люблю себя»).

God, I love myself!
Боже, как же я себя люблю!

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

Демо-урок бесплатно и без регистрации!

Пройди урок, узнай о школе и получи промокод на занятия английским языком

Демо-урок бесплатно и без регистрации!

Есть такой лайфхак: когда хочешь сказать, что чего-то много, но наверняка не знаешь, исчисляемое это что-то или нет, можно использовать a lot of вместо many или much. После a lot of можно поставить любое существительное. A lot of часто звучит более разговорно.

Есть такие носители, которые считают, что это одно слово: alot. И пишут слитно, как одно слово. Возможно, путаница из-за того, что в английском действительно есть глагол to allot — отводить, выделять. Например, на экзамене нужно успеть ответить на все вопросы within the time allotted — за отведенное на это время. Компания может выделить определенную сумму денег на новый проект — to allot money for the project. А a lot of как «много» все-таки пишется раздельно.

Irregardless для англоязычного мира — это как «вообщем» для нас. Очень неграмотно, но очень распространено.

Проблема в том, что irregardless образовано от слова regardless — в любом случае, независимо от обстоятельств. По логике английского языка, приставка ir- должна образовывать слово с противоположным значением. Но irregardless используют как синоним regardless! Причем постоянно. С 2020-го это слово даже есть в словаре Merriam-Webster.

Позиция редакции словаря такова: «Слово используется в речи с 1795 года. Мы не придумываем английский язык, а просто его фиксируем. Если люди постоянно используют слово в одном и том же значении в разных частях мира, велики шансы, что это слово окажется в нашем словаре». В словаре есть пометка nonstandard, то есть irregardless обычно не используют образованные люди. Но и однозначно сказать, что это грубая ошибка, теперь больше нельзя.

В обложке используются фото: KatePh/Shutterstock; Krakenimages.com/Shutterstock

Получай лайфхаки, статьи, видео и чек-листы по обучению на почту

Альтернативный текст для изображения

JavaScript, Разработка веб-сайтов, Программирование


Рекомендация: подборка платных и бесплатных курсов таргетированной рекламе — https://katalog-kursov.ru/

Распространенные ошибки при работе с промисами в JavaScript, о которых должен знать каждый

Хотел бы я знать об этих ошибках, когда изучал JavaScript и промисы.

Всякий раз, когда ко мне обращается какой-нибудь разработчик и жалуется на то, что его код не работает или медленно выполняется, я прежде всего обращаю внимание на эти ошибки. Когда я начал программировать 4 года назад, я не знал о них и привык их игнорировать. Однако после назначения в проект, который обрабатывает около миллиона запросов в течение нескольких минут, у меня не было другого выбора, кроме как оптимизировать свой код (поскольку мы достигли уровня, когда дальнейшее вертикальное масштабирование стало невозможным).

Поэтому в данной статье я бы хотел поговорить о самых распространенных ошибках при работе с промисами в JS, на которые многие не обращают внимания.

Ошибка № 1. Использование блока try/catch внутри промиса

Использовать блок try/catch внутри промиса нецелесообразно, поскольку если Ваш код выдаст ошибку (внутри промиса), она будет перехвачена обработчиком ошибок самого промиса.

Речь идет вот о чем:

new Promise((resolve, reject) => {
  try {
    const data = someFunction()
    // ваш код
    resolve()
  } catch(e) {
    reject(e)
  }
})
  .then(data => console.log(data))
  .catch(error => console.log(error))

Вместо этого позвольте коду обработать ошибку вне промиса:

new Promise((resolve, reject) => {
  const data = someFunction()
  // ваш код
  resolve(data)
})
  .then(data => console.log(data))
  .catch(error => console.log(error))

Это будет работать всегда, за исключением случая, описанного ниже.

Ошибка № 2. Использование асинхронной функции внутри промиса

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

Допустим, Вы решили выполнить некоторую асинхронную задачу, добавили в промис ключевое слово «async», и Ваш код выдает ошибку. Однако теперь Вы не можете обработать эту ошибку ни с помощью .catch(), ни с помощью await:

// этот код не сможет перехватить ошибку
new Promise(async() => {
  throw new Error('message')
}).catch(e => console.log(e.message))

// этот код также не сможет перехватить ошибку
(async() => {
  try {
    await new Promise(async() => {
      throw new Error('message')
    })
  } catch(e) {
    console.log(e.message)
  }
})();

Каждый раз, когда я встречаю асинхронную функцию внутри промиса, я пытаюсь их разделить. И у меня это получается в 9 из 10 случаев. Тем не менее, это не всегда возможно. В таком случае у Вас нет другого выбора, кроме как использовать блок try/catch внутри промиса (да, это противоречит первой ошибке, но это единственный выход):

new Promise(async(resolve, reject) => {
  try {
    throw new Error('message')
  } catch(error) {
    reject(error)
  }
}).catch(e => console.log(e.message))

// или используя async/await
(async() => {
  try {
    await new Promise(async(resolve, reject) => {
      try {
        throw new Error('message')
      } catch(error) {
        reject(error)
      }
    })
  } catch(e) {
    console.log(e.message)
  }
})();

Ошибка № 3. Забывать про .catch()

Эта одна из тех ошибок, о существовании которой даже не подозреваешь, пока не начнется тестирование. Либо, если Вы какой-нибудь атеист, который не верит в тесты, Ваш код обязательно рухнет в продакшне. Потому что продакшн строго следует закону Мерфи, который гласит: «Anything that can go wrong will go wrong» (можно перевести так: «Если что-то может пойти не так, это обязательно произойдет»; аналогией в русском языке является «закон подлости» — прим. пер.).

Для того, чтобы сделать код элегантнее, можно обернуть промис в try/catch вместо использования .then().catch().

Ошибка № 4. Не использовать Promise.all()

Promise.all() — твой друг.

Если Вы профессиональный разработчик, Вы наверняка понимаете, что я хочу сказать. Если у Вас есть несколько не зависящих друг от друга промисов, Вы можете выполнить их одновременно. По умолчанию, промисы выполняются параллельно, однако если Вам необходимо выполнить их последовательно (с помощью await), это займет много времени. Promise.all() позволяет сильно сократить время ожидания.

const {promisify} = require('util')
const sleep = promisify(setTimeout)

async function f1() {
  await sleep(1000)
}
async function f2() {
  await sleep(2000)
}
async function f3() {
  await sleep(3000)
}

// выполняем последовательно
(async() => {
  console.time('sequential')
  await f1()
  await f2()
  await f3()
  console.timeEnd('sequential') // около 6 секунд
})();

Теперь с Promise.all():

(async() => {
  console.time('concurrent')
  await Promise.all([f1(), f2(), f3()])
  console.timeEnd('concurrent') // около 3 секунд
})();

Ошибка № 5. Неправильное использование Promise.race()

Promise.race() не всегда делает Ваш код быстрее.

Это может показаться странным, но это действительно так. Я не утверждаю, что Promise.race() — бесполезный метод, но Вы должны четко понимать, зачем его используете.

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

const {promisify} = require('util')
const sleep = promisify(setTimeout)

async function f1() {
  await sleep(1000)
}
async function f2() {
  await sleep(2000)
}
async function f3() {
  await sleep(3000)
}

(async() => {
  console.time('race')
  await Promise.race([f1(), f2(), f3()])
})();

process.on('exit', () => {
 console.timeEnd('race') // около 3 секунд, код не стал быстрее!
})

Ошибка № 6. Злоупотребление промисами

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

Часто приходится видеть разработчиков, использующих длинную цепочку .then(), чтобы их код выглядел лучше. Вы и глазом не успеете моргнуть, как эта цепочка станет слишком длинной. Для того, чтобы наглядно убедиться в негативных последствиях такой ситуации, необходимо (далее я немного отступлю от оригинального текста для того, чтобы описать процесс подробнее, нежели в статье — прим. пер.):

1) создать файл script.js следующего содержания (с лишними промисами):

new Promise((resolve) => {
  // некий код, возвращающий данные пользователя
  const user = {
    name: 'John Doe',
    age: 50,
  }
  resolve(user)
}).then(userObj => {
    const {age} = userObj
    return age
}).then(age => {
  if(age > 25) {
    return true
  }
throw new Error('Age is less than 25')
}).then(() => {
  console.log('Age is greater than 25')
}).catch(e => {
  console.log(e.message)
})

2) открыть командную строку (для пользователей Windows: чтобы открыть командную строку в папке с нужным файлом, зажимаем Shift, кликаем правой кнопкой мыши, выбираем «Открыть окно команд»), запустить script.js с помощью следующей команды (должен быть установлен Node.js):

node --trace-events-enabled script.js

3) Node.js создает файл журнала (в моем случае node_trace.1.txt) в папке со скриптом;

4) открываем Chrome (потому что это работает только в нем), вводим в адресной строке «chrome://tracing»;

5) нажимаем Load, загружаем файл журнала, созданного Node.js;

6) открываем вкладку Promise.

Видим примерно следующее:

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

Перепишем script.js:

new Promise((resolve, reject) => {
  const user = {
    name: 'John Doe',
    age: 50,
  }
  if(user.age > 25) {
    resolve()
  } else {
    reject('Age is less than 25')
  }
}).then(() => {
  console.log('Age is greater than 25')
}).catch(e => {
  console.log(e.message)
})

Повторим «трассировку».

Видим следующее:

Зеленых блоков (промисов) стало меньше, а значит время выполнения кода сократилось.

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

Благодарю за внимание. Всем хороших выходных! Буду рад любым замечаниям.

Promise — это удобный способ для обработки асинхронных операций в JavaScript, который помог нам уйти от «callback hell» в нашем коде. Однако многие разработчики не до конца понимают, что происходит у промисов под капотом и используют их неправильно, теряя все преимущества этой прекрасной технологии.

Давайте разбираться, какие ошибки встречаются особенно часто и как их можно избежать.

Ошибка #1. Promise Hell

Убегая от «ада коллбэков», мы иногда попадаем в «ад промисов»:

userLogin('user').then(function(user){
    getArticle(user).then(function(articles){
        showArticle(articles).then(function(){
            // ...
        });
    });
});

В этом фрагменте сразу три промиса, вложенных друг в друга: userLogin, getArticle и showArticle. Сложность растет с каждой строчкой, и этот код уже довольно сложно читать. По сути мы обменяли шило на мыло, используя callback-style с промисами.

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

userLogin('user')
  .then(getArticle)
  .then(showArticle)
  .then(function(){
       // ...
});

Ошибка #2. try/catch внутри промиса

Блок try/catch нужен для обработки ошибок, но использовать его внутри промиса — плохая идея. В этом просто нет необходимости. Если внутри произойдет что-то нехорошее, Promise автоматически обработает это сам.

new Promise((resolve, reject) => {
  try {
    const data = doThis();
    // ...
    resolve();
  } catch (e) {
    reject(e);
  }
})
  .then(data => console.log(data))
  .catch(error => console.log(error));

Все ошибки (даже опечатки) внутри тела промиса будут замечены самим промисом и перенаправлены в обработчик из метода catch. В результате мы получим отклоненное обещание (rejected).

new Promise((resolve, reject) => {
  const data = doThis();
  // do something
  resolve()
})
  .then(data => console.log(data))
  .catch(error => console.log(error));

Очень важно использовать блок .catch() для обработки ошибок промисов, которые может быть сложно отловить другими способами.

Ошибка #3. Асинхронные функции внутри промиса

Синтаксис Async/Await — это очень удобный способ работать с промисами в синхронном стиле.

Если мы используем перед объявлением функции ключевое слово async, то результат, который она возвращает, будет обернут в промис. При вызове такой функции мы можем использовать ключевое слово await, чтобы остановить выполнение кода до тех пор, пока этот промис не будет выполнен (или отклонен).

Но если вы помещаете асинхронную функцию в промис, то появляются некоторые неожиданные эффекты.

Давайте попробуем использовать async-функцию внутри промиса и представим, что ваш код выбрасывает ошибку.

Даже если вы используете блок .catch() или дождетесь выполнения промиса внутри конструкции try/catch, то все равно не сможете сразу же обработать ошибку.

// Ошибка не будет обработана

new Promise(async () => {
  throw new Error('message');
}).catch(e => console.log(e.message));

(async () => {
  try {
    await new Promise(async () => {
      throw new Error('message');
    });
  } catch (e) {
    console.log(e.message);
  }
})();

Объединяя async-функцию с Promise, мы пытаемся вынести асинхронную логику из обещания, оставив его синхронным. Это работает, но не всегда.

Если же вам просто необходимо использовать именно асинхронную функцию, то обязательно добавляйте в нее try/catch для обработки ошибок вручную.

new Promise(async (resolve, reject) => {
  try {
    throw new Error('message');
  } catch (error) {
    reject(error);
  }
}).catch(e => console.log(e.message));


// с async/await
(async () => {
  try {
    await new Promise(async (resolve, reject) => {
      try {
        throw new Error('message');
      } catch (error) {
        reject(error);
      }
    });
  } catch (e) {
    console.log(e.message);
  }
})();

Ошибка #4. Немедленное выполнение промиса после создания

const myPromise = new Promise(resolve => {
  // код самого HTTP-запроса
  resolve(result);
});

В этом фрагменте мы поместили HTTP-запрос внутрь промиса.

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

somePromise().then(myPromise);

Но это не так. Функция, переданная в конструктор Promise, выполняется сразу же. То есть ваш HTTP-запрос запускается сразу же после создания обещания. В этом легко убедиться:

const myPromise = new Promise(resolve => {
  console.log('start request');
  // код самого HTTP-запроса
  resolve(result);
});

В консоли сразу же появится сообщение о начале выполнения запроса, хотя вы не вызывали myPromise.

Что же делать, если вы хотите отложить выполнение коллбэка промиса — выполнить запрос только тогда, когда он будет вам нужен.

У самих промисов нет встроенного способа сделать это, однако вы всегда можете обратиться к нативным методам JavaScript. Если нет способа отложить выполнение коллбэка промиса, то просто отложите создание этого промиса.

const createMyPromise = () => new Promise(resolve => {
  // HTTP-запрос
  resolve(result);
});

Это «ленивый» промис.

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

Если у вас есть несколько промисов, которые не зависят друг от друга, вы можете запустить их выполнение одновременно, а не последовательно, что позволит сэкономить много времени.

Для этого существует метод Promise.all().

Пример последовательного выполнения:

const sleep = delay => new Promise(res =>  setTimeout(res, delay))

async function f1() {
  await sleep(1000);
}

async function f2() {
  await sleep(2000);
}

async function f3() {
  await sleep(3000);
}

(async () => {
  console.time('sequential');
  await f1();
  await f2();
  await f3();
  console.timeEnd('sequential');  
})();

Этот код выполняется 6 секунд!

Выполнение последовательных вызовов заняло 6 секунд

Пример параллельного выполнения того же кода:

(async () => {
    console.time('concurrent');
    await Promise.all([f1(), f2(), f3()]);
    console.timeEnd('concurrent'); 
})();

В два раза быстрее, так как нам потребовалось дождаться только выполнения самой долгой функции f3:

Выполнение параллельных вызовов заняло 3 секунды

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

С февраля 2022 года Skyeng позвонил мне 11 раз и заставил учить английский

Почему я не люблю агрессивный маркетинг

Лучший пример агрессивной рекламы это токсичная сова Дуолинго, про которую уже все устали шутить. Если долго не пользоваться приложением, сова приходит к тебе домой и угрожает расправой. Из той же серии — конченные слоганы из нулевых в стиле «купи корм или я застрелю этого пса».

Если я вижу рекламу, которая пытается меня «виноватить», давить на совесть, то я принципиально не буду покупать этот продукт.

Если в магазине консультант продолжает говорить мне про акцию ПОСЛЕ того, как я вежливо отказался от помощи, то я выхожу из этого магазина.

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

Все это я пишу к тому, что Skyeng — именно такая школа.

Как Skyeng звонил мне три месяца

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

До этого я еще проходил всякие онлайн-тесты на уровень и имел на руках два разных результата. Но тест не может нормально оценить реальный уровень знаний. Поэтому я был уверен в своих силах и планировал учить язык сам, без школ и репетиторов.

На вебе началась обычная маркетинговая история. 40% полезной информации, 60% рекламы курсов и «приходите к нам учиться». В числе прочего там давали шаблон CV на английском и советы, как искать отзывы, где смотреть вакансии.

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

Не прошло и дня, как мне позвонил человек-робот (или робот-человек).

— Здравствуйте, Роман, я представляю школу английского языка Skyeng. Вам удобно сейчас говорить?

— Нет, не удобно, до свидания!

Номер я заблокировал. Вечером на почте лежало два письма от Skyeng. Через неделю после вебинара мне позвонили еще раз, с тем же эффектом.

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

Естественно, моя лента быстро стала напоминать парад школ английского языка. Рекламу показывал не только Skyeng, потому что я часто искал контент по теме, но его было больше всего. Отдельного места в котле заслуживают «нативные» публикации у блогеров.

Звонки то прекращались, то продолжались еще три месяца. Но окончательно добил момент, когда «представитель Skyeng» написал мне в ватсап.

Этот мессенджер я держу исключительно для общения с мамой, поэтому без всякой задней мысли открыл сообщение и опомнился не сразу. В итоге менеджер уломал меня на бесплатное вводное занятие.

Где меня ничему не учили и опять пытались продать курсы

Вместо преподавателя на урок пришел еще один менеджер по продажам. Мы обсудили результаты теста, он поспрашивал меня про мои цели, сколько раз в неделю я могу заниматься, и на этом все.

Дальше пошли голые продажи: вот такая у нас платформа, такие учителя, такая цена, купите пакет, оплатите подписку.

Это т.н. «занятие» длилось час. Где-то на середине я понял, что если я хочу получить реальное представление о том, как здесь учат, мне придется оплатить настоящий урок и сходить на него.

Почему же несмотря на то, что мне не нравится такая навязчивая долбежка рекламой,

Я решил дать Skyeng шанс?

Если коротко, то мне нужен английский, чтобы переехать по работе. Я пытался учить его самостоятельно и понял, что один я его учить не могу.

Если длинно, то еще до того, как начался массовый исход айтишников из России, году где-то в 21 один мой приятель звал меня работать к себе в Нидерланды.

Я не знал, что это могло бы стать самым удачным решением моей жизни. Тогда я думал немного другими категориями и рассуждал как-то так:

  • В Москве у меня друзья, квартира, собака и вся моя жизнь, а там я никого не знаю и скорее всего не узнаю, потому ни на английском, ни на нидерландском я не говорю.
  • Зарплата может и вырастет, но с ней вырастут и налоги: все в Европе, включая моего приятеля, на них жалуются, и цена на жизнь (cost of living) там тоже выше.
  • Меня звали не в Амстердам, а в ноунейм город, где у этой компании был крупный хаб — короче, провинция, в которой нечего делать.

Звучит максимально тупо? Чувствуете испанский стыд, читая эти аргументы? Я с вами.

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

Не могу сказать, что я совсем полный ноль в английском. Но когда я начал гуглить и разбираться в том, что для этого нужно, то быстро понял, что с «доучить» я слегка переоценил свои силы.

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

Так постепенно, с большой неохотой я пришел к мысли, что мне все-таки нужен учитель. Хотя бы в качестве той самой морально-волевой палки, которой я буду себя лупасить.

И потом сливался с уроков

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

Звучит здорово, но платить за часовое занятие цену обычного урока х2? Я так не думаю. Поэтому я не поддался на уговоры и купил пакет обычных уроков.

Мой первый учитель в Skyeng должен меня ненавидеть, потому что я был хрестоматийным двоечником и прогульщиком.

  • Все время переносил и отменял уроки
  • Пропускал их без предупреждения
  • Не делал домашки
  • Тупил на одних и тех же темах, хотя мы только что это прошли и т.д.

Многое можно списать на асапы, плавающий график и ненормальный рабочий день, но остальное было чисто моей ленью и нежеланием выходить из зоны комфорта.

По сути, я сам саботировал процесс: не хотел приходить на занятие и чувствовать, что я ничего не знаю, что я плаваю в лексике, которую должен был выучить еще в школе.

В июне я еще съездил в отпуск, поэтому мотивация что-то делать была на нуле.

Оказалось, что в методе Дуолинго что-то есть

Если вы думаете, что бомбинг звонками и сообщениями прекратится после того, как вы оплатите пакет или подписку, вы ошибаетесь. Я специально гуглил перед началом учебы в Skyeng отзывы про школу, опыт моих знакомых это подтверждает — вас не оставят в покое просто так.

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

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

  • Уходишь в отпуск? Позвонили, написали, письмо плюс сообщение.
  • Вернулся из отпуска? Позвонили, написали, напомнили поставить уроки.
  • Долго не занимался? Держи статью про интенсивность и менеджер позвонит тебе узнать, все ли в порядке и нравится ли тебе в школе.

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

Учитель тоже не отставал. Когда я пропускал или отменял занятие, он узнавал, устраивает ли меня график, не нужно ли что-то поменять.

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

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

Я наконец-то втянулся в учебу

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

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

Мы честно поговорили с преподавателем и решили, что не будем мучить друг друга с бесконечными пропусками и отменами.

Дело не в том, что мне попался плохой учитель или меня не устраивало качество языка (если все действительно плохо, всегда можно выбрать другого). Просто было очевидно, что мне нужен специализированный материал и программа под мой запрос.

К тому же, в премиум входили безлимитные разговорные клубы, так что я сменил подписку (тогда цена еще была не такой жесткой как сейчас, конечно).

Мой второй учитель специализировался как раз на job interview. Это потрясающее чувство, когда не надо ничего объяснять и человек сам все знает, потому что постоянно готовит людей к собеседованию.

Со второго раза все пошло гораздо лучше:

  • Я переносил меньше уроков, потому что мне подобрали нестандартный график (мы занимались либо рано утром, либо поздно вечером).
  • На премиуме было больше бесплатных отмен, и не за 8 часов, а за 4, поэтому уроки не сгорали. Звучит парадоксально, но за месяц я потратил меньше денег на премиум, чем на обычные занятия.
  • Индивидуальный план учебы оказался реально планом, а не маркетинговым обещанием. Мы определили, какой минимум нужен, чтобы начать собеседования, и сосредоточились только на этих темах.

По сути я заплатил за репетитора, а получил полноценного коуча. Мой второй учитель занимался английским с сотрудниками EPAM, Deloitte, Blizzard, у него накопилось много релевантного опыта, которым он со мной делился. Даже когда мне было дико лень, я старался не пропускать занятия.

Если я совсем ничего не соображал после работы, мы просто проводили ненапряжные разговорные уроки и повторяли материал. Между занятиями он скидывал мне дополнительные ресурсы на посмотреть и почитать.

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

Что еще мне понравилось

У меня есть вредная привычка: если я читаю что-то и вижу незнакомое слово, я скорее попытаюсь догадаться о значении из контекста или даже полностью пропущу его, но специально искать перевод не буду.

В результате есть десятки или даже сотни слов, которые я знаю очень смутно. Если встречу, примерно понять могу, но сам не пользуюсь.

В этом плане платформа реально удобна тем, что любое слово можно выделить, тут же посмотреть перевод и добавить в словарь, чтобы учить. Есть расширение с тем же функционалом, я его тоже себе потом поставил.

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

Просто поверьте, ничто другое не бустанет вашу уверенность в себе как тот факт, что человек, для которого этот язык родной,

  • вас понял;
  • вы поняли его;
  • у вас получился внятный разговор, пускай даже на простую тему.

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

Нет такого, что ты стоишь на месте и не понимаешь, за что отдаешь деньги. Не работает, не получается? Скажи об этом, учитель поменяет программу.

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

Когда мне ставят жесткие условия, конкуренцию, какие-то штрафы, я просто закрываюсь и ничего не хочу делать. И наоборот, если меня поддерживают, верят в меня (даже мотивирующие стикеры в личном кабинете), я стараюсь соответствовать.

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

Но все-таки приятно, что тебе ничего не навязывают. После всех агрессивных продаж человек (в данном случае учитель) все равно видит в тебе такого же человека, старается подстроить под тебя материал, программу, сам подход к урокам.

Вывод

Плохая новость в том, что меня пока не взяли на работу ни в Нидерландах, ни где-то еще. Хорошая — в том, что это не из-за моего английского.

Естественно, пока я метался, нужно мне это, не нужно, надо учить язык и релоцироваться, не надо, — в той компании уже десять раз закрыли вакансию. Но она была не последней в моей жизни, теперь я это четко понимаю.

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

Даже если мне не сделают офер прямо сейчас, я планирую откликаться и писать рекрутерам до тех пор, пока это не случится. Ну и я горжусь тем, что вообще-то могу теперь такие интервью проходить.

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

Не могу сказать, что как-то полюбил навязчивый маркетинг, которым пользуется Skyeng. Это все еще мем: я выбрасываю телефон, уплываю на необитаемый остров, но на берег все равно постоянно выносит бутылку с запиской «Роман, мы заметили, что вы стали реже заниматься английским…»

Еще за год обучения мне дважды (!) пытались продать уроки, хотя я уже был клиентом и в дополнительных стимулах не нуждался. Почему такая большая школа не может разобраться со своими продаванами, для меня за гранью.

Но сейчас я понимаю, что долбать меня со всех сторон — это нормальный рабочий способ заставить меня что-то делать. Такой мазохистский инсайт)

Во-первых, потому что у меня проблемы с личными границами (что очевидно, ведь я до сих пор не послал Skyeng и плачу им деньги).

Во-вторых, потому что я не могу все помнить и все контролировать.

Да, мне нужен английский, я замотивирован быстрее его выучить и найти работу, но я тоже человек, и стресс превращает мой мозг в пюре. Так что пожалуйста, напоминайте мне про уроки и зовите на вебинары по нужной мне теме. Я из настоящего проклянет это письмо/звонок/сообщение, но я из будущего скажет спасибо.

В общем, если вы человек с железной волей и дисциплиной, спокойно занимайтесь английским сами, учитель вам не нужен. Если вы как я и вам тоже нужен кто-то, кто поможет не слиться на пути к цели, будет в самый раз.

​​Забудьте про ошибки в английском на бесплатном интенсиве «Грамматика для жизни»!

На конкретных примерах научим различать Present Continuous и Present Perfect, грамотно строить предложения и формулировать мысли.

Что вы получите за 10 дней:

5 видеоуроков, к которым можно возвращаться
— Объясняем грамматику на примерах из жизни.

Доступ к телеграм-боту
— Уроки, подарки — все в одном месте.

Домашние задания на интерактивной платформе
— Максимум практики и полезных материалов.

В конце интенсива каждый участник сможет пройти тест на закрепление знаний и получить именной сертификат для своего портфолио!

Записаться на интенсив: https://go.skyeng.ru/life-grammar-b2b

Возможно, вам также будет интересно:

  • Candy gvw 264 dc коды ошибок
  • Candy grando evo ошибка е03
  • Candy grand ошибка е03
  • Candy grand vita ошибка е02
  • Candy grand vita ошибка e20

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии