В предыдущем вопросе я попросил совета по карьере для новых разработчиков программного обеспечения, которые преуспели до и во время учебы в колледже. Но как насчет людей, которым не повезло по каким-либо причинам пойти в Массачусетский технологический институт или Йельский университет? Что если вы пошли в то, что Джоэл Спольски называет JavaSchool ?
Что могут / должны сделать выпускники JavaSchool, чтобы развить свои навыки и наверстать упущенное в колледже? (Или Джоэл ошибался из-за того, что эти школы невыгодны?)
Ответы:
Несмотря на заявления, сделанные Джоэлом в этой статье, - и он признает эту точку зрения, - многие предметные области, которые могут быть пропущены "JavaSchool", не являются необходимыми для многих работ.
Я посещал что-то, что, как мне кажется, напоминает JavaSchool, в котором мы проводим большую часть нашего времени, концентрируясь на языках высокого уровня, таких как C # и Java, но это не меняет того факта, что «Алгоритмы и структуры данных» все еще являются частью списка обязательных классов. - не говоря уже о всех других теоретически ориентированных классах. Конечно, не все «JavaSchools» одинаковы, но это не главное.
На мой взгляд, более важным, чем понимание некоторых более сложных тем разработки, является способность эффективно решать проблемы, когда возникают уникальные проблемы. Как разработчики программного обеспечения мы проводим подавляющее большинство нашего обучения на работе, и поэтому два основных аспекта нашего описания работы заключаются в том, чтобы решать проблемы и улавливать незнакомые понятия. Если во время собеседования кто-то не может сделать заметную и логичную попытку решить проблему, которая является для него новой, то его несовместимость для данной позиции, скорее всего, проявится.
Очевидно, что при найме кого-либо на должность, которая требует постоянного ознакомления и использования какой-то сложной темы, которая может быть упущена JavaSchool, часто бывает логичным выбрать человека, который имеет предварительное понимание, но недостаток опыта не должен всегда исключать право на работу .
Более чем вероятно, что 50-летний парень из Java в вашей компании, который был там до тех пор, пока кто-нибудь помнит, не имел никакого понимания Java, пока его работа (текущая или предыдущая) не попросила его изучить его - и он сделал это. Строго говоря, это плохая практика увольнять «старого парня», чтобы его место занял более молодой и более современный кандидат; При этом, если описание должностных обязанностей какого-либо работника младшего или старшего возраста меняется, ответственность за то, чтобы его поймали или нашли новую работу, лежит на нем. Тот факт, что человек (особенно программист с прошлым опытом) не понимает какую-либо концепцию, не означает, что он не желает или не способен ее изучить. На самом деле, если они не хотят учиться, то, вероятно, они не принадлежат ни к какой работе, а тем более к вашей.
Справедливо сказать, что некоторые «JavaSchools» лучше других, и этот факт, безусловно, следует учитывать при выборе кандидата на должность, но есть гораздо более важные личные качества, чем то, где кто-то ходил в школу.
Мы склонны решать проблему и находить решение, которое определяет нас как инженеров, а все остальное является второстепенным.
источник
Почему бы не работать с учебником, который знакомит с программированием иначе, чем вы его изучили? Например, есть несколько хороших бесплатных книг, которые используют функциональную парадигму. Как разрабатывать программы очень доступно. Классическая структура и интерпретация компьютерных программ (http://mitpress.mit.edu/sicp/) меньше, но она дает глубокое чувство просветления.
Я настоятельно рекомендую посмотреть первые пару лекций Абелсона по SICP, чтобы понять, что такое информатика. Они старше, но очень хорошо постарели (http://video.google.com/videoplay?docid=5546836985338782440#).
источник
Я чувствую вашу боль, когда я ходил в школу JavaSchool. На самом деле, мой рейтинг в Великобритании довольно высок, хотя студенты моего курса не получили ни одного класса Data Structures. Мне повезло, что я смог выбрать DSA в качестве факультативного курса из-за административных ошибок в моем курсе, но это еще одна печальная история ...
По моему опыту, вы будете испытывать что-то в JavaSchool, чего не будете испытывать в лучших университетах, и именно этот студент хочет доказать свою ценность . Как и в любом другом древнем университете или университете из красного кирпича в моей стране, у нас были типичные бездельники и достойные исполнители, но была небольшая группа студентов, которые знали об их окружении и о том, чего им не хватало в их образовании. Неизбежно, что эти люди не обязательно преуспели в своем курсе, но они ушли из университета, зная больше, чем все остальные. Мы проходили стажировку в любых софтверных компаниях, которые брали нас во время любых перерывов, мы выбирали языки, которые нам никогда не преподавали, и мы изучали предметы, которых другие избегали, потому что они были трудными.
От моих друзей двое из нас продолжают обучение на уровне магистратуры, изучая все продвинутые курсы, по которым мы чувствовали, что полностью упустили фундамент, и один парень надеется, что его недавнее интервью в Microsoft приведет к полному время работы. Я скоро собираюсь получить степень магистра, прежде всего, чтобы заполнить пробелы в моем образовании и потратить еще один год на развитие навыков, которые мне понадобятся, чтобы максимизировать свой потенциал в этой отрасли.
В реальном мире люди всегда будут придерживаться этих предубеждений, и чаще всего они полностью основаны на истине. Если вы чувствуете, что ваша школа неадекватна, сообщите им об этом и используйте такие сайты, чтобы повысить свой уровень образования.
источник
Ну, вы можете получить программное обеспечение для написания работы на Java. До тех пор, пока вы хорошо разбираетесь в том, что делаете, школа, в которую вы ходили, и / или ваша специальность не очень важна после первой работы, если даже тогда .
источник
Лучшее, что я могу придумать, - это пойти и (заново) изучить программирование в совершенно другой парадигме, чтобы освободиться от объектно-ориентированного мышления.
Я бы предложил как минимум:
источник