Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fullstack

Ran Tavory
September 05, 2015

 Fullstack

About being a fullstack devloper

Ran Tavory

September 05, 2015
Tweet

More Decks by Ran Tavory

Other Decks in Programming

Transcript

  1. Work history Backend @ Totango Backend @ Outbrain Frontend @

    Outbrain Frontend @ Google Frontend @ RawSugar Security @ Microsoft
  2. Work history Backend @ Totango Backend @ Outbrain Frontend @

    Outbrain Frontend @ Google Frontend @ RawSugar Security @ Microsoft And now: Everything @ Yodas
  3. The names Full stack developer Generalist Polyglot programmer Jack of

    all trades Even - devops… Did you hear other names?
  4. The Questions Am I a Full Stack developer? Do I

    need to be a full stack developer?
  5. The Questions Am I a Full Stack developer? Do I

    need to be a full stack developer? What does it take to become one?
  6. The Other Questions Who needs Full Stackers? why not Domain

    Experts? How do I recognize a fullstacker when I see one?
  7. About ME On average day I deal with: CSS Javascript.

    In the browser. And on the server Bits and compression in the database Deployment automation Monitoring and alerting From bits in the DB to bits in PNGs
  8. Things I Like Understanding the whole picture Shipping Shipping Code

    Shipping Products that work Getting recognized for my work
  9. Things I Like Understanding the whole picture Shipping Shipping Code

    Shipping Products that work Getting recognized for my work Hint: That’s why I do Yodas
  10. Things I Dislike Throwing code at someone else to run

    it Having heard from someone else that: Hey dude, your code just fucked up Being a small component in a large machine
  11. Being a Full Stacker You understand the whole picture From

    user entering text in a box To server transacting on a DB To browser rendering back the response *** To some extent of depth ***
  12. Being a Full Stacker You understand the whole picture From

    user entering text in a box To server transacting on a DB To browser rendering back the response *** To some extent of depth *** And you love it!
  13. Being a Full Stacker You understand the whole picture From

    user entering text in a box To server transacting on a DB To browser rendering back the response *** To some extent of depth *** And you love it! Example: what-happens-when
  14. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out
  15. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards]
  16. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app
  17. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app
  18. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes
  19. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL
  20. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term?
  21. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list
  22. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname
  23. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup
  24. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process
  25. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket
  26. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake
  27. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol
  28. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle
  29. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser
  30. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser
  31. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing
  32. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing CSS interpretation
  33. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing CSS interpretation Page Rendering
  34. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing CSS interpretation Page Rendering GPU Rendering
  35. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing CSS interpretation Page Rendering GPU Rendering Window Server
  36. What happens when you type google.com The "g" key is

    pressed The "enter" key bottoms out Interrupt fires [NOT for USB keyboards] (On Windows) A WM_KEYDOWN message is sent to the app (On OS X) A KeyDown NSEvent is sent to the app (On GNU/Linux) the Xorg server listens for keycodes Parse URL Is it a URL or a search term? Check HSTS list Convert non-ASCII Unicode characters in hostname DNS lookup ARP process Opening of a socket TLS handshake HTTP protocol HTTP Server Request Handle Behind the scenes of the Browser Browser HTML parsing CSS interpretation Page Rendering GPU Rendering Window Server Post-rendering and user-induced execution
  37. How to be a fullstacker? Step 3: Be an expert

    in yet one more domain Prototype.js
  38. How to be a fullstacker? Step 4: Do a few

    things casually. Not expert level Different domains Different expertise Step out of your comfort zone
  39. How to be a fullstacker? Tools and techniques Participate in

    several out of band projects OSS is best Deliberately step out of your comfort zone, again and again. On the job and out of band Read, read, and more read
  40. Example: My reading list Devops Weekly JavaScript weekly NoSQL weekly

    Webdesigner depot Web Operations weekly HTML5 weekly Software Lead weekly Hacker Newsletter Github Explore StackShare weekly Meteor forums digest
  41. Becoming a Full Stacker You can be expert at one

    or two fields. Maybe three. Accept it You cannot be an expert in all Remember the saying: Jack of all trades, master of none. Disclaimer
  42. Are you a Raccoon or a Koala? Raccoon eats everything

    yes, even garbage Koala eats only eucalyptus Fullstack is not for everyone
  43. Why you might want to become fullstacker? Teams tend to

    be smaller and smaller Many startups just need generalists to get things done. OTOH if you work for larger companies, you might benefit from specialization.
  44. Characterizing fullstackers They are curious They want to step out

    of their comfort zone They might have a listening disorder... This might just even be an advantage...
  45. My personal story Desktop dev @ low-tech (boxes factory) Web

    dev @ a startup Security @ Microsoft Web frontend @ a startup Web frontend @ google. And backend... Backend @ outbrain. And frontend Infrastructure @ outbrain Then infrastructure. And dev. All sorts. In many companies...
  46. So I asked myself: What am I? Am I a

    frontend dev? A backend dev? Both? That tends to get HR and project managers really confused, BTW… My manager even said: You have to decide! The term fullstack didn’t exist yet So what am I?
  47. What am I? Me: I am both a fronted and

    a backend. And Infra. Why can’t I be both?
  48. Back to the questions Am I a Full Stack developer?

    Do I need (or want) to be a full stack developer?
  49. Back to the questions Am I a Full Stack developer?

    Do I need (or want) to be a full stack developer? What does it take to become one?
  50. Back to the questions Am I a Full Stack developer?

    Do I need (or want) to be a full stack developer? What does it take to become one? Can you answer them now?
  51. Across industry Originally the term meant: Full stack Web dev

    But now we see: Fullstack Product Manager Fullstack Designer Fullstack Devops Fullstack Marketer Fullstack Motherfucker
  52. Proportions Is fullstack Web FE-BE? Web FE, BE + ops?

    Web FE, BE, ops + mobile? Web FE, BE, ops, mobile + design? Web FE, BE, ops, mobile, design + hardware?…
  53. Another way to look at it Basically when people are

    asking for a full- stack programmer they're looking for the all-singing, all-dancing technical wizard. Or at least someone who won't complain too much when asked to do some work outside their normal comfort zone. http://qr.ae/RHhys9
  54. Inspiration A true full stack developer must be able to

    mine silicon from raw ore & also pilot a quadcopter to deliver a taco a mile away / @complex
  55. Inspiration If you are having fun, enjoy technology and building

    new things, there is really no expiration date on software engineers. (Jeff Nelson)