Slide 1

Slide 1 text

Why$should$I$learn$some$basics about$so4ware$development? Pu#ng&some&context&around&recommenda1ons&to&become&more& familiar&with&the&basics&of&so8ware&development Sco$%Lowe h$p:/ /blog.sco$lowe.org

Slide 2

Slide 2 text

Who$am$I? • Author,)blogger,)speaker,)geek • Been)in)the)industry)for)over)20)years • Well

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Here's&the&slide&I&used...

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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?

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Tools%and%services There%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

Slide 12

Slide 12 text

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!

Slide 13

Slide 13 text

Thank&you Your%feedback%is%always%welcomed! Blog:&h(p:/ /blog.sco(lowe.org Twi(er:&@sco(_lowe GitHub:&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).