Як я можу компенсувати те, що пішов у JavaSchool? [зачинено]


18

У попередньому запитанні я попросив поради щодо кар’єри у нових програмних інженерів, які зробили добре до і під час коледжу. Але що з людьми, яким не пощастило їхати в MIT чи Єль з будь-якої причини? Що робити, якщо ви перейшли до того, що Джоел Спольський називає JavaSchool ?

Що можуть / повинні зробити випускники JavaSchool, щоб розвинути свої навички та компенсувати те, що вони пропустили в коледжі? (Або Джоел помилявся, що ті школи були невигідними?)



4
"Не дозволяйте школярам перешкоджати вашій освіті" - Марк Твен
BlackJack

Відповіді:


12

Незважаючи на твердження Джоеля в цій статті - і він сам визнає свою думку - багато предметів, які можуть бути пропущені "JavaSchool", не потрібні для багатьох робіт.

Я відвідував щось, що, напевно, нагадує JavaSchool, оскільки ми витрачаємо більшу частину свого часу на упор на мови високого рівня, такі як C # та Java, але це не змінює факту, що "Алгоритми та структури даних" все ще є частиною необхідного списку класів - не кажучи вже про всіх інших теоретично орієнтованих класах. Зазначено, що не всі "JavaSchools" однакові, але це не суть справи.

На мою думку, важливіше, ніж розуміння деяких найважливіших тем розвитку розвитку - це здатність ефективно вирішувати проблеми, коли виникають унікальні виклики. Як інженери програмного забезпечення, ми робимо переважну більшість свого навчання на роботі і, таким чином, два найбільші аспекти нашої опису роботи - це можливість вирішити проблеми та вміти підбирати незнайомі поняття. Якщо під час співбесіди не вдається зробити помітну і логічну спробу вирішити нову для них проблему, то їх несумісність для даної позиції, швидше за все, виявиться.

Очевидно, що наймаючи когось на посаду, яка вимагає постійного опромінення та використання якоїсь хитромудрої теми, яку може пропустити JavaSchool, часто логічним вибором є спілкування з тим, хто має попереднє розуміння, але відсутність досвіду не повинна завжди виключає право на роботу .

Більш ніж напевно, 50-річний хлопець Java у вашій компанії, який існує там стільки часу, скільки хто пам'ятає, не розумів Яви, поки його робота (поточна чи попередня) не попросила його навчитися - і він це зробив. Строго кажучи, погана практика звільняти "старого хлопця", щоб молодший і більш "сучасний" кандидат міг зайняти його місце; якщо говорити, якщо посадова інструкція для будь-якого молодого чи старого працівника змінюється, відповідальність за його працевлаштування або пошук нової роботи є обов'язком цього працівника. Просто тому, що людина (особливо програміст із минулим досвідом) не розуміє якоїсь концепції, не означає, що вона не бажає або не може її вивчити. Насправді, якщо вони не бажають вчитися, вони, ймовірно, не належать ні до якої роботи - тим більше до вашої.

Справедливо сказати, що деякі "JavaSchools" кращі за інші, і цей факт, безумовно, слід враховувати при виборі кандидата на посаду, але є набагато важливіші особисті риси, ніж просто те, де хтось пішов у школу.

Це наша здатність вирішити проблему і знайти рішення, яке визначає нас як інженерів, більшість всього іншого є другорядним.


+1 "Це наша здатність вирішувати проблему і знаходити рішення, яке визначає нас як інженерів; більшість всього іншого є другорядним".
Білл

Я відвідував школу, де мови програмування рідко зверталися (у нас були основи C / C ++ / Java, на жаль, не функціональна мова), і ми лише знайомимося з теорією CS. З іншого боку, ми говорили про бази даних, обмін даними, телефонні / мобільні / інтернет-мережі, інтерфейс людина-машина тощо ... Ми дізналися вшир, а не в глибині. Я не думаю, що це було погано :)
Матьє М.

1

Чому б не працювати через підручник, який запроваджує програмування інакше, ніж те, як ви його вивчили? Наприклад, є кілька хороших, безкоштовних книг, які використовують функціональну парадигму. Як розробляти програми дуже доступні. Класична структура та інтерпретація комп’ютерних програм (http://mitpress.mit.edu/sicp/) є менш такою, але дає глибоке відчуття просвітлення.

Я настійно рекомендую переглянути першу пару лекцій Абельсона з SICP, щоб ознайомитися з інформацією про те, що таке інформатика. Вони старші, але дуже добре постаріли (http://video.google.com/videoplay?docid=5546836985338782440#).


1

Я відчуваю ваш біль, коли я теж ходив до JavaSchool. Шахта насправді займає досить високу позицію у Великобританії за тим, чим вона є, хоча студенти мого року не отримали жодного класу структур даних. Мені пощастило, що мені вдалося підібрати DSA як необов'язковий курс через адміністративні помилки в моєму курсі, але це ще одна неприємна історія ...

З мого досвіду, ви відчуєте щось у JavaSchool, чого не відчуєте у найкращих університетах, і це той студент, який хоче довести свою цінність . Як і в будь-якому іншому стародавньому університеті чи університеті з червоної цегли в моїй країні, у нас були типові шахраї та гідні виконавці, але була невелика група студентів, які знали про своє оточення та про те, чого їм не вистачало у навчанні. Ці люди неминуче не обов'язково робили блискучий курс, але вони залишили університет, знаючи більше, ніж усі. Ми інтернувались у будь-яких програмних компаніях, які брали б нас під час перерв, ми вибирали мови, до яких нас ніколи не навчали, і ми вивчали предмети, яких уникали інші, бо вони були важкими.

З моїх друзів, ми двоє продовжуємо навчання на рівні магістратури, збираючись на всіх курсах підвищення кваліфікації, де ми вважали, що ми цілком пропустили фундамент, і один хлопець сподівається, що його недавнє інтерв'ю в Microsoft призведе до повноцінного, час роботи. Я збираюся незабаром розпочати ступінь магістра, перш за все, щоб заповнити прогалини в моїй освіті та провести ще один рік, будуючи навички, необхідні для максимізації свого потенціалу в цій галузі.

У реальному світі люди завжди будуть дотримуватися цих упереджень, і найчастіше вони повністю засновані на істині. Якщо ви вважаєте, що ваша школа недостатня, скажіть їм, і використовуйте подібні веб-сайти, щоб створити рівень свого навчання.


0

Ну, ви можете отримати програмне забезпечення для написання роботи на Java. Поки ви добре займаєтесь тим, чим займаєтесь, школа, в яку ви ходили, та / або ваш головний, не дуже важлива минула перша робота, якщо навіть тоді .


0

Найкраще, що я можу придумати, - це перейти і (пере) вивчити програмування за зовсім іншою парадигмою, щоб звільнитися від об'єктно-орієнтованого способу мислення.

Я б запропонував як мінімум:

  • Мова складання , щоб отримати реальну оцінку роботи машини
  • Haskell , за дуже чистий погляд на функціональне програмування
  • Lisp , для нечистого функціонального програмування та метапрограмування (Clojure був би моїм першим вибором, але схема або Common Lisp також чудові)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.