Маленьке тло
Мені сьогодні 28, і я ніколи не проходив офіційної підготовки з розробки програмного забезпечення, але я маю два вищі освітні ступені, еквівалентні бакалавра з зв'язків з громадськістю та Executive MBA, орієнтованого на управління проектами. Я працював на цих полях близько 6 років тоді, 2,5 роки тому я кинув / втратив роботу і вирішив змінити напрямки.
Після місяця, який я продумав, я вирішив розпочати фріланс, розробляючи невеликі веб-сайти в WordPress. Я самостійно вивчив свій шлях до цього, і сьогодні можу сказати, що я веду скромну, але успішну тематику та розробку кар’єри з нуля для своїх клієнтів - в основному агентства, що передають частину своїх розробників для середніх / великих веб-сайтів.
Але іноді я просто відчуваю, що не вивчивши достатньо математики або не маючи формального розуміння речей, насправді затримує мене, коли мені доводиться конкурувати або працювати з більш досвідченими розробниками. Я постійно шукаю способів дізнатися більше, але, здається, не вистачає основ.
На жаль, витратити ще 4 роки на інформатику - це не зараз варіант, тому я намагаюся навчитися всього, що можу, з книг та інтернет-ресурсів. Цей метод ніколи не буде мати НАСА мене, але мені зараз все одно. Моя мета - спочатку пройти планку і мати можливість назвати себе справжнім програмістом.
Зараз я витрачаю свій вільний час на вивчення Java для програмістів (щоб затриматися на мові, за якою всі кажуть, що це складно / вимогливо), читаю уривки Code Complete (щоб опанувати кращі практики), а також Code: The Hidden Language of Computer Апаратне та програмне забезпечення (зрозуміти внутрішню роботу комп'ютерів).
TL; DR
Отже, моя теперішня ситуація така: я в основному здатний написати будь-яку повну систему в PHP (за допомогою Google і кількох книг), інтегруючи Ajax, SQL і багато чого іншого, і, можливо, трохи повільніше, ніж очікував досвідчений розробник завдяки всім дослідженням.
Але вчора я опинився на меті, намагаючись знайти (не Google) рішення для тесту FizzBuzz, оскільки у мене не було запам’ятовано оператора модуля if($n1 % $n2 == 0)
методу .
Що б ви запропонували як хороший спосіб вирішити цю дилему? Які предмети / книги я повинен вивчати, які б змусили мене вирішувати проблеми швидше, а може, і більше "по-програмістському"?
EDIT - Здається, була певна плутанина з приводу того, що я не знав, щоб вирішити FizzBuzz.
Можливо, я не висловив себе правильно: я знав кроки, необхідні для вирішення проблеми. Те, що я не запам'ятав, - це оператор модуля. Проблема полягала в перенесенні основної математики на програму, а не в знанні основної математики.
Я взяв тест для задоволення, прочитавши про нього на програмі Кодування жахів . Я щойно вирішив, що це хороша база порівняння між мною та формально навченими дияволами.
Я просто використав це як приклад того, як не займаючись математикою в комп'ютерному середовищі, перш ніж змушує мене втрачати час на пошук основних речей, таких як оператори модулів, щоб мати можливість вирішувати прості проблеми.
stuck b/c I didn't memorize %
проблеми, то варто зазначити, що є й інші способи зробити це: (припустимо, $ n2! = 0) if (is_int ($n1 / $n2))
або if (($n1 / $n2) == (int) ($n1 / $n2))
Знання ключових слів - одне, і знати, як висловити основні ідеї за відсутності вбудованого рішення - це інший.
I'm basically capable of writing any complete system in PHP (with the help of Google and a few books)
і комбінуючи це з вами, не знаючиif($n1 % $n2 == 0)
, мені цікаво про те, що ви мали експозицію до речей, написаних на PHP. Я думаю, що більшість речей, які ви робите, виходять за рамки простого модульного розрахунку. Чи могли б ви дати трохи більше розуміння того, що ви думаєте, що можете зробити?