Были ли какие-либо навыки при устройстве на первое место работы
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Навыки При Первом Устройстве на Работу
Вопрос интересный, потому что показывает реальность того, как работает IT индустрия. Мой первый опыт был совсем не идеальным, и это нормально.
Что Я Знал (Основное)
Когда я устраивался junior разработчиком в небольшую компанию (2008 год), я знал:
Технические навыки:
- JavaScript — базовые понимание (функции, objects, DOM)
- HTML/CSS — мог написать простую страницу
- PHP — немного (для backend'а)
- MySQL — основные SELECT/INSERT/UPDATE
- Git — только клонирование репозитория (push/pull не очень понимал)
"Знал" в кавычках, потому что это было поверхностное знание:
// Я писал вот так (без понимания)
var x = 5;
function doSomething() {
var y = x + 5;
return y;
}
// Не понимал closures, scope, this binding
Чего Я НЕ Знал (Большая Часть)
Это гораздо больший список:
На backend'е:
- HTTP протокол (Request/Response headers)
- REST API (что это такое и как проектировать)
- Аутентификация/Авторизация
- Базы данных (нормализация, индексы, query optimization)
- SQL injection и безопасность
- Deployment
На frontend'е:
- Асинхронность (callbacks, promises — даже не слышал)
- Event loop
- Работа с сетью (AJAX)
- Testing
Архитектура:
- Design patterns
- SOLID, DRY, KISS
- Code review
- Мониторинг, логирование
Процесс разработки:
- Agile/Scrum (это было экзотикой)
- CI/CD
- Collaborative work (как работать в команде)
Как Я Получил Работу
Собеседование было простым:
- Знаю ли я HTML/CSS — да
- Знаю ли я JavaScript — да
- Решил простую задачку на FizzBuzz
- Показал свой простой портфолио проект (личный блог)
- "Ладно, добро пожаловать!"
Лидер команды знал, что я junior и ничего не знаю. Это нормально.
Первые 3 Месяца на Работе
Месяц 1: Шок
Понедельник:
- Lead показал код базы проекта
- Я ничего не понимаю
- 30% кода — незнакомые library'и
- Даже не знаю, как запустить проект локально
Вторник:
- First task: исправить 2-строчный баг в JavaScript
- Беру 4 часа на то, что senior может сделать за 10 минут
- Испугался, но всё получилось
Пятница:
- Уже немного понимаю структуру проекта
- Но код review все ещё больно: "Это неправильно", "Переделай"
Месяц 2: Обучение
Лид заметил, что я мотивирован, и начал учить:
- Объяснял HTTP/REST
- Показал, как работает сервер
- Дал доступ к production логам ("看看失败了什么")
- Рекомендовал книги
Месяц 3: Компетентность
Я начал понимать patterns в коде:
// Месяц 1: Копирую существующий код
function getUserName(id) {
// *copy-paste from existing code*
}
// Месяц 3: Уже немного понимаю
function getUserName(id) {
// Знаю, что нужно:
// 1. Валидировать input
// 2. Обработать ошибку БД
// 3. Вернуть результат или null
if (!id) throw new Error('ID required');
const user = await db.findById(id);
return user?.name;
}
Навыки, Которые Помогли Больше Всего
1. Трудолюбие
- Я приходил в офис рано, уходил поздно
- Дома продолжал смотреть туториалы
- Не боялся просить помощи
2. Умение Гуглить
- Это было в 2008, Google был хорошо, но StackOverflow только зарождался
- Я научился искать информацию и читать чужой код
- Если не знаю как, первый инстинкт — Google, второй — спросить
3. Умение Слушать
- На код review я не деградировал, а слушал
- "Почему переделать лучше?" — вопрос, а не защита
- Лид видел, что я впитываю информацию
4. Умение Читать Чужой Код
- Это сложнее, чем писать свой код
- Я проводил часы, просто читая существующий код
- Спрашивал: "Почему вы это так сделали?"
Что Мне Помогло Не Развалиться
Лидер был хорошим:
Хороший лидер:
- Давал простые задачи в начале
- Объяснял код
- Не кричал на ошибки
- Говорил: "Это нормально не знать, ты junior"
Плохой лидер был бы:
- Дал бы сложные задачи
- Ожидал бы, что я знаю всё
- Ругал бы за ошибки
- "Ты junior? Тогда почему не знаешь?"
Я выбрал компанию, где были хорошие люди:
- Уровень junior не был стыдным
- Принято, что junior'ы не знают много
- Есть процесс онбординга
- Есть наставник
Чему Я Научился в Первый Год
Технически:
- HTTP/REST
- Асинхронность (callbacks, потом promises)
- SQL базы (нормализация)
- Простой архитектурный паттерн
- Как работает deployment
Мягкие навыки:
- Как общаться в команде
- Как принимать критику
- Как приоритизировать задачи
- Когда просить помощь
Ментальность:
- "Я ничего не знаю" → "Я многого не знаю, но учусь"
- Импостор синдром: "я буду выброшен в первый день" → понимание, что это нормально
Рекомендация для Junior'ов
Когда устраиваешься first job:
-
Не надо знать всё
- Компания наняла тебя, зная, что ты junior
- Ожидают, что ты будешь учиться
-
Трудолюбие > Знание
- Lazy senior намного хуже мотивированного junior'a
- Я видел, как junior'ы превращались в лучших разработчиков
-
Спрашивай
- "Глупый вопрос" — нет
- Вопрос, который ты не спросишь — это глупость
- "Почему?" это лучший вопрос
-
Читай код
- Больше пользы от чтения чужого кода, чем написания своего
- Посмотри, как опытные разработчики решают проблемы
-
Бери интервью в компании
- "Как вы учите junior разработчиков?"
- "Есть ли наставник?"
- "Как часто вы делаете code review?"
- Это показывает, созреет ли ты в этой компании
Параллель с Сейчас
Я помню, когда возглавлял маленькую команду, я хотел воспроизвести то, что делал мой лид:
- Давал простые задачи новичкам
- Объяснял код на code review, а не просто рекомендовал переделать
- Спрашивал: "Что ты не понял?"
- Советовал книги и туториалы
Это работает. Junior, который чувствует поддержку, развивается быстро.
Заключение
На первое место я пришел с:
- Базовыми знаниями JavaScript/HTML/CSS
- Большим желанием учиться
- Отсутствием знания 80% того, что потребуется
И это было нормально.
Жизнь IT не заканчивается на том, что ты не знаешь. Она начинается с того, как ты это учишь. Лучший предиктор успеха — не начальные знания, а:
- Любопытство
- Трудолюбие
- Умение просить помощь
- Умение читать чужой код
- Умение сохранять humility (смирение)
Kaждый senior был когда-то junior, который не знал ничего. Разница в том, что этот junior учился.