Как понял, что стал Middle

«Как понял, что стал Middle» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Основные признаки перехода на Middle:

  • Самостоятельно решаешь типовые задачи без помощи коллег
  • Понимаешь стандартную библиотеку и базовые пакеты (net/http, sync, context и т.д.)
  • Умеешь писать тестируемый и поддерживаемый код
  • Можешь проектировать небольшие сервисы
  • Понимаешь конкурентность и умеешь применять каналы, мьютексы
  • Разбираешься в профилировании и оптимизации

Пример middle-кода:

func ProcessRequests(ctx context.Context, requests <-chan Request) {
    for {
        select {
        case req := <-requests:
            go func(r Request) {
                if err := validate(r); err != nil {
                    log.Printf("invalid request: %v", err)
                    return
                }
                process(r)
            }(req)
        case <-ctx.Done():
            return
        }
    }
}