Ці з'яўляецца стварэнне цалкам новага праграмнага забеспячэння, як правіла, большая частка большасці заданняў праграмавання?

Я працаваў у распрацоўцы праграмнага забеспячэння на працягу больш за 10 гадоў, і гэта брацца на на мне, што я рэдка, каб стварыць што-небудзь «новае». Я разумею, што «новы» з'яўляецца расплывістым тэрмінам, але я б вызначыў яго як-небудзь з відавочнага новага маштабнага праекта новай вялікай функцыі ў існуючым праекце (скажам, тое, што запатрабавала б некаторыя думкі ў яго канструкцыі, і гэта можа заняць 2 тыдні ці больш, каб завяршыць). Можа быць прыблізных арыенцірам з'яўляецца тое, што з'яўляецца новым, калі яно патрабуе пісьмовага спецыфікацыі. Я думаю, што большасць праграмістаў ведаюць, што я кажу - вы знаходзіцеся ў зоне, пісаць тоны коды ў хуткім тэмпе.

Ва ўсякім выпадку, успамінаючы, што я зрабіў, я б ацаніць, што менш за 10% майго часу ідзе на «новай» працы. Ёсць такія рэчы, як «адаптаваць гэтую існуючую сістэму, каб працаваць у гэтай новай асяроддзі», што, безумоўна, патрабуе шмат планавання, але фактычнае кадаванне і «новы матэрыял» зводзіцца да таго, што робіць малюсенькія змены ў многіх месцах па ўсім коду. Аналагічна для невялікіх запытаў асаблівасці - калі я ведаю, што рабіць, яны часта могуць быць завершаны на працягу гадзіны, і калі ў мяне няма, гэта проста шмат чытання коды і высветліць, што рабіць (што хвалюе мяне, таму што я вучуся значна лепш рабіць, не чытаючы).

In general I feel like I am not really creating anything most of the time. I kind of assumed that this was the case at most places - a new product would come out rather quickly and at that point everyone would be excited and banging out the code at a fast pace, but then once live it moves into maintenance mode, where few of the subsequent changes would be considered "new & creative".

Я памыляюся? Ці магу я дакладна апісвае большасць працоўных месцаў праграмавання, ці ж большасць праграмістаў адчуваюць, што яны часта ствараюць новыя рэчы?

63
На кантрасце, лёгка 90% маёй працы з'яўляецца стварэнне новых рэчаў. Вядома, я працаваў на старце, і зараз кансультант, так што я мог бы быць адзін з шчасліўчыкаў. Тэхнічнае абслугоўванне не тое, што я павінен рабіць часта. Можа быць, адзін дзень у тыдзень не больш
дададзена аўтар MattH, крыніца
@ PéterTörök, Ды гэта было б мяне. Я спадзяюся, вам спадабаецца ваша бяспека працы :)
дададзена аўтар MattH, крыніца
@ PéterTörök, у мяне ёсць ідэя для новага пытання. «У якасці кансультанта, што адзінае лепшае, што я магу зрабіць, каб забяспечыць любы Паннаў, які павінен падтрымліваць мой код, як няшчасныя, як гэта магчыма?»
дададзена аўтар MattH, крыніца
@ PéterTörök: Як наконт "Напісаць код, вы будзе <�я> хачу , каб захаваць"
дададзена аўтар FrustratedWithFormsDesigner, крыніца
@JamieTaylor перакладу на метафарычныя тэрміны, пытанне: <? Я> Гэта тыповая заўсёды быць фіксуючы чужую мадэль Lego і рэдка стварае новы
дададзена аўтар Caleb, крыніца
@JonMcdonald Гэта не павінна быць прыгнятальным - ніякай працы не ўсе ружы, і падтрыманне існуючага кодавай магчыма самым хуткім спосаб атрымаць вопыт і палепшыць свае навыкі ў якасці інжынера. Марнаваць час на тэхнічнае абслугоўванне дапаможа зразумець і пазбегнуць тыповых памылак, якія прыводзяць да марны кода, у першую чаргу, і дапаможа вам ацаніць рэчы, якія ў адваротным выпадку вы, верагодна, не будзе клапаціцца аб такіх, як статычны аналіз кода і аўтаматычнага стварэння модульнага тэставання.
дададзена аўтар Ben Cottrell, крыніца
@Joe, ха! Такім чынам, вы хлопец вырабляць усе тыя! * # @ * &!% У спадчыну сістэм, якія мы хочам захаваць назаўжды?! ;-P
дададзена аўтар Péter Török, крыніца
@Joe, ды я, дзякуй вельмі шмат. Можа быць, калі б вы маглі напісаць толькі крыху больш за модульных тэстаў, я б :-) цалкам ўтрыманне
дададзена аўтар Péter Török, крыніца
@Joe, што нагадвае старую прымаўку, якую я не знайшоў асабліва схільны - гэта значыць, да гэтага часу: «заўсёды код, калі наступны хлопец ўзяць на ваш код быў небяспечны псіхапат, які ведае, дзе вы жывяце»; -)
дададзена аўтар Péter Török, крыніца
@FrustratedWithFormsDesigner, так, я больш задаволены гэтым. Я аддаю перавагу думаць пра тое, як іншых распрацоўніках добрых хлопцы, як я, а не псіхапаты.
дададзена аўтар Péter Török, крыніца
Займальна, стары настаўнік аднойчы параўнаў праграмавання/распрацоўкі праграмнага забеспячэння, каб гуляць з лега. Дзе, блокі прадстаўлены каманды або аб'екты і злучыўшы іх з'яўляецца актам рашэння дадзенай праблемы з выкарыстаннем мовы праграмавання з кампутара. Вядома, мы, дзе з дапамогай Асамблеі ў той час,
дададзена аўтар PMar, крыніца
@JonMcdonald Ваш адказ быў больш каментароў, так што я ператварыў яго для вас. Не адчайвайцеся. Прыміце ўдзел у праектах з адкрытым зыходным кодам для стварэння вашага вопыту і навыкаў набораў і шукаць пазіцыі ў стартапа. Існуе, як правіла ладная цікавае развіццё з нуля там адбываецца. Поспехаў.
дададзена аўтар maple_shaft, крыніца
@Joe: Не змяняйце рэч, вы дасканалыя, як вы :)
дададзена аўтар Binary Worrier, крыніца
Гэта гняце, каб пачуць, як студэнт. Мабыць, адзіны спосаб сапраўды быць нешта новае большасць часу заключаецца ў стварэнні ўласных прадуктаў. Я адчуваю, як гэта мае патэнцыял, каб ўгразнуць ў абслугоўванні, а таксама.
дададзена аўтар danielgomezdidier, крыніца
Варта таксама адзначыць, што ў рэшце рэшт, ваш вопыт будзе вопыт у наборы інструментаў і праграмнага забеспячэння вы падтрымліваеце на, а не агульны вопыт распрацоўкі ... і развітваемся з пераезду ў іншыя кампаніі.
дададзена аўтар Mr. Luigi, крыніца

16 адказы

Вялікае праграмнае забеспячэнне для працы не патрабуе тэхнічнага абслугоўвання. Няма кадравік не будзе на самой справе сказаць вам гэта, вядома, але гэта, вядома, справа.

66
дададзена
Пры абслугоўванні вы маеце на ўвазе зрабіць праграмнае забеспячэнне выконваюць у адпаведнасці з патрабаваннямі стала які змяняецца спецыфікацыі. Абслугоўванне як паняцце ставіцца толькі да абсталявання і іншых рэчаў, якія могуць выпадкова зламацца з-за фізічныя фактары. Праграмнае забеспячэнне не падтрымліваецца, яна перапрацаваная і перапрацаваная.
дададзена аўтар Manishearth, крыніца
@omouse, рэдызайн і рэфактарынг мае значэнне таксама, і ня ахоплівае тое, што мы звычайна называем «mantainance». Калі нейкае праграмнае забеспячэнне выкарыстоўвае цяпер састарэлай функцыі або знешнія змены API, тое, што вы збіраецеся зрабіць, гэта ні рэдызайн, ні рэфактарынг.
дададзена аўтар casey, крыніца
Гэта, верагодна, дакладна, але змест па-ранейшаму вельмі важна, і можа быць інтэлектуальна складанай, а часам :)
дададзена аўтар joshin4colours, крыніца
@omouse - часам так, але часам гэта проста фіксуючы відавочныя памылкі ў рэалізацыі для задавальнення арыгінальнай спецыфікацыі. Але вы маеце рацыю - розныя мерапрыемствы падпадаюць пад рубрыкай «абслугоўвання».
дададзена аўтар Belquest, крыніца
Там няма абсалютна нічога дрэннага абслугоўвання. Але людзі лічаць яго менш гламурным, таму службовыя схільныя перамяншаць яго.
дададзена аўтар Belquest, крыніца

Так, ваша ўспрыманне з'яўляецца дакладным. Гэта абсалютны труізм, што значна больш часу, грошы і намаганні трацяцца на падтрыманне сістэмы, чым на стварэнне новых сістэм. Такім чынам, відавочна, размеркаванне часу большасць праграмістаў будзе адлюстроўваць гэта.

Part of the reason for this is that a lot of people, when they get to do "new & creative", they do it badly, so that maintaining the system is hard (this is especially likely if they've never done maintenance themselves - nobody who has constantly worked on small greenfield projects can really claim to be competent).

Іншы (магчыма, больш) прычына заключаецца ў тым, што большасць сістэм прызначаныя для пастаянна карыснымі, а не толькі для выпадку аднаразовым. Такім чынам, яны працягваюць прывыкаюць значна даўжэй, чым спатрэбілася, каб развіваць іх. Але ў той час, патрабаванні змяняюцца (і дадаюцца) у сувязі са зменамі ў заканадаўстве, на рынку, у навуковых даследаваннях, у карыстачах, незалежна. А гэта азначае, што працы па тэхнічным абслугоўванні.

59
дададзена
@RiceFlourCookies: <�я> Грынфілд з'яўляецца тэрмінам для працы endevour, што з'яўляецца цалкам новым. У гэтым выпадку праект быў пачаты з нуля.
дададзена аўтар Brad Wilson, крыніца
+1 за «ніхто, хто ўвесь час працаваў на невялікіх праектах з нуля сапраўды можа прэтэндаваць на кампетэнтны»
дададзена аўтар RegressForward, крыніца
Што такое «маленькі праект з нуля»?
дададзена аўтар Rice Flour Cookies, крыніца
@RiceFlourCookies і ў той час як <�я> маленькі адносна, праекты, якія могуць быць зроблены адным чалавекам было б разумна лічыць малым.
дададзена аўтар Belquest, крыніца

Састарэлыя сістэмы з'яўляюцца паспяховымі. Яны перажылі першапачатковы працэс развіцця, дзе 50% праектаў не працуюць (нават пасля таго, як поспех быў перавызначаны!). Яны перажылі зменлівую дзелавое асяроддзе. Яны, верагодна, захаваліся каля дзесяці прапаноў ад маладых наіўных праграмістаў перапісаць усё гэта ў Java ці нешта было модна ў той час. Яны былі дастаткова ўдачлівыя, што ўсё, што аддзел, кампанія або агенцтва, што праграмнае забеспячэнне было сервіроўка выжылі розныя бюджэтныя скарачэнні, рэарганізацыя, зліццё і г.д.

Верагодна, менш за 5% ад праграмнага забеспячэння, напісанага па-ранейшаму будзе запушчаны праз дзесяць гадоў.

Таму замест таго, стагнаць пра гэта разглядаюць яго як прывілей працаваць на такой дарвінаўскай гісторыі поспеху і магчымасць даведацца, што працуе ў рэальным свеце, і чаму.

23
дададзена
... ці яны выжылі, таму што хто-то было досыць прыняцце рашэнняў і ўплыву са схаваным цікавасцю захоўваючы спадчына маманта будзе для 10 ці больш гадоў, як забяспечыць сваю працу, пенсію, або проста быць занадта некампетэнтныя і яго навыкі занадта састарэў знайсці новую працу
дададзена аўтар zzzzBov, крыніца
Той факт, што нешта выжывае не азначае, што гэта аптымальны або нават добра. Гэта азначае толькі тое, што гэта «дастаткова добра», што ніхто не паставіў яго з яго пакуты яшчэ. Асноўная селектыўны сіла ў прыродзе з'яўляецца канкурэнцыя; калі ёсць трохі канкурэнцыі, вы можаце атрымаць некаторыя даволі паддатыя арганізмы. Конкурсныя працы ў галіне праграмнага забеспячэння, таксама, але ўнутраныя сістэмы, як правіла, не маюць шмат канкурэнцыі. Вынікам з'яўляецца тое, што ўнутраныя сістэмы часта які выпіў да максімуму.
дададзена аўтар Caleb, крыніца
@Caleb - У якасці сістэм агульнага правіла, дзе распрацоўшчыкі прыслухаліся да карыстальнікаў і зачыненых ўніз патрабаванне выжыць. Незалежна ад таго, наколькі моцна не напісана! Сістэмы, у якіх распрацоўшчыкі спрабуюць адпавядаць апошняму шаблоне праектавання, укаранення найноўшых дзівацтвы і захоплена іх уціскання не робім яго першы выпуск. Працоўны код заўсёды перамагае добранькі, сумяшчальны код моднага слова.
дададзена аўтар James Anderson, крыніца
@marek гэта сапраўды можа быць і іншае.
дададзена аўтар NoName, крыніца

Тэрмін, які часта выкарыстоўваецца для новых праектаў, якія не залежаць ад старэйшага развіцця <�ет> Greenfield праект . Часам вы можаце ўбачыць тэрмін у спісах вакансій - ведаючы, што вы можаце пачаць з нуля, а не ўспадкоўванне кагосьці іншае не атрымаўся намаганне можа зрабіць працу больш прывабнай.

Паспяховыя праекты праграмнага забеспячэння, як правіла, марнуюць значна больш часу, чым падтрымліваецца яны будуюцца як новыя праекты, так што гэта не дзіўна, што вы не можаце зрабіць шмат цалкам «новы» матэрыял.

Акрамя таго, ствараючы нешта цалкам новы з'яўляецца шмат працы. Нават на праект з нуля, вы, верагодна, выбраць шэраг інструментаў, якія дапамогуць вам: платформы, кампілятар, рамкі, бібліятэкі і г.д. Як толькі вы зробіце гэты выбар, вы накладвала пэўныя абмежаванні на ваш праект. Гэта не азначае, што вы не робіце новую працу больш, толькі што «новы» з'яўляецца адносным тэрмінам тут. Гэта не вялікі крок адтуль, каб убачыць даданне функцыі або модуля да існуючага праекту ў якасці «новага», нават калі вы не назвалі б яго праект з нуля.

14
дададзена
@JamesAnderson пункт узяты, але тэхнічны поспех не толькі селектыўныя сілы ў праграмным забеспячэнні экалогіі. Хто не бачыў недапітую сабаку праекта, якая важная для мэнэджэраў, але лічыцца занадта далёка, каб пачаць усё спачатку?
дададзена аўтар Caleb, крыніца
«Хтосьці яшчэ не атрымалася Індэвар» - старыя сістэмы дарвінаўскай гісторыі поспеху, няўдалыя праекты не атрымліваюць падтрымліваецца!
дададзена аўтар James Anderson, крыніца

Гэта залежыць ад таго, якую працу вы шукаць.

Я толькі адзін раз працаваў для чыстага праграмнага прадукту кампаніі, дзе я працаваў на іх аднаразовага прымянення пазалочаных ў невялікі пачаткоўкі каманды.

Otherwise I have worked for technology companies that needed software to support their internal R&D or outside products.

Годнасцю з'яўляецца тое, я пабудаваць поўныя прадукты старт-фініш і ў значнай ступені пабудаваць тое, што я хачу. Часам вы таксама можаце паспрабаваць новыя тэхналогіі, чым калі вы затрымаліся даданне функцый да існага на рынку вядучага прыкладання.

Недахопам з'яўляецца тое, што вы частку кошту, а не частка прадукту. Так што я меў праекты кансерваваныя, таму што «мы не робім праграмнае забеспячэнне"/"праграмнае забеспячэнне не з'яўляецца асноўным бізнесам» = гэта дзіўна, як кампаніі думаюць, што яны могуць прадаць станок за $ 100 K, без праграмнага забеспячэння для яе эксплуатацыі!

6
дададзена
@SpencerRathbun Што дзівіць мяне нават больш, чым калі вы даеце ім ацэнку, каб пабудаваць спецыяльнае праграмнае забеспячэнне, яны адразу пачынаюць пытацца ў цябе і спытаць: "Хіба не іх свабоднае праграмнае забеспячэнне з адкрытым зыходным кодам, які можа даць нам карыстацкія функцыі X бясплатна?»
дададзена аўтар maple_shaft, крыніца
@SpencerRathbun Вы выйграваеце, то ёсць горшае становішча, каб быць у.
дададзена аўтар maple_shaft, крыніца
@maple_shaft што яшчэ больш цікава тое, калі яны кажуць, што «мы можам купіць X за $ 10K і гэта рашэнне агульнага прызначэння будзе цалкам адпавядаць нашай карыстацкай праблемы з не ўсталяваць! BTW <�я> вы будзе несці адказнасць за атрыманне яго і працуе, і ўсе праблемы/памылкі з праграмным забеспячэннем мы купілі гэта ваша віна «.
дададзена аўтар James Shade, крыніца
Яна таксама дзівіць мяне, як кампаніі думаюць, што яны не патрэбныя прыстасаваныя рашэнні іх карыстацкія праблемы, і што мільёны радкоў 278 слупкоў кожны можа быць лёгка і хутка маніпуляваць у Excel, а не БД.
дададзена аўтар James Shade, крыніца

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

Падумайце пра гэта, кожнай новай функцыі дададзеныя да сістэмы невялікага праект у сабе. Вам усё яшчэ трэба ўжыць увесь SDLC для таго, каб пераканацца, што вы завяршылі працу належным чынам. Вядома, вы, верагодна, далі спецыфікацыю функцыі, але, як правіла, дробныя дэталі былі пакінутыя, так што гэта да вас, каб прааналізаваць праблему, як паказана на малюнку, распрацаваць лепшы спосаб, каб прымяніць змены, праверыць яго, код ён, а затым адпусціць яго назад у сістэму кантролю версій, і цалкам магчыма, падтрымліваць яго ў будучыні.

Гэта быў мой вопыт, што вы не часта працаваць у цалкам зялёным полі, і часта, калі вы былі досыць ўдачлівыя, каб зрабіць гэта, вам трэба будзе ўбачыць праект праз добрую частка яго тэхнічнага абслугоўвання і, магчыма, нават для тэрмін службы прадукту, або на працягу ўсяго часу вы з дадзеным працадаўцам. Гэта адбываецца таму, што ваш інтымны досвед з прадуктам азначае, што вы сталі сховішчам ведаў, і яго можна разглядаць як дорага, каб перамясціць вас да іншых рэчаў. Пры запуску на існуючым прадукце, гэта адбываецца таму, што працадаўца нядаўна страціў рэсурс або мае патрэбу ў большай колькасці рэсурсаў на праекце, і яны бізнес павінен пераканацца, што ён не робіць занадта вялікай страты на інвестыцыі ён зрабіў у сваім праграмным забеспячэнні , Такая рэальнасць быцця інжынер-праграміст.

Я працаваў у ІТ на працягу амаль 22 гадоў з апошнімі 15 у якасці распрацоўніка праграмнага забеспячэння, а таксама ў тым, што ўвесь час я толькі стварыў каля 5 новых прадуктаў, большасць з майго часу альбо захаванне гэтых прадуктаў доўгатэрміновыя, або падтрыманне кагосьці іншыя прадукт. Кожны з іх даў мне праблемы і праблему вырашаць, і кожны з іх быў апрацаваны не проста як вялікі праект, што я ўсяго толькі частка, але і як велізарны серыя мікра-праекты для завяршэння.

Дзіўна, як мала псіхічная фізкультура можа цалкам змяніць сваё ўспрыманне і задавальненне ад паўсядзённай працы, якую вы робіце. ;-)

5
дададзена

Я думаю, што многія работ па распрацоўцы праграмнага забеспячэння з удзелам паляпшэння існуючага прадукту або адаптацыі існуючага кода для новага кліента або рынку.

Гэта на самай справе не «тэхнічнае абслугоўванне». Напрыклад, VMWare выпусціла версію 8, гэта буйное абнаўленне для свайго асноўнага прадукту. Я падазраю, што мала хто з распрацоўшчыкаў, якія зрабілі гэтую працу былі там, калі першы радок коды для VMWare была напісана. Яны пабудавалі яе буйное абнаўленне на кодзе, напісаным хлопцы, якія даўно перайшлі на.

Над ў Workplace бэта ўзнікае пытанне аб тым, як 20% асабістага праекта кампаніі Google сістэма працуе .

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

Маючы на ​​20% праектаў, я меркаваць, што распрацоўшчык Google не будзе пярэчыць заставацца для паляпшэння праектаў Google, так як ён ці яна ўсё яшчэ можа мець задавальненне быць там у пачатку чагосьці новага.

4
дададзена

Вы будзеце марнаваць свой час, ствараючы новыя магчымасці і змены функцыянальнасці існуючага кода для таго, каб адпавядаць новай спецыфікацыі.

Іншыя называюць гэта змест, але гэта жудасны тэрмін. Гэта рэдызайн і рэфактарынг або паўторна кадаваньне праграмнага забеспячэння, каб зрабіць яго ў адпаведнасць з новай ідэяй пра тое, што праграма павінна рабіць.

2
дададзена

Я б сказаў, гэта залежыць ад кампаніі, у якой вы працуеце.

Мая першая праца была бухгалтарскае праграмным забеспячэнне фірмай, чыя асноўны прадукт была сістэма ERP, канкурыруючы прыкладна на той жа ўзровень, як Great Plains або Peachtree (як вы пераехалі да яго з QuickBooks, або ў баку, калі вы стаміліся ад заблытанай схемы ўрача агульнай практыкі або любога іншых вы думалі, што было не так з пТ, то перайшоў з яруса ў цэлым у пакет, як SAP). Гэтая праца была 99,99% абслугоўвання, вызначаецца як выпраўленне памылак і дадання «глупства», без радыкальнага змены шляху праграмнае забеспячэнне працавала ці што гэта можа зрабіць. Я пакінуў кампанію, калі генеральны дырэктар хацеў зрабіць старонкі адзін перапісваюць сістэмы, якая была б выдатна, за выключэннем ён настойваў на некалькіх канструктыўных асаблівасцях, якія з'яўляюцца выразнымі антишаблонами, такімі як ўнутрыпартыйная платформа (што дазваляе з высокай ступенню кастомизации праграмы па сутнасці дае кліенту спрошчаных ўніз VS Designer і налады бізнес-правілаў, падаючы мова выразаў).

Мая наступная працай пасля гэтага была кантракт фірмай, якая зрабіла «развіццё пад ключом"; сістэма кліент spec'ed быў пабудаваны з нуля, апаратнага і праграмнага забеспячэння, а затым па завяршэнні праекту усё гэта было перададзена кліенту, які можа альбо захаваць яго самастойна або ўтрымліваць паслугі кампаніі за штомесячную плату. Мая праца складалася ў распрацоўцы аднаго з гэтых буйных праектаў, і таму ў той час як я працаваў там даволі шмат усяго, што я зрабіў не існавала перш, чым я пачаў. Нават тады, распрацоўка па сваёй сутнасці ітэрацыйныя; вы заўсёды дадаваць да таго, што ў вас ужо ёсць (нават калі тое, што ў вас ёсць нічога), і вы павінны пазбягаць і ўстараняць праблемы рэгрэсіі (новы матэрыял ламаючы старыя рэчы). І калі праект перайшоў у стан «гарантыя», новая функцыянальнасць была завершана, і мы павінны былі выправіць любыя дэфекты кліента, знойдзены падчас іх УАТС.

Мая бягучая праца вяртаецца на развіццё ў доме, для бяспекі кампаніі, якая выкарыстоўвае маніторынг відэа і аўдыё зваротную сувязь, каб забяспечыць праверку сігналу трывогі і іншую «віртуальны ахоўнікам» паслугу. Гэта поле хутка расце і працягвае развівацца; Новае абсталяванне паступае на рынку ўвесь час, новыя кліенты падпісаліся, якія хочуць, каб зрабіць нешта новае, і існуючыя прадукты ўжо не адказваюць адаптацыі UL і ўрадавыя рэгістры. 99% гэтай працы з'яўляецца «інтэграцыя»; пісаць новае праграмнае забеспячэнне, якое ніколі не існавала да таго, каб зрабіць адну новую, але ўжо існуючыя часткі абсталявання або праграмнага забеспячэння працы з другога, магчыма, больш старой ўжо існуючай часткі абсталявання або праграмнага забеспячэння, так што мы можам зрабіць нешта новае з абодвума.

2
дададзена

Калі вы ў першую чаргу зрабіць абслугоўванне або няма, прынамсі, часткова пад вашым кантролем. У маім выпадку, большая частка маёй працы за апошнія 15+ гадоў было новае развіццё. Гэта таму, што я шукаць працу, якія дазваляюць мне зрабіць новае развіццё. Я не падрадчык, і я genenerally не рабіць вэб-распрацоўкі. Я амаль заўсёды працаваў для маленькіх працадаўцаў, і я звычайна працую ў нішы (распрацоўка рабочага стала GUI, QA інструменты, прылады для распрацоўнікаў, вертыкальныя рынкі).

Я таксама бачыў, і з першых рук, што лепшыя праграмісты на каманды звычайна (хоць і не заўсёды) атрымаць лепшыя працоўныя месцы. Такім чынам, засяродзіцца на быць лепшым праграмістам у вашай кампаніі, і вы пачнеце бачыць новае развіццё прыйдуць на ваш сайт.

1
дададзена

Я б сказаў, што гэта вельмі моцна залежыць ад характару вашай ролі.

Я частка маленькай каманды і, як такія, павінны захоўваць і падтрымліваць усё, што я ствараю.

5 гадоў таму большасць з таго, што я зрабіў "новае" - зараз я б сказаў, што захаванне існуючага кода займае па меншай меры палову свайго часу, а яшчэ 25% «новыя» вэрсіі існуючых сістэм.

Але калі вы працавалі выключна ў якасці распрацоўніка з камандай, каб узяць на сябе абслугоўванне і падтрымку пасля таго, як вы адпусціце код, то тэхнічна ўсё будзе «новым». Калі вы можаце знайсці працу, дзе падтрыманне ўласнага кода не патрабуецца, узяць яго!

1
дададзена

Развіццё тэхнічнага абслугоўвання з'яўляецца складанай задачай, цяжэй у многіх адносінах, чым новыя распрацоўкі. У маім вопыце працадаўцы хацелі б захаваць распрацоўшчык робіць тэхнічнае абслугоўванне, асабліва калі яны добра. Пошук добрых распрацоўшчыкаў на абслугоўванне ў старых тэхналогіях цяжэй, чым знайсці каго-небудзь, хто можа працаваць з найноўшымі тэхналогіямі.

Я працаваў у кампаніі, якая была падзелена на групы прадукцыі, якая была ўсё абслугоўванне, і каманда праекта, які быў усё новыя распрацоўкі. Быў вялікія распрацоўшчыкі з абодвух бакоў, але хлопцы абслугоўванне вызначана былі больш спэцыялізаваўся і выкарыстоўвалі састарэлую тэхналогію.

Ці магу я зрабіць здагадку, што вы штурхаць назад і папрасіць некаторыя новыя распрацоўкі? І калі ваш працадаўца толькі робіць абслугоўванне, то, магчыма, вам трэба рухацца далей?

1
дададзена
  1. It depends how danger is your job position: ;-)

    If you work for a new company that develops a new products with a high risk that the company is going to survive, you probably create some great new products.

    If you work for an old company that have a stable position on the market, it is more likely you will code in maintenance mode ;-) .

  2. The creation of new software is always very tempting. The truth it is hard to do this in a right way. Doing maintainable code is not a trivial task.

    If you think on these tons of aspects you must ensure to write good code: proper logging, proper monitoring and statistics acquiring, descriptive design that is efficient and helps even unfamiliar people to involve in your project, documenting, automatic testing and test driven developments.

Няма шмат людзей робяць гэта правільна, таму мы павінны падтрымліваць свой код і паліраваць яго ў належным стане. ;-)

Добрая навіна заключаецца ў тым, калі вы знаходзіцеся ў кампаніі досыць доўга, вы можаце мець уплыў, як новы код пішацца :-)

1
дададзена

Некаторыя буйныя арганізацыі, такія як кампаніі я працую не маюць палітыку праграмнага забеспячэння вываду з эксплуатацыі пасля шэрагу гадоў, магчыма, таму, што развіццё мовы гэта было напісана ў больш не выкарыстоўваецца (Delphi хто?), Або платформа замяняецца (Windows XP) , або нарматыўныя патрабаванні патрабаваць яго. напрыклад два ўзровень праграм, якія кажуць непасрэдна да базы дадзеных у цяперашні час выведзены з эксплуатацыі ў карысць тры яруса, якія выкарыстоўваюць керберизованное злучэнне для большай бяспекі.

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

Чакайце 5-7 гадовы цыкл замены для такога роду рэчы. Напрыклад, да 2020 года, я чакаю, што wpf (кліент)/Java (сервер) праграмнае забеспячэнне Я пішу цяпер будзе старой тэхналогіі і быць замененыя чымсьці больш новым.

0
дададзена

Я працаваў амаль тры гады, як адзіны распрацоўшчык у кампаніі, якая выкарыстоўваецца QuickBooks і Excel і нічога іншага, калі я пачаў. Цяпер у нас ёсць Windows Forms прыкладання, а SharePoint ўстаноўкі, SQL Server + Справаздачы, Excel надбудовы і надбудовы Outlook.

Проста сёння , я ўстаноўка ў першы раз сістэма продажу квіткоў, таму што я страціў здольнасць кіраваць электроннай пошту запытамі на такой хуткасці, каб карыстальнікі скардзіцца, таму я разглядаю гэта прыкмета таго, што я ўвайшоў абслугоўванне рэжым.

Мае папярэднія працы былі больш падобныя на тое, што іншыя выклалі, але я вырашыў кінуць у маім атыповай досвед толькі таму, што ён ідзе, каб паказаць, што вы ніколі не ведаеце, што наступная праца прынясе. Я спустошаны, але сума, якую я даведаўся на гэтай працы была варта працы.

0
дададзена
Ну, вы не адказалі на пастаўленае пытанне.
дададзена аўтар Adam Lassek, крыніца
Рэжым абслугоўвання здарылася даўно ... Вы толькі цяпер патрэбныя інструменты, каб дапамагчы вам.
дададзена аўтар Adam Lassek, крыніца
я рады, што я не пачуцці, таму што яны могуць пашкодзіць, маючы адзіны адказ на гэтую тэму, каб мець адмоўныя моманты :(
дададзена аўтар Aaron Anodide, крыніца

Я б сказаў, што гэта залежыць ад шматлікіх фактараў. Дзе вы працуеце, якія прадукты вы робіце, як ваша каманда арганізавана і г.д.

Чатыры гады, якія я працаваў у маёй кампаніі, я б сказаў 70-80% майго часу ідзе на стварэнне чагосьці новага. Верагодна, 50-60%, што траціцца на буйныя праекты, якія цалкам новы код, у той час як астатняя частка гэтага часу траціцца на паляпшэннях ў бягучай функцыянальнасці.

Частка таго, што я ведаю, як працуе мая кампанія. Не ўсё ў маёй камандзе распрацоўшчыкаў марнуе столькі часу будуе новыя функцыянальныя магчымасці. Ёсць некалькі, якія засяроджваюць свой час нічога, акрамя памылак крапежнай/палявання. Калі гэта новы кавалак функцыянальнасці або яны маюць патрэбу ў дапамозе, то ён атрымлівае перакуліў мне даследаваць. У цэлым, аднак, што невялікая група паляўнічых памылак з'яўляецца тое, што дазваляе вялікую групу распрацоўшчыкаў націскаць без перапынку.

0
дададзена