Slide 1

Slide 1 text

L E S S O N S F R O M T H E R E A L W O R L D @ J E W E L I A J U L I A G R A C E

Slide 2

Slide 2 text

• BS in 2003 —> MS in 2007 —> Moved to Silicon Valley • CTO of Tindie (tindie.com) • Previously at IBM Research, several other startups @ J E W E L I A

Slide 3

Slide 3 text

Undergrad Rest of your working life This talk is all the stuff that didn’t tell you in undergrad but is applicable to the orange bar @ J E W E L I A

Slide 4

Slide 4 text

• This talk is focused on what I know best: software engineering at big and small companies. • This isn’t about teaching or academia or if you should go to grad school. • YMMV (your miles may vary) @ J E W E L I A

Slide 5

Slide 5 text

F I N D I N G Y O U R “ D R E A M J O B ” @ J E W E L I A

Slide 6

Slide 6 text

• Now is a great time to be a SWE (software engineer) • So you just find the perfect job and … @ J E W E L I A

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

• But now ppl change jobs often. • Tendency early in your career is for job/internship opportunities to just happen to you. • You let company drive the process instead of you. @ J E W E L I A

Slide 9

Slide 9 text

Proactive vs Reactive @ J E W E L I A

Slide 10

Slide 10 text

• “Who is hiring” —> • “Where do I want to work” PA R A D I G M S H I F T @ J E W E L I A

Slide 11

Slide 11 text

• Know what you want. Write it down. Make a list. • Caveat: It may take a few jobs to figure that out. And you may be wrong and it may change. @ J E W E L I A

Slide 12

Slide 12 text

R E C R U I T E R S • How recruiters work. • More (fun) reading: http://www.ewherry.com/2012/06/ the-recruiter-honeypot/ @ J E W E L I A

Slide 13

Slide 13 text

! • Use LinkedIn as your resume. Srsly. • Don’t make someone open a Word document. Links are easier to click on. P L S U S E L I N K E D I N @ J E W E L I A

Slide 14

Slide 14 text

! • Understand how companies hire. • The only way to get in to many companies is to have a champion/advocate. • (This is true for many things in life.) H I R I N G @ J E W E L I A

Slide 15

Slide 15 text

! • New grads/early career SWEs have a tendency to talk about how the job will help them. —> • How will YOU help the company? @ J E W E L I A PA R A D I G M S H I F T

Slide 16

Slide 16 text

! ! • Companies are NOT trying to hire great ppl —> • Companies are trying to NOT hire bad ppl. • (Venture Capital works same way) PA R A D I G M S H I F T @ J E W E L I A

Slide 17

Slide 17 text

• Many large companies are optimizing for lack of weakness rather than strength. PA R A D I G M S H I F T @ J E W E L I A

Slide 18

Slide 18 text

• Study for them - there are many great books to help with this. T E C H N I C A L I N T E R V I E W S @ J E W E L I A

Slide 19

Slide 19 text

! • “If I do well in the interview I’ll do well at the job” —> • “If I do well in the interview then I do well at their interview” PA R A D I G M S H I F T @ J E W E L I A

Slide 20

Slide 20 text

! • “They (company) are interviewing me” —> • “I’m interviewing them (company)” PA R A D I G M S H I F T @ J E W E L I A

Slide 21

Slide 21 text

! • “What does success look like?” • “What are your expectations for the person in this role?” • “What don’t you like about working here?” Q U E S T I O N S F O R T H E I N T E R V I E W @ J E W E L I A

Slide 22

Slide 22 text

! • Look at the leaders of the organization. • People like people who remind them of themselves. They often promote people who have the same attributes as themselves. C U LT U R E F I T @ J E W E L I A

Slide 23

Slide 23 text

! ! • Negotiation is an important life skill, and people who do it come across as more senior and competent • Don’t disclose previous salary information. Companies want it to get data points about what other companies pay. S A L A RY N E G O T I AT I O N @ J E W E L I A

Slide 24

Slide 24 text

! ! • I have a great job/mgr/team. It will last forever! —> • The better it is the shorter it will last. • Great ppl are often on a rocket ship. Other ppl know they are great, so maximize the time you spend with them, and hopefully your paths will meet again. PA R A D I G M S H I F T @ J E W E L I A

Slide 25

Slide 25 text

W H AT I D O ! • My job isn’t to be the Best Engineer but to make sure we are making the right technical decisions that are best for the business. • So what do I do everyday? @ J E W E L I A

Slide 26

Slide 26 text

! • Determining latencies and bottlenecks • “X is slow. What do we do?” W H Y I S X S L O W @ J E W E L I A

Slide 27

Slide 27 text

• Skills from undergrad/grad school that I use everyday: • OS Fundamentals: processes, threads, CPU vs I/O bound, event based programming, caching algorithms. • Networking: TCP/IP, HTTP, DNS, sockets, • Databases: SQL, atomic transactions, latencies of queries, implications of write often vs read often applications. @ J E W E L I A

Slide 28

Slide 28 text

W H Y I S X B R O K E N ! ! • Debugging. Logging. • If you want to really understand how something works, break it. • Pattern recognition from seeing similar problems in the past, developing good intuition. @ J E W E L I A

Slide 29

Slide 29 text

• Skills from undergrad/grad school that I use everyday: • Distributed Systems: N processes and the execution order is non-deterministic. • Databases: Syncing data across large systems, backup, recovery. • “Someone unplugged the machine”: how to build fail-safe systems that rely on pieces of infrastructure that you don’t completely control (e.g. cloud) @ J E W E L I A

Slide 30

Slide 30 text

! ! • How are we going to build it? Why will it be hard? • “Rolling your own” vs using 3rd party, often OSS X F E AT U R E N E E D S T O B E B U I LT @ J E W E L I A

Slide 31

Slide 31 text

• “You don’t know what you don’t know” • These are hard skills to learn in school. • Experience: Learned on the “streets”, building stuff that broke, then building stuff that didn’t break, repetition. Working newer, less mature technologies. • Networking: In the people sense - talking to people who have solved similar problems in the past. • General maturity from being burned: Urging the risk to start writing code before planning/thinking a feature through. @ J E W E L I A

Slide 32

Slide 32 text

• “Premature optimization is the root of all evil.” - Donald Knuth

Slide 33

Slide 33 text

! • Don’t be clever. • Optimize for readability not “I’ll fit this function on 1 line! But WTF is it doing? Who knows!” • You are likely not going to be the maintainer of your code forever. @ J E W E L I A

Slide 34

Slide 34 text

PA R A D I G M S H I F T ! ! ! • “I become great through building stuff.” —> • You become great by understanding how great stuff was built. Then building. @ J E W E L I A

Slide 35

Slide 35 text

• Always surround yourself with really smart people - people much smarter than you. • If you’re the smartest person in the room you’re in the wrong room. @ J E W E L I A

Slide 36

Slide 36 text

• Thanks! • I’ve written more about these topics: bit.ly/EngHiring • You can always find me on Twitter: @jewelia @ J E W E L I A