Andifyouwatchmydayinthelifeof a softwareengineervideoormyLennox a boontovideoare a lotofothervideosonmychannel.
Tobehonestwithyou, itmayget a bitrepetitive, and a lotofthesemaybefairlyobvioustoyou, Butyougottostartsomewhere, right?
Therearepeoplewhoarejustgettingintotheindustry.
Theywanttoknowwhattoexpect.
So I hopethiscanhelpyou.
Now, thislistisn't anyparticularorder, butwe'regonnabestartingoffwiththetexteditoror i d E e i t e standsforintegrateddevelopmentenvironment.
Andthedifferencebetweenthosetwoisat a texteditororcodeeditor.
That's whereyou'regoingtobeeditingcode.
A lotof, um, likevisualstudiocode, whichiswhat I useatworkforfrontanddevelopmenthas a lotofbuilt 10 stuffthat's kindofpushingonthevergeofbeingclosertoan I.
D.
So, forexample, visualstudiocode, you'reabletoinstall a lotofextensionsthat'llhelpyououtwithdebugging.
You'reabletoopenup a terminalwithinthere, andthere's a lotmorethatyouwillbefindingoutifyoudousevisualstudiocodeorAdamandwhenitcomestothe I.
Soyou'regonnahavethosethreemainthingsthatwillmakeup a nightie.
Andifyou'remissingoneofthosethreethings, then I wouldjustconsiderit a codeeditor.
Whatyoucallitreallyisn't thatimportant?
Thisisjustwhereyou'regoingtoberidingyourcoat.
You'regonnabewritingyourcode.
You'regonnabedebuggingyourcodeandyou'reabletodecipherwhatiswhatwithin a codeeditor, dependingonwhatthemeyouchoosebecauseofthecolordifferenceasmentionedforthefrontend, I usevisualstudiocodethatistheclientside.
Sowiththat, I writehtml a littlebitofCSS.
I'm alsousedbootstrapforstylingorwhatnotandangularas a frameworkintypescript.
Andforthebackendortheserverside.
I useeclipse I amwritinginJava.
Anotheroptionwouldbeintel.
Ajay.
I feellikeit's a littlebitmoreof a modernversion.
I don't knowwhichone's betterorworse.
I don't reallycareandall, honestly, toomuch.
Butthat's justwhat I use.
SoEclipsewouldbetechnicallyan I d e.
Andin a greatdevelopmentenvironmentandvisualstudio, Goadwouldtechnicallybe a codeeditor.
Thosetwoarethetoolsthat I usethatthemoreyoulearnhowtousethose, theeasieryourjobquit.
We'llgetand I cangoonandontalkingaboutallofthedifferentintricaciesofeach, likemaybesomesaveactionsorformatting.
Soallofyourcodeisconsistentintermsofhowitlooks.
I couldtalkaboutextensionslikesonarlenttomakesurethatyouarewritinggood, cleancodethingsthatourinterestindustrystandard.
Butthisvideoisn't todiveintothetools.
It's justtokindofputthemonyourradar, becausein a daytodaysoftwaredeveloperenvironment, you'reprobablygoingtoseeallofthese.
Tollnumbertwoiscontinuousintegrationanddeploymentor C.
I C.
D.
Forshort, andthisisreallywheremysponsor, Circle C.
I isgonnacomeinhandybecauseif I triedtoexplaintoyouthetypeofprocessthatweuseatmyworkfortheclient, it's gonnaget a littlediceybecauseit's notasefficientorasclearcutasitcouldbeinthereasonbeingisthatwehave a fewrulesand a fewtoolsthatwehavetousesetbytheclientandwithdescribingwhatCircle C I is, andwhattheydoismedescribingwhatcontinuesintegrationandcontinuesdeploymentis.
Sotheway C I C worksisthatafteryou'redevelopingyourworkandyourmakingsurethatitworksinyourlocalmachine, youcommitittoyourremoterepositories.
Whetherthatbegethub, getofenterprisebitbucket, Whathaveyou a toollikeCircle C.
I willfirstbuildyourcode, makesurethatitisactuallybuildingproper, Thenin a runyourbuildandtestitwithin a cleancontainerorvirtualmachine.
Nowthisdeploymentcouldbeto a Q A serverto a testserverorrestrainttoproduction.
Thereasonwhy I thoughtcirclesee I wouldbe a greatsponsorforthischannelfor y'allisbecause, inmyopinion, itdoes a greatjobatbreakingbarrierstoentryforusing a toollikethis.
Becausethisinitselfis a toolthatyoushouldlearn.
Youknowyoushouldlearnhowtobuildthepipelines, andwiththemit's itmakesit a loteasierbecauseyou'reabletointegrateitwithdifferentremoterepositories, a lotofdifferenttoolsthatyou'llbeusing, whichsomeofthemwewilldiscussmoreinthisvideo.
Ifyougoworkatanytypeoftechcompany, they'regonnahave a C I.
C D Pipelinebuiltthat.
Maybeyoudon't havetobuildityourself, butyoureallyshouldknowtheinnerworkingsofitand a fewexamplesthatyoucircle c.
I know a lotofyoubeso I'vebeenleftorrightorwhether I don't know.
I'vebeenin a relationshipforthepastsevenyears, eversincetenderwasborn, so I neverusedit.
Butthat's just a fewexamplesforcompanieswhouseCircle C.
I fortheir C I c.
D.
Andlike I said, thatisanordertostreamlinetheirprocessfromcommittingtheircode, testingtheircodestraightintodeploymentandcircle C.
I.
Anyonecansignuprightnowandstartbuildingforfree.
Youputtogetheryourpipeline, youhave 1000 freebuildminutespermonth, and I don't eventhink I hitthatatwork, fairlycertainthat I don't evenhitthatatwork.
Soifyou'reworkingathomeregardlessofhowmanyprivateorpublicrepositoriesyouhaveongethuborbitbucketorwhoeverelsecircle C, I canintegrateyourmostlikelynotgonnahitthatthresholdof 1000 buildminutespermonth.
Toldnumberthreeissometypeofverse, a neutralsystem.
Getcodemanagement, whateveryouwannacallthis.
Sothatwouldbeyourgethubsoftheworldyourbigbuckets.
Thatiswhereyouhaveyourremoterepositoriesofyourprojectsinwhich, ifwe'regoingtorefertoprevioustoolsthatyouwillcommitusingyourcodeeditoror I d.
E.
Andfromthereyou'reabletobuildvilleyourpipeline, automatethatwithyour C I c.
D.
Nowthinkingaboutit, I probablyputthesesteps a littlebitoutoforder.
I'llmakesure I trytoclearallthatupandgiveyou a betterlayoutofallofthesetoolsandhowtheyworktogethertowardstheendofthisvideo.
ButdoyourememberinmyDaniellivevideowhen I wastalkingaboutourgetflow?
Well, thisthisiskindofthat.
Sowithfirstcontrol, thatis, whenyouarecommittingyourcode, whetherit's tolocalorremoterepositories, Soyouhave a recordofwhatyoubuildtwoputintolayman's terms.
HaveyoueverbeenworkingonsometypeoftypedupessayandyouendupwithAllright, thisismyessayversiononeessayVersiontwo s a versionthreeEachofthosethat's essentiallyversioncontrolbecauseifyoucompletelymessuponeofthoseversions, you'realwaysabletorevertbacktoyourpreviousversion.
Thenwehave a masterbranch, andthatiswhatishookeduptoproduction, selfexplanatoryandevenmorethanjustbeingabletorevertyourcodeoractuallyhave a branchForeachparticularserver, youhave a hand.
Thisalsohelps a lotwhenyou'reworkingon a particularfeaturebecauseyou'reabletomake a anotherbranchoffofdevelopment.
Thisiswhere a lotoftimesyou'llbeexecuting, you'llbecompilingandexecutingyourcodesoonandsoforthterminalisjustyou'regoingtouseterminal a sulfurdeveloper.