Why should I learn some basics about software development?
-
Upload
scott-lowe -
Category
Technology
-
view
209 -
download
4
Transcript of Why should I learn some basics about software development?
Why$should$I$learn$some$basicsabout$so4ware$development?Pu#ng&some&context&around&recommenda1ons&to&become&more&familiar&with&the&basics&of&so8ware&development
Sco$%Loweh$p://blog.sco$lowe.org
Who$am$I?• Author,)blogger,)speaker,)geek
• Been)in)the)industry)for)over)20)years
• Well<known)in)the)virtualiza?on)and)networking)communi?es
• Currently)focusing)on)open)source,)cloud)compu?ng,)and)helping)IT)folks)evolve)with)the)industry
A"bit"of"background• In$late$2014$I$spoke$at$a$series$of$VMUGs$on$the$topic$"Closing$the$Cloud$Skills$Gap"
• In$these$sessions$I$provided$recommendaBons$on$skills$you$should$learn$(some$technical,$some$not)
• One$of$the$recommendaBons$I$made$was$to$learn$the$basics$of$soJware$development
• In$this$presentaBon,$I'd$like$to$build$on$those$recommendaBons$and$provide$some$of$the$reasons$behind$them
Here's&the&slide&I&used...
Why$make$this$recommenda1on?• I#think#there#are#some#tools#and#prac3ces#common#to#developers#that#all#IT#prac33oners#could#(and#should)#adopt
• A#couple#that#offer#a#lot#of#benefit#to#all#IT#pros#are:
• Version#control
• Automa3on
• Let's#take#a#look#at#each#of#these#areas
Version(control• There&are&lots&of&places&where&non1developers&should&be&using&version&control&(but&usually&aren't)
• Documenta>on&(you&do&write&documenta>on,&don't&you?)
• Configura>on&files&for&servers
• Version&control&offers&a&number&of&benefits:
• Ability&to&roll&back&to&a&previous&version&if&something&breaks
• More&documenta>on&via&commit&messages/commit&history
Version(control!(con&nued)• If$version$control$is$so$helpful,$why$aren't$more$IT$pros$using$it?
• I$believe$it$is$a$lack%of%familiarity$with$version$control$tools
• This$is$why$I$recommend$learning$how$to$use$a$tool$like$Git$(h@p://gitCscm.com)
• Git$is$one$of$the$most$widely$used$version$control$tools
• Basic$concepts$are$common$to$almost$all$version$control$tools
Learning(Git• It's&really¬&as&hard&as&you&might&think&(honestly!)
• Here&are&a&few&resources&to&get&you&started:
• A&Non?Programmer's&IntroducAon&to&Git:&hCp://blog.scoClowe.org/2015/01/14/non?programmer?git?intro/
• Using&Git&with&GitHub:&hCp://blog.scoClowe.org/2015/01/26/using?git?with?github/
• Using&the&Fork?and?Branch&Git&Workflow:&hCp://blog.scoClowe.org/2015/01/27/using?fork?branch?git?
Automa'on• Automa(on*comes*in*many*different*forms:
• Scrip(ng
• Configura(on*management
• Tools*and*services
• All*of*these*forms*can*offer*benefits*to*IT*professionals*in*any*discipline
• Let's*look*at*a*couple*examples
Configura)on*management• Popularized-by-tools-like-Puppet,-Chef,-Salt,-or-Ansible
• Allows-IT-pros-to-"define-one-?me,-apply-many-?mes"
• Eliminates-repe??ve-configura?on-steps-and-maintains-configura?on-over-?me-to-reduce-configura?on-driE
• Ties-in-nicely-with-version-control-(store-your-manifests/recipes/playbooks-in-a-repository)
• Manifests/recipes/playbooks-are-themselves-a-form-of-documenta?on
Tools%and%servicesThere%are%a%number%of%other%tools%that%are%worth%inves3ga3ng:
• Vagrant((h+p://www.vagrantup.com)(7(Easily(share(VM(environments(with(colleagues(for(tes@ng,(training,(or(reproducing(issues((@es(in(nicely(with(version(control,(too!)
• IRC(7(Simple(and(popular(with(developers,(IRC(makes(a(great(complement(to(IM(and(e7mail
In#summary• I#think#that#leveraging#tools#and#prac4ces#from#the#development#community#can#be#beneficial#to#all#IT#prac44oners
• Version#control#systems#offer#a#number#of#benefits
• Leveraging#automa4on#in#any#of#its#forms#is#a#force#mul4plier
• The#possibili4es#are#limited#only#by#your#willingness#to#learn#and#apply#new#concepts!
Thank&youYour%feedback%is%always%welcomed!
Blog:&h(p://blog.sco(lowe.orgTwi(er:&@sco(_loweGitHub:&h(ps://github.com/lowesco(Life:&Colossians&3:17
Please&check&out&some&of&my&other&presenta3ons&on&Speaker&Deck&(h7p://speakerdeck.com/slowe)&or&Slideshare&(h7p://slideshare.net/lowesco7).