Slide 1

Slide 1 text

Optimizing Developer Workflow with Sourcegraph https://sourcegraph.com

Slide 2

Slide 2 text

Prosper Otemuyiwa Co-founder, forloop Africa & Eden Life Developer Advocate, Sourcegraph

Slide 3

Slide 3 text

Build. Ship. Scale. The Software Developers’ Mantra >>>

Slide 4

Slide 4 text

Building, shipping & scaling great software is hard. The Software Developers’ Excruciating Pain>>>

Slide 5

Slide 5 text

Developer Tools that make you move fast, and at scale. The Software Developers’ Best Companion >>>

Slide 6

Slide 6 text

Fast & Scalable Code Search. #1. Developer Workflow Optimization with Code Search >>>

Slide 7

Slide 7 text

“Knowledge is of two kinds. We know a subject ourselves, or we know where we can find information upon it” - Samuel Johnson

Slide 8

Slide 8 text

Sourcegraph’s users report an average of 30 mins a day saved by using code search. #1. Developer Workflow Optimization with Code Search >>>

Slide 9

Slide 9 text

When you have 500 engineers searching code repos, multiple times a day, throughout each day, that’s huge time savings #1. Developer Workflow Optimization with Code Search >>>

Slide 10

Slide 10 text

#1. Developer Workflow Optimization with Code Search >>>

Slide 11

Slide 11 text

#1. Developer Workflow Optimization with Code Search >>> LITERAL SEARCH

Slide 12

Slide 12 text

#1. Developer Workflow Optimization with Code Search >>> LITERAL SEARCH

Slide 13

Slide 13 text

#1. Developer Workflow Optimization with Code Search >>> LITERAL SEARCH

Slide 14

Slide 14 text

#1. Developer Workflow Optimization with Code Search >>> REGULAR EXPRESSION SEARCH

Slide 15

Slide 15 text

#1. Developer Workflow Optimization with Code Search >>> STRUCTURAL SEARCH

Slide 16

Slide 16 text

#1. Developer Workflow Optimization with Code Search >>> STRUCTURAL SEARCH

Slide 17

Slide 17 text

Jump to definitions & Find code references in a jiffy! #2. Developer Workflow Optimization with Efficient Code Browsing >>>

Slide 18

Slide 18 text

#2. Developer Workflow Optimization with Efficient Code Browsing >>> Code Intelligence

Slide 19

Slide 19 text

#2. Developer Workflow Optimization with Efficient Code Browsing >>> Find References

Slide 20

Slide 20 text

#2. Developer Workflow Optimization with Efficient Code Browsing >>> Jump to Definition

Slide 21

Slide 21 text

“You don’t have to know everything, but you should learn how and where to find the things you need and want to know” - Albert Einstein

Slide 22

Slide 22 text

Change code everywhere (hundreds of repos) with a single declarative file. #3. Developer Workflow Optimization with Batch Changes >>>

Slide 23

Slide 23 text

#3. Developer Workflow Optimization with Batch Changes >>>

Slide 24

Slide 24 text

#3. Developer Workflow Optimization with Batch Changes >>>

Slide 25

Slide 25 text

#3. Developer Workflow Optimization with Batch Changes >>> Get started with Batch changes in less than 10 mins. Batch Changes Quick Start Guide >>>

Slide 26

Slide 26 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> Find secrets, tokens, keys across the entire org’s codebase via optimized code search.

Slide 27

Slide 27 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> Regex Secret Search

Slide 28

Slide 28 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> repo:[our targeted repos]$ patterntype:regex // Strings longer than 32 characters, maybe base-64 encoded ("[a-z0-9+/]{32,}=?"|'[a-z0-9+/]{32,}=?'|`[a-z0-9+/]{32,}=?`) // Private keys -----BEGIN (RSA )?PRIVATE KEY----- // Lines ending with "=" (likely base64 values) [a-z0-9+/]+==?(['"],?)?\n

Slide 29

Slide 29 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> repo:[our targeted repos]$ patterntype:regex (token|secret|password|credential|key|private|sensitive)[^a-z0-9+/\n]+[a-z0-9+/]{16,}(['"] ,?)?\n or // Likely k8s secrets (kind: secret|kind secret|kubectl create secret) or //Slack (xox[pborsa]-[0-9]{12}-[0-9]{12}-[0-9]{12}-[a-z0-9]{32}) or // GitHub [gG][iI][tT][hH][uU][bB].*['|\"][0-9a-zA-Z]{35,40}['|\"] // Google, GCP, GSuite AIza[0-9A-Za-z\\-_]{35} or [0-9]+-[0-9A-Za-z_]{32}\\.apps\\.googleusercontent\\.com or ya29\\.[0-9A-Za-z\\-_]+

Slide 30

Slide 30 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> repo:[our targeted repos]$ patterntype:regex (credential|secret|private|\Wkey\W|token|sensitive|password|s ession|auth|license|\Wid\W) or [sS][eE][cC][rR][eE][tT].*['|\"][0-9a-zA-Z]{32,45}['|\"]

Slide 31

Slide 31 text

#4. Developer Workflow Optimization via Optimized Vulnerability Discovery >>> Find exact vulnerable dependencies

Slide 32

Slide 32 text

How to make Sourcegraph a part of your dev tools stack? Integrating Sourcegraph to You & Your Team’s Workflow >>>

Slide 33

Slide 33 text

Integrating Sourcegraph to You & Your Team’s Workflow >>> ● What’s the best way to run a trial of Sourcegraph in my team/org? ○ Running a Sourcegraph trial/POC ● How can I best communicate the value of code search to developers who’ve not used it before? ○ See how developers at Uber, Lyft, Yelp depend on Sourcegraph every day

Slide 34

Slide 34 text

Integrating Sourcegraph to You & Your Team’s Workflow >>> ● Sign up on Sourcegraph Cloud (sourcegraph.com) ○ Team Support (early access) on Sourcegraph Cloud coming in December, 2021

Slide 35

Slide 35 text

● Hiring more engineers is good, leveraging better developer tools is great. ● Make it a priority to bring the best developer tools to your organization. Developer Wisdom >>>

Slide 36

Slide 36 text

● Search over 2.1M open source & public repositories across GitHub & Gitlab. ● Search private code across several repositories ● Precise code intelligence ● Automation of large scale code changes via Batch changes. ● Code monitoring ● Code insights (still in beta) #1. Recap: Why you need to Optimize Developer Workflow with Sourcegraph >>>

Slide 37

Slide 37 text

#2. Recap: Why you need to Optimize Developer Workflow with Sourcegraph >>> ● Developer velocity - Help all your developers to move fast. With code intelligence & great search, code discovery is a walk in the park. ● Onboarding new developers to a codebase - The faster developers can understand your massive codebase, the better. ● Codebase refactors (batch changes) - as codebase grows, you need to refactor the codebase more intelligently.

Slide 38

Slide 38 text

Learn more about Sourcegraph >>> https://learn.sourcegraph.com

Slide 39

Slide 39 text

Sourcegraph Resources! ● learn.sourcegraph.com ● docs.sourcegraph.com ● dev.to/sourcegraph ● about.sourcegraph.com/blog ● info.sourcegraph.com/dev-tool-time ● about.sourcegraph.com/podcast

Slide 40

Slide 40 text

Twitter: @unicodeveloper GitHub: @unicodeveloper Thanks & Optimize your dev. workflow today!