IT-инфраструктура для бизнеса и творчества
Разработка
Rapprogtrain

27 вещей, которые я хотел бы знать, перед тем, как начать программировать

Хотелось бы знать массу вещей, перед тем, как начать изучать программирование, но вот 27 вещей, которые приходят на ум.

Я поставил самые важные вещи под номерами 14 и 26, потому что я хотел бы, чтобы вы прочитали полный текст.

1. Вы учитесь на практике.

Единственный способ стать лучше в программировании - это программировать. Не позволяйте параличу анализа помешать вам начать.

2. Программирование не похоже на подготовку к тесту.

Не имеет большого значения просто запоминание вещей.

3. Списывать можно.

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

4. Оставлять проблемы без проверки - плохая стратегия.

Я делал бесконечные правки в своем коде и ожидал, что он сразу же заработает. Проблема с этим подходом состоит в том, что он ставит одну проблему поверх другой и мешает выяснить, что пошло не так.

5. Учиться самостоятельно очень сложно.

Говорить о коде и сотрудничать с другими начинающими разработчиками - лучший способ учиться для большинства людей.

6. Не обращай внимания на свои эмоции.

На пути к становлению программистом вы будите видеть сообщения об ошибках. Провал - это неотъемлемая часть процесса, вы должны нормально относиться к ошибкам, чтобы расти.

7. Вам не нужно 5 мониторов.

Вопреки тому, что может сказать вам Голливуд, вам не нужна безумная настройка внешнего монитора, чтобы быть программистом. Компьютер, которым вы владеете сейчас, вероятно, достаточно хорош, чтобы начать программировать. Не трать свои деньги.

8. Существует большая разница между заглавной и строчной буквой.

Мне потребовалось некоторое время, чтобы привыкнуть к замечанию тонких различий между похожими символами, и это может быть довольно неприятно, пока вы не привыкнете к нему.

9. Попытка понять все - безнадежное дело.

Вначале я пытался найти причину каждой проблемы, с которой столкнулся. Это не обязательно. Компьютеры настолько сложны, и нужно будет многое выучить. Вы никогда не поймете все, и это нормально.

10. Делай столько программ, сколько ты можешь.

Нет более быстрого способа научиться писать код, чем писать много программ.

11. Менять плохой код является частью процесса.

Раньше я думал, что каждый кусок кода, который я написал, должен быть идеальным. Но внесение улучшений в ваш код - это нормально. Вы не пишете книгу, которую нельзя изменить после ее публикации.

12. Есть правильный способ обратиться за помощью.

Каждый должен обратиться за помощью в какой-то момент. И когда вы это сделаете, убедитесь, что вы делаете эти четыре вещи:

  • Переделайте детали, которые вы видите.
  • Точно объясните, что, по вашему мнению, должно происходить.
  • Точно объясните, что на самом деле происходит.
  • Объясните, почему вы думаете, что это должно работать по-другому.

Когда вы проходите этот процесс, вы часто сталкиваетесь с решением, даже не обращаясь за помощью. Это заставляет вас думать о проблемах целостным образом.

13. Вам не нужно быть гением математики.

Если вы не «математик», это не значит, что вы не можете быть программистом.

14. Всегда отмечайте маленькие победы.

Создавать вещи с помощью кода действительно круто. Я бы никогда не добрался до того места, где бы находился, если бы не отступил и не восхитился удивительными вещами, которые создавал по пути.

15. Встречи невероятно ценны.

В начале это было довольно пугающим, когда я чувствовал себя комфортно при посещение встреч. Но как только я это сделал, я понял, что таких же разработчиков, как и я, было множество.

16. Избежание merge conflicts делает вас счастливее.

Merge conflicts раздражают. Поэтому, когда я понял, что могу подкрасться к товарищу по команде, чтобы он / она разобрался с проблемой вместо меня, я был очень взволнован.

17. Это нормально, признать то, что вы не знаете.

Когда вы получаете свою первую работу по программированию, вы можете быть склонны подделыванию, пока не узнаешь, как.сделать. Не делайте этого. Никто не ожидает, что вы сразу все узнаете.

18. Для того, чтобы получить работу, не требуется учиться 10000 часов.

В действительности вам просто нужно быть достаточно хорошим, чтобы уметь исправлять себя и возвращаться в нужное русло, когда возникают проблемы. Это занимает гораздо меньше времени, чем 10000 часов.

19. Вы должны думать о коде, когда просыпаетесь утром.

И когда это происходит, это действительно чертовски круто.

20. Можно делать большие ошибки.

Однажды я допустил ошибку, которая стоила моей компании 10000 долларов США. В процессе я усвоил самый важный урок моей карьеры программиста: не бойтесь ставить себя в положение, когда вы допускаете ошибки, если риск того стоит. Благодаря этому вы станете лучшим разработчиком.

21. Алгоритм подобен поиску имени в телефонной книге.

Алгоритмы представляют собой пошаговый подход, в котором есть только один правильный следующий шаг. Проще всего думать об этом, как о стратегии, которую вы бы использовали, чтобы найти одно конкретное имя в телефонной книге. Я написал об этом процессе здесь, если вам интересно.

22. Вы никогда не почувствуете, что готовы программировать все время.

Синдром самозванца - настоящий. Постарайтесь вспомнить, что это нормально - не знать всего. Самым важным является понимание того, что вы можете понять то, чего не знаете.

23. Программисты никогда не прекращают учиться.

Новые технологии появляются постоянно, поэтому преуспевающие программисты - это те, кто продолжает учиться и развивать свое мастерство на постоянной основе.

24. Заставь компьютер думать как человек.

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

25. Программирование - это использование правильного инструмента для работы.

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

26. Распространено сдаваться прямо перед тем, как произойдут перемены.

Обучение программированию (особенно до такой степени, когда вы можете сменить профессию) - это большая работа. Это требует времени и большой дисциплины, но это возможно. Слишком много людей совершают ошибку, выполняя почти достаточное количество работы, чтобы достичь желаемого.

27. Учиться программировать не легко.

Но именно поэтому это стоит делать.

Оглядываясь назад, я на самом деле очень счастлив, что вначале был таким наивным. Когда я знал так мало, у меня была мотивация критически подумать обо всем, что я узнал позже.

Теперь я могу тратить время на помощь другим людям в достижении их целей с помощью кода. Что может быть лучше, чем это?

Спасибо за ваше внимание!

Если вам понравилась эта статья, вы можете почитать другие статьи по программированию.

Стать я была переведена вот отсюда.

(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
6 комментариев
Популярные
По порядку
Написать комментарий...
Andrey Soldatov

Слишком дословный перевод. За каждой фразой "угадывается" английская фраза. Причем, на русском, смысл теряется. Видимо связано с тем, что в русском языке так не говорят: "паралич анализа", "безумная настройка внешнего монитора", "ставит одну проблему поверх другой". Надо подбирать альтернативы или переформулировать предложения.

Ответить
6
Развернуть ветку
Rapprogtrain

хорошо, учту, спасибо

Ответить
1
Развернуть ветку
Жамайка Жанарбековна

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

Ответить
0
Развернуть ветку
Rapprogtrain

если хочешь работать в крупных компаниях, то лучше поступай, если нет, то не особого смысла, если только не получить дополнительные знания

Ответить
0
Развернуть ветку
Седой пришелец

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Rapprogtrain

понимаю, тоже самое было при изучении javascript

Ответить
0
Развернуть ветку
Читать все 6 комментариев
В OTUS стартует первый онлайн-буткемп «Java developer»
Тинькофф запустил рассрочку для покупателей Яндекс.Маркета

Тинькофф и Яндекс.Маркет расширяют сотрудничество в сфере e-commerce: теперь с помощью сервиса «Тинькофф Кредит Брокер» пользователи маркетплейса смогут купить товары в рассрочку на 3, 6, 12 или 24 месяца без комиссий и переплат.

Голова не варит: 10+ советов, как предотвратить умственное переутомление

Наш мозг потребляет уйму энергии, но мы почему-то часто игнорируем, продолжая нагружать его новыми задачами. Как следствие — возникает умственное переутомление, и мы печально и бессильно глядим в пустоту в конце дня. Разбираемся, почему такое состояние возникает и как с ним бороться.

Почему начинающим предпринимателям стоит выходить на маркетплейсы

Торговые онлайн-площадки готовы сотрудничать с бизнесом любого размера.

Пользователи Авито спасли от вырубки леса равные по площади территории Карелии и сэкономили электроэнергию близкую годов

Как деятельность Авито влияет на сокращение загрязнения окружающей среды? Перепродажа наиболее вредных с точки зрения производства товаров помогла пользователям Авито за 2020 год совместно сэкономить более 1,3 миллиарда кг различных материалов, 267 млн ГДж энергии и 123 млн м3 воды.

Фоторамка 2.0 или что подарить бабушке на Новый год

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

Как поднять продажи фармы в диджитале? Рассказываем про стратегию продвижения бренда «Ультра-Д» и показываем результаты

В пандемию фармотрасли тоже пришлось пойти в диджитал, но из-за ограничений ей это дается сложнее, чем остальным. Как построить стратегию продвижения фармпродукта в онлайне и поднять продажи, не нарушив закон? В 2020-м мы проверили в бою собственную стратегию продвижения фармы — а теперь рассказываем, как она работает и какие дает результаты.

Baring Vostok инвестировал $13 млн в российскую платформу автоматизации маркетинга Mindbox Статьи редакции

Деньги направят на развитие продуктов, опционный пул и сделки.

Дольше всех на рынке: почему компаниям с большим опытом сложнее работать с клиентами?
null