Какие цели ставишь перед собой

Ответ

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

Пример:

// Вместо простого кода...
$users = ['Alice', 'Bob'];
foreach ($users as $user) {
    echo $user;
}

// ...стремлюсь к оптимизированным, поддерживаемым решениям
class UserCollection implements IteratorAggregate {
    private array $users;

    public function __construct(array $users) {
        $this->users = $users;
    }

    public function getIterator(): Traversable {
        yield from $this->users;
    }
}

$users = new UserCollection(['Alice', 'Bob']);
foreach ($users as $user) {
    echo $user;
}

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

Ответ 18+ 🔞

Ну вот, смотри, ты говоришь про профессиональный рост, а у меня сразу в голове картинка: сидит такой чувак, который echo в цикле пишет, и думает, что он уже архитектор, ёпта. Это как прийти в спортзал, один раз гантельку поднять и ждать кубиков на животе — нихуя не работает, дружище.

Вот смотри на этот первый кусок кода. Ну классика же, блядь. Каждый с этого начинал, я сам так писал, не стесняюсь. Массив, foreach, выводим — и вроде всё работает. Но это как на заправке шаурму купить: быстро, дешево, нажрался, но через час снова жрать охота, и в животе революция начинается. Код-то работает, да. Но это пиздопроебибна какая-то, если честно. Попробуй это потом расширить, протестировать, или, не дай бог, другому челу объяснить, почему тут именно echo — волнение ебать, терпения ноль ебать.

А вот второй вариант — это уже, сука, мыслить начинаешь. Это уже не просто "сделать, чтоб работало". Это "сделать, чтоб не разъебало всё через полгода, когда заказчик придумает новую хуйню". Ты создаёшь UserCollection, он IteratorAggregate реализует. Это же, блядь, как взять свой бардак на столе и разложить всё по красивым коробочкам с надписями. Смотри, какая красота: логика итерации инкапсулирована, класс можно отдельно протестировать, в него потом легко filter() или map() добавить. И главное — ты не привязан к массиву. Захотел — данные из базы тяни, захотел — из API какого-нибудь. А код, который этот коллекцию использует, вообще похуй, откуда там юзеры взялись.

И вот в этом, блядь, и есть весь сок. Не в том, чтобы на PHP 8.3 какую-нибудь дичь с нейросетями написать, а в том, чтобы простую, казалось бы, хуйню сделать так, чтобы она не превратилась в лапшу через месяц. Чтобы другой разработчик, глядя на твой код, не сказал "я ебал этого гения в сраку", а понял, что к чему.

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

Так что да, я полностью про то, чтобы не просто на кнопки нажимать, а думать, как эта штука будет жить дальше. Чтобы не было потом мучительно больно, когда нужно будет новую фичу впихнуть в старый монолит, а там, блядь, всё на глобальных переменных завязано. Архитектура, которая масштабируется — это не про то, чтобы сразу на миллион пользователей заточить, а про то, чтобы можно было без истерик и трёхлитрового кофе эту архитектуру потом поменять, если эти самые пользователи вдруг и правда набегут.

Видео-ответы