Краткое руководство для программиста
- Имейте сильные основы в основах, и у вас должен быть горизонтальный обзор по большинству тем и вертикальная глубина по любой конкретной теме (темам).
- Язык программирования : Освойте как минимум 1 язык программирования (вертикальная глубина) и узнайте о плюсах, минусах и особенностях вашего освоенного языка программирования по сравнению с другими доступными языками (горизонтальный обзор). Некоторые из языков программирования: c/c++, Python, PHP, Java, Scala, Ruby.
- Структуры данных и алогрифмы: Он играет жизненно важную роль в информатике. Пройдитесь по стеку, очереди, связанному списку, деревьям, хеш-таблицам, наборам, картам, графикам, динамическому программированию, поиску с возвратом и попрактикуйтесь в программах. Некоторые из полезных ресурсов: Структуры данных и алгоритмы стали проще Narasimha karumanchi, Code Monk — станьте лучшим программистом, Архивы структур данных — GeeksforGeeks, Упрощенная подготовка к собеседованию по программированию, Структуры данных и алгоритмы Томаса Х. Кормена
- Базы данных: SQL-запросы, большее знакомство с проектированием баз данных, методами нормализации и индексирования, триггерами, РСУБД (MYSQL/Oracle), NoSQL (MongoDB, базы данных Graph, такие как Neo4j, Graphx).
- Операционные системы : Знать все основные понятия и ознакомиться как минимум с 1 разновидностью Linux (Parot OS, KALI Linux, Ubuntu, Fedora).
Компьютерные сети: программирование сокетов, уровни компьютерных сетей. - Разработка веб-приложений: Фронтенд (HTML, CSS, Javascript/Jquery, Angular JS, React JS), Бэкенд (PHP/Python/Java/Ruby), понимание JSON, XML, веб-сервисов, таких как REST, SOAP. Рекомендуемые фреймворки: Bootstrap, Python (Django, Flask), PHP (Codeigniter, Zend, Laravel), Ruby (Ruby on Rails), Java (Spring, Jersy). Онлайн-руководства W3Schools, бесплатные онлайн-уроки и курсы, видеоуроки — thenewboston, Установщики и загрузки XAMPP для друзей Apache
- Разработка мобильных приложений: Android, Windows, IOS Бесплатные онлайн-уроки и курсы, Учебники
- Разработка игры: Pygame, игровой движок Unity (создание игры в понг с помощью Unity 2D, игра в понг на Unity 2D, РУКОВОДСТВО ПО ПУТЕШЕСТВИЮ 1: НАСТРОЙКА МИРА)
- Система контроля версий: Это помогает разработчикам работать вместе, без проблем обмениваться кодом и вести историю отдельных работ, с легкостью возвращая код к предыдущим/более поздним версиям. например GIT, SVN, CVS. Некоторые из популярных сайтов включают github, gitlab, bitbucket. git — простое руководство, Git — Документация, Mercurial SCM
- Тестирование: Junit, Selenium, JBeahave
- Открытый исходный код : Внесите свой вклад в открытый исходный код. Почему с открытым исходным кодом?
- Сценарии оболочки
Ниже приведены некоторые из лучших практик, которым следует следовать.
- Продолжайте читать существующий исходный код программного обеспечения. Я знаю, что читать и понимать существующий исходный код скучно, но это дает вам возможность ознакомиться с лучшими практиками, которых придерживается большинство разработчиков программного обеспечения. Плохо написанный исходный код учит вас писать хороший исходный код, при условии, что вы воспримете его положительно и извлечете из него урок. Если вы хотите стать писателем, можете ли вы написать лучшие романы, не читая ни одного романа? Я бы сказал НЕТ. Точно так же, если вы хотите написать лучший исходный код, то как вы сможете писать, не читая тонны исходных кодов и не зная лучших практик (отступы, комментарии и т. д.).
- Документируйте свой код.
- Проверьте свой код должным образом.
- Продолжайте учиться новому и оставьте Эго позади. Новые технологии появляются каждый день, и ни у кого нет полной власти над всем. Так что не стесняйтесь просить/помочь своих коллег, друзей и даже джуниоров.
- Это зависит от вас, хотите ли вы поддерживать (а не усыновлять, чтобы узнать что-то новое) или хотите карьерного роста.
- Будьте в курсе новейших инструментов и технологий.
- Участвуйте в хакатонах, соревнованиях по программированию, даже если вы ничего не знаете. — Победы и поражения являются частью игры, но полученные знания и опыт останутся навсегда.
- Начните делать как можно больше проектов.
- Текстовый редактор (Возвышенный текст, визуальный код, Notepad++)
- Клиенты подключения к удаленной системе: Putty, WinScp, FileZilla, удаленный рабочий стол
- IDE (Intellij, Eclipse, Visual Studio, Android Studio, NetBeans)
- PHP Веб-разработка (XAMPP, Вамп)
- Непрерывная интеграция (Докер, Дженкинс)
Веб-сайты
Stackoverflow, w3schools, tutorialpoint, coursera, edx, udacity, thenewboston, HackerEarth, HackerRank, Spoj, Codechef, интервьюбит.