Недавно я помогал парню исправить его PHP-код. Детали не имеют большого значения (была запущена куча команд ffmpeg для объединения нескольких видео и аудио файлов). Чувак был совсем новичком и использовал Sublime Text (не такой умный, как IDE) и Filezilla для загрузки файлов на виртуальный сервер, работающий локально. Ему приходилось переключаться на Filezilla каждый раз, когда он вносил изменения в файл PHP, и подтверждать загрузку вручную. Не только виртуальный сервер может иметь общую папку с хост-машиной, но и использовать плагин Sublime SFTP. Ин предложил ему попробовать бесплатную версию PhpStorm IDE — лучшей PHP IDE в мире.

Больше всего меня поразил процесс проверки его изменений. Каждый раз, когда он загружал новый PHP-скрипт, ему приходилось загружать пользовательский интерфейс, нажимать [Пуск], перетаскивать шесть разных элементов в сетку и нажимать кнопку [Обработать]. Каждый раз! Каждый раз, Карл!

Я показал ему, что он может запустить свой process.php, открыв URL-адрес файла в новой вкладке, и снова протестировать с помощью Ctrl-R. Это был первый шаг, этого было недостаточно, потому что скрипт ожидал параметры $_POST.

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

Это ускорило его работу, наверное, в 100 раз. И это очень простые вещи здравого смысла. Что подводит меня к сути: вам нужен наставник. Наставник нужен не только программистам, здесь я сосредоточусь на программистах. За 30 минут наставник может помочь вам продвинуться в ваших навыках, на изучение которых у вас уйдут недели! И вы должны знать, чему вам нужно научиться в первую очередь. Даже если вы думаете, что вы более опытны и не стали бы совершать такие глупые ошибки, есть и другие ошибки, которые вы совершаете, не осознавая этого.

Где найти наставника? Лучше всего спросить своих друзей, есть ли у них друзья, которые более опытны, чем вы, в том, что вы изучаете. Начните с 10-минутного звонка по скайпу, не спрашивайте: «Ты будешь моим наставником на всю жизнь?». Подготовьте очень конкретную проблему, с которой вы столкнулись, не спрашивайте: «Что я должен изучить в первую очередь?». Затем попросите еще 10-минутный звонок через две недели или когда у вас возникнут проблемы в следующий раз.

Если вам не удалось найти опытного друга — вы можете зайти на https://www.codementor.io/ и попытаться найти там наставника, но это будет стоить вам денег.

P.S. Я недавно был наставником для нескольких человек, и я нахожу это довольно забавным. Я занимаюсь всеми видами веб-разработки, используя PHP, JS, Node, Python, SQL, NoSQL, Backend, Frontend, Frameworks и многое другое. Вы можете не выбирать меня, но если хотите — пришлите мне твит.