Я порівняно новий розробник, свіжий з коледжу. Під час навчання в коледжі та під час подальшого пошуку роботи я зрозумів, що існує багато "сучасних" методологій розробки програмного забезпечення, яких не вистачало моїй освіті: тестування блоків, ведення журналів, нормалізація бази даних, спритна розробка (проти загальних спритних концепцій), стиль кодування посібники, рефакторинг, огляд кодів, відсутність стандартизованих методів документації (або навіть вимог) тощо.
В цілому я не бачив, що це проблема. Я очікував, що моє перше завдання охопить усі ці ідеї і навчить їх мені на роботі. Тоді я влаштував свою першу роботу (розробка повного стека) у великій корпорації, і я зрозумів, що ми нічого з цього не робимо . Насправді я, найменш досвідчений в команді, - це той, хто очолює спроби привести свою команду в швидкість за допомогою «сучасних» методик програмування - тому що я переживаю, що не робити цього - це самогубство в дорозі.
Спочатку я почав із програмного забезпечення для реєстрації даних (log4J), але потім швидко перейшов до написання власного керівництва по стилю, потім відмовився від цього для стилю керівництва Google - і тоді зрозумів, що наша веб-розробка Java використовує ручні написані фронтальні контролери, тому я натиснув на наше прийняття Весни - але тоді я зрозумів, що у нас також немає одиничних тестів, але я вже вивчав Весну ... і, як ви бачите, вона занадто швидко стає надзвичайною, особливо, коли вона поєднується з нормальною роботою з розвитку. Крім того, мені важко стати "експертом" у цих методологіях, щоб навчити когось іншого в них, не приділяючи занадто багато часу ні одному з них, не кажучи вже про них усім.
З усіх цих методів, які я вважаю "очікуваними" в сучасному світі розробки програмного забезпечення, як я інтегрую їх у команду як нового гравця, не перевантажуючи і себе, і команду?
Як я можу вплинути на свою команду, щоб стати більш спритною? пов'язано, але я не Agile-розробник, як аскер, і я дивлюся на набагато ширший набір методологій, ніж Agile.