Tech Stack I use at Google as a Software Engineer

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 537

  • @NeetCode
    @NeetCode  2 года назад +47

    What tech stack do you guys use?
    🚀 neetcode.io/ - Get access to every course I will ever create!

    • @wongwong7479
      @wongwong7479 2 года назад +1

      Guice vs spring', which one do u think is better for microservice @Neetcode

    • @anicolaspp
      @anicolaspp 2 года назад

      @@obiwankenobi07 There are public talks about all this. Here it is about piper for instance ruclips.net/video/W71BTkUbdqE/видео.html

    • @2RosarioVampire
      @2RosarioVampire 2 года назад +1

      Looks like my comments get deleted.
      Tech stack at my firm is similar too but non-internal tool version of such. No C++ though and Kotlin instead of Java.

    • @masternobody1896
      @masternobody1896 2 года назад

      you are epic

    • @ramses8847
      @ramses8847 2 года назад +1

      At Amazon we have a ton of internal tools as well, but they kinda suck, especially when it comes to testing. I'm on a team that owns backend services (Java) and some front end components (React, TypeScript, GraphQL).

  • @beyondlimits8159
    @beyondlimits8159 2 года назад +1457

    Surprised you guys dont use google docs as an IDE

    • @OGPea
      @OGPea 2 года назад +12

      hahahaha

    • @shubhamseth9560
      @shubhamseth9560 2 года назад +2

      😂☠️

    • @GvSharmaBKP
      @GvSharmaBKP 2 года назад

      Lol

    • @buka.a
      @buka.a 2 года назад

      💀

    • @cloud15487
      @cloud15487 2 года назад +50

      wait until you find out that no one actually inverts binary trees or merges linked lists at work! 😂

  • @tedtran7855
    @tedtran7855 2 года назад +991

    1. Angular
    2. GraphQL
    3. Java
    4. Guice
    5. gRPC
    6. C++
    7. An absurd amount of internal tools

    • @neilranada
      @neilranada 2 года назад +20

      Thanks Ted!

    • @michaelasin6050
      @michaelasin6050 2 года назад +12

      No K8s though?

    • @cimbot
      @cimbot 2 года назад +10

      @@michaelasin6050 There should be I think, neetcode just didn't get to explain it, maybe because it's more like infra tools

    • @rachitdang7453
      @rachitdang7453 2 года назад +4

      First one was React.

    • @NeetCode
      @NeetCode  2 года назад +35

      @@michaelasin6050 We have an internal version called Borg which I guess is public info. Here's the paper on it: static.googleusercontent.com/media/research.google.com/en//pubs/archive/44843.pdf

  • @yichizhang1
    @yichizhang1 2 года назад +235

    Working at Google right now (got a job thanks to you :D). It's definitively a tech island. Feels like I have to learn everything from scratch.

    • @hartmannr76
      @hartmannr76 2 года назад +6

      Have you checked out the internal tech island doc that Urs wrote?

    • @sharathkumar8338
      @sharathkumar8338 2 года назад +2

      I don't know anything other than DSA and system design. just core java. Do I need to know anything else?? before entering google?? I have interview scheduled. Currently i'm working in networking domain and work is mainly based on C.

    • @x12624
      @x12624 2 года назад

      @@sharathkumar8338 System Design dude. Make sure you know the in and out of system design

    • @sharathkumar8338
      @sharathkumar8338 2 года назад

      ​@@x12624 thank you. i'll make sure i know those things. anything else you would like to suggest? please let me know. I want to make it to FAANG and survive there. My dream.

    • @adekolavictor9155
      @adekolavictor9155 2 года назад

      congrats man

  • @LouisChiaki
    @LouisChiaki 2 года назад +193

    The new IDE is just an internal version of VSCode. The build tool is just Bazel. The version control system is an internal version of Mercurial.

    • @RealDyllon
      @RealDyllon 2 года назад +19

      Bazel is Google's Open Source fork of their private tool, Blaze.

    • @TechSY730
      @TechSY730 2 года назад +5

      The version control is actually a homebrew thing with origins based on Perforce's model.
      Though there is a Mercurial based compatibility "thing" (more than a shim, but less than a legit full mirrored central hg repo) available, which is probably what you were referencing.

  • @tianhaozhao6774
    @tianhaozhao6774 2 года назад +371

    90% of tech companies in China use Java based tech stack. The interviews contain very in-depth Java knowledge which requires you to read the source code of some Java basic package.

    • @abhinavpy2748
      @abhinavpy2748 2 года назад +64

      Same in India. Most tech stacks are on Spring MVC/Spring Boot and frontend is on Angular/React. MySQL database with Redshift (AWS), or Snowflake. Apache Spark, Kafka etc.

    • @skyhappy
      @skyhappy 2 года назад +37

      That's hilarious. C# is the better language though with default arguments, LINQ, and object initializers.

    • @BhargavSushant
      @BhargavSushant 2 года назад +3

      Hi Zhao, I am starting out with java again after 5 years of last using java ever, Any suggestion how should I start, basically I want to reach to expert level but there are too much clutter on web but most resources only teach introductory academic level Java, I dont want to get stuck in Tutorial hell and looking for direction that can help me prepare an Industrial experience on my own. Thanks.

    • @skyhappy
      @skyhappy 2 года назад +7

      @@BhargavSushant baeldung and jenkov tutorials were clear

    • @Mzulfreaky
      @Mzulfreaky 2 года назад +10

      Ooof that seems pretty hellish to me. I hate java and OOP in general but still use it

  • @ambreenirshad7950
    @ambreenirshad7950 2 года назад +35

    I am eternally grateful to you ! I got my job offer a few days ago and will be starting early August ! Your videos really helped me get the job. I hope I can see you around at Google :)

    • @jv1192
      @jv1192 2 года назад +1

      Do you really have to learn all thes languages ? Can I get a decent paying job that only requires you to know one or two languages at the most?

    • @sarthakmittal1668
      @sarthakmittal1668 2 года назад +3

      @@jv1192 yes you can and you should stick to 1 language as a beginner, and focus on the Software Development concepts rather than the language itself, once you get enough experience, you will realize that language is just a medium to express your thoughts! I am an Android developer for example and only know JVM based languages (Java/Kotlin)

    • @adekolavictor9155
      @adekolavictor9155 2 года назад +1

      congrats man

  • @osxs333__7
    @osxs333__7 2 года назад +63

    I work at AWS on Account Administration, we run with Java and most of our micro-services with Native AWS server less products (Lambda, DynamoDB, SNS, SQS, Step Functions, CDK). We also use a lot of internal tools for ticketing, code review, CI/CD etc.

    • @liamconverse8950
      @liamconverse8950 2 года назад +9

      Java doesn't seem like a good thing to use with lambda because don't you have to like start up the jvm every time the function is called?

    • @cloud15487
      @cloud15487 2 года назад +2

      Is that what causes the cold start issues? Python/JavaScript would be faster?

    • @ers-br
      @ers-br 2 года назад +5

      @@liamconverse8950 For rarely used APIs, Java may not be a good choice because of cold start. But after the instance is 'HOT'... then it is faster than most of other languages. After the first call, the instance stays online for some time, hoping to answer other requests.

  • @KieranCrown
    @KieranCrown 2 года назад +5

    I use React Native, Typescript, Terraform, Git, GraphQL, Swift, and Kotlin at my job ❤

  • @50sKid
    @50sKid 2 года назад +5

    The problem with all that internal tooling is you become completely used to it and dependent on it. If you ever leave it’ll be like you cut your hands off and you’re using prosthetics now. Same goes for all layers of abstraction. Make sure you don’t lose the underlying skills you have.

  • @igh9410
    @igh9410 2 года назад +21

    I'm surprised to hear that Google doesn't use Spring framework for Java projects. I'm korean and like more than half of the back-end software engineer job postings in South Korea requires Java and Spring framework experience for entry level positions.

    • @liamconverse8950
      @liamconverse8950 2 года назад +5

      They just have their own version that probably does basically the same thing

  • @perezident14
    @perezident14 2 года назад +6

    This is a lot 😵‍💫
    At work, I use Express, Inverisfy, MongoDB, React, and TypeScript across everything.

  • @ericepperson8409
    @ericepperson8409 2 года назад +4

    As someone who works in software support, a lot of people would be surprised about the amount of Java that is used at Enterprise scale. Python, Rust, Go, C++ get a lot of attention from the programming adjacent communities, but there are few languages as prevalent as Java in the server space that can handle Networking at scale.

  • @anicolaspp
    @anicolaspp 2 года назад +63

    I think there is no problem is you talk about piper or blaze, there are a bunch of talks about them from back 2017 or so. I also believe the same about Boq and Pod, bunch of talks from ServerConf.
    It would also be nice to explain the languages we use at Google and when. Java and C++ for backend Servers to receive external traffic, JS for frontend, Go for internal services and managed infrastructure(this is mostly my space in GCP), etc…

    • @NeetCode
      @NeetCode  2 года назад +17

      Ah, thanks I didn't know that

    • @anicolaspp
      @anicolaspp 2 года назад

      @@NeetCode Piper talk here ruclips.net/video/W71BTkUbdqE/видео.html

    • @BeastinlosersHD
      @BeastinlosersHD 2 года назад

      I mean if you're still using piper at google...

  • @oakvillian5
    @oakvillian5 2 года назад +2

    Hearing that the tools make things simple is so so huge. Most companies could never.

  • @minzi5408
    @minzi5408 2 года назад +29

    Why use Java when you work at the company that made Go?

    • @plankton383
      @plankton383 2 года назад +26

      Java was released in 1995. Golang was released in 2009. It's like saying why use TCP/IP when there is a better internet stack. They use Go, but they have a lot of products that were existent before the release of Go, and would be hard or waste of time to change them.

    • @_hollister9515
      @_hollister9515 2 года назад +3

      Actually they coexists in heterogeneous microservice. Java is pretty well in setting-up the framework to manage all the services. And inside each service, the stack can be Java, Go or C++, as long as they follow the same protocol to communicate.

  • @stumblinzz
    @stumblinzz 2 года назад +2

    "angular has a certain way of doing things thats consistent across projects".
    I wish more tech would be and stay consistent with practices throughout their lifecycle.

  • @mike200017
    @mike200017 Год назад

    The comment on submitting code changes being so easy is so very true. Assuming it's a very simple fix (e.g., typo, comment, trivial bug, etc.), I've had cases where going from noticing the issue, to creating the change, to pushing it for review, to getting it approved, and submitting it, was all done within a few minutes, within one chrome tab (plus the code-reviewer's chrome tab). On the other hand, I've also had cases where relatively simple changes, say about 50 lines of code, could take weeks to forever (aka never) to get submitted, but that's not about tooling, but about scale (when the total power consumption, at data centers, of the function you are changing is measured in how many major american cities it's equivalent to, expect that it will take a while to get that change checked in).

  • @jmon24ify
    @jmon24ify 2 года назад +31

    I was not surprised by GraphQL. It is an excellent open sourced tool. I am somewhat surprised by the lack of Kotlin and Rust usage. I was aware of Java and C++ being used and I understand that large scale apps are near impossible to swap out a language. I just figured there would be a more inclination to use something like Kotlin or Rust for microservices especially considering Oracle's and Google's history. There was also no mention of GCP or even using Apigee with GraphQL so it makes me wonder if they use their own internal tooling for APIs. Other than that, very informative. thanks for the share.

    • @BeastinlosersHD
      @BeastinlosersHD 2 года назад +1

      There is a bunch of languages you can use, but it comes down to technical factors a lot. Newer stuff can use rust or (especially) kotlin.
      Internal tooling or (especially) internal versions of open source stuff with better google integration is SUPER common. I be using go a lot at work, but coworkers even on the same team will have not touched go in a bit

  • @plankton383
    @plankton383 2 года назад +22

    I personally think that backend is better than frontend. Most business logic (i.e. the interesting stuff) happens in the backend, and playing with microservices is fun.

    • @Aripoma
      @Aripoma 2 года назад +3

      As a front end developer I don’t necessarily disagree but I would never choose backend over front end. To each their own 👩🏽‍💻

    • @CODFactory
      @CODFactory 2 года назад +2

      you haven't worked on frontend before in that case. Maintaining the state of the UI, how to achieve routing, how to make the rendering fast by pre-fetching the pages etc are all complicated challenges. Both backend and front-end have their own challenges, so saying business logic happens in backend has no weight since business logic is just one piece. Infra people can argue that infra is better than even business logic portion

    • @plankton383
      @plankton383 2 года назад

      @@CODFactory why you’re pressed? 😂 I didn’t argue, I intentionally started my comment with “I personally think…” to chase people like you away. And why would you assume I didn’t work on frontend?! I’ve equally worked on frontend, backend and devops.

    • @rachitdang7453
      @rachitdang7453 2 года назад +1

      @@Aripoma Even I like frontend. Observables and RxJS are too fun to use. Microservices are good as well especially with cloud.

  • @yang5843
    @yang5843 2 года назад +23

    Every time Neetcode has a complaint about Java, he has to work with another Java project.

  • @adarshkumar3518
    @adarshkumar3518 2 года назад +7

    Angular is not surprising. GCP and Firebase are prime examples, but GraphQL? That hit like a truck

  • @alittlecoding
    @alittlecoding 2 года назад +1

    internal git tool and IDE are surprising to me.
    thanks for sharing.

  • @akshayas349
    @akshayas349 Год назад

    Man your voice is so soothing and calming ,.
    One day even I made your video on autoplay in playlist and on hearing your voice i slept.

  • @trant4
    @trant4 2 года назад +28

    I’m not surprised google does not use react. GraphQL is definitely a surprise

    • @archmad
      @archmad 2 года назад +2

      yeah why use graphql when you have grpc

    • @RyanKOnk
      @RyanKOnk 2 года назад

      @@archmad grpc is an overkill

    • @cimbot
      @cimbot 2 года назад +5

      @@archmad Maybe for BE-FE communication they use GraphQL, but for BE-BE they use gRPC
      Cmiiw

    • @arjundureja
      @arjundureja 2 года назад

      I bet they're currently working on their own replacement for GraphQL

    • @arjundureja
      @arjundureja 2 года назад

      @@archmad Web browsers don't support gRPC since it operates over HTTP/2. You need to use a HTTP/1 protocol like REST or GraphQL

  • @genjioto
    @genjioto 2 года назад +2

    Pretty cool, I am about to be promoted at my small company to a SWE and our tech stack includes Angular and .Net. Haven't graduated college yet but most of my software classes are in Java, great to know that I am using tech relevant to google.

  • @DemGains
    @DemGains 2 года назад +3

    My favorite internal tool without a doubt will be Memegen 🤪

  • @Chemnitz11
    @Chemnitz11 2 года назад +2

    My tech stack at work is COBOL, z/OS, DB2, MVS...

  • @mangalegends
    @mangalegends 2 года назад +9

    Man your work sounds really interesting. My current dev role is so boring and is built on such ancient tech that Microsoft doesn't even support it anymore and they don't want to even let us upgrade the version of the program language platform that was used to write the software

    • @v1k70r99
      @v1k70r99 2 года назад +5

      It's time to switch jobs I guess unless you get paid a ton and you intend to retire at that place. I used to do Sharepoint 2010/2013 development prior to going to blockchain development.

  • @trant4
    @trant4 2 года назад +15

    I use meteorjs at work - it’s a framework for building web app, desktop app and stuff. It’s alright because I work on the frontend and can integrate react and blaze. But good luck when you run into a bug, there is little to no community on the language

    • @invictuz4803
      @invictuz4803 2 года назад

      Good to know, thanks for sharing!

    • @hankim1083
      @hankim1083 2 года назад

      Also it requires months to upgrade

    • @sangeethkumar_drone
      @sangeethkumar_drone 2 года назад +1

      Good to know , I used meteor js 2018-2020 . Now it seems mostly dead

  • @gouf_respecter4881
    @gouf_respecter4881 2 года назад +11

    Having internal tooling for everything seems so fun, probably makes collaboration easy. I interned at THE open source company and they used everything under the sun, devs could even install whatever OS they wanted. The latter was great, but the former was mildly annoying sometimes

    • @alexandrep4913
      @alexandrep4913 2 года назад +1

      Also a great way to make sure the employees have a harder time leaving too.

    • @optimisticradish9121
      @optimisticradish9121 2 года назад

      @@alexandrep4913 I agree. Specifics of internal tools are mostly useless once you’ve left the company

  • @AndrewErwin73
    @AndrewErwin73 2 года назад

    Software engineering is about solving problems. The language is secondary! I am glad you mentioned that.

  • @MIDNightPT4
    @MIDNightPT4 2 года назад +1

    Love you Neetcode, you helped me get an offer ❤️

    • @NeetCode
      @NeetCode  2 года назад +1

      Congratulations 😃

  • @michaelwinters327
    @michaelwinters327 2 года назад +3

    Hey Neetcode I’d find it really helpful if you could post a video solely on analyzing Time and Space complexities!

    • @NeetCode
      @NeetCode  2 года назад +6

      I've been thinking about that, will try to make one this month!

  • @Liloulalalala
    @Liloulalalala Год назад

    I'm currently using Java Spring and Angular two in a really big project (several hundreds of ppl) and it works beautifuly

  • @aakashPotter
    @aakashPotter 2 года назад +8

    This motivates me even more to apply for Google. Working for Google is an engineers dream

    • @friction5001
      @friction5001 2 года назад +2

      Don’t solely rely on google but the opportunity to work in the industry should be the dream; google is just an additional bonus

    • @ravitejaknts
      @ravitejaknts 2 года назад +6

      @@friction5001 Some people have preferences in companies as they love the stack those companies use or they love their products, so they want to work on them.

    • @2RosarioVampire
      @2RosarioVampire 2 года назад +3

      Don't put any company in some pedestal. I say this as someone who is also a software engineer in a tech firm.
      It's all the same job everywhere. Work for a company that pays you well and has a great team.
      Google has been known in recent years to pay less than the rest of the market and isn't as preferred among many veteran engineers.
      Sometimes paying less by over 6 figures just for the name.
      Same happened to Blizzard in past. Put a company in some pedestal and companies take advantage of its workers.
      But give a try for sure. Great company to relax at.

    • @reviews9216
      @reviews9216 2 года назад

      @@2RosarioVampire So what are the companies that you suggest?

    • @2RosarioVampire
      @2RosarioVampire 2 года назад +1

      @@reviews9216 In this economy? Any company that accepts you. Most of tech firms are laying off/freezing overall.

  • @jh1618
    @jh1618 2 года назад +5

    Would be cool to get a walkthrough of how the internal tooling (IDEs, repository, pull requests etc) works together. Even if it's just schematic. In that area, a lot of commonly available tooling really feels like some stitched up frankenstein of various barely compatible projects.

  • @JoseHenrique-xg1lp
    @JoseHenrique-xg1lp 2 года назад +1

    Graphql is something I was not expecting but makes sense when you think about it. Java was the big one to me

    • @riscnx
      @riscnx 2 года назад

      Java is mostly likely used, because majority of senior staff in Google come from Java background.
      And their existing CI, code quality checks, ... Buch of standardisation tools are well tuned for Java.

  • @omartahboub2900
    @omartahboub2900 2 года назад +3

    In addition, one complaint I heard that Google Tech Stack and Ecosystem are very propriety making it difficult to transition outside Google.

  • @whong09
    @whong09 2 года назад +3

    Using an in-house IDE is really weird when the publicly available options are so good. At Amazon we have our own internal build tools but use in-house plug-ins to extend publicly available IDEs for customization, like working with those build tools.

    • @BeastinlosersHD
      @BeastinlosersHD 2 года назад

      Google uses a version of vscode thats on steroids. Probably similar setup as amazon.

    • @archit_kr
      @archit_kr 2 года назад

      Which publicly available IDEs do you use at Amazon?

    • @voidvector
      @voidvector 2 года назад

      The IDE is cloud-based, new version is a fork of VS Code, replacing old version that existed for 15+ years. It encourages Chromebook usage and reduces data exfiltration risk.

    • @whong09
      @whong09 2 года назад +1

      Amazon's a big place so things will differ a lot between teams. But I use vanilla PyCharm using the company's license, I know some other engineers in the same org I'm in use VSCode. Setting up an IDE was not part of new hire onboarding.

    • @mike200017
      @mike200017 Год назад

      About 5 years ago, it was pretty much the same at Google, lots of internal build tools and custom extensions for various IDEs (emacs, sublime, vi, etc.) that were popular. There was an internal in-browser IDE that could be used, but it wasn't very good, but good enough for light work (quick-fix) or while using a laptop. But with the pandemic, they had to fix that really quick, and get a proper in-browser IDE, which is now a fork of VSCode. Most people I know, including myself, just never switched back after they got used to this new tool, which was pretty much the only thing you could use while working from home (for security reasons, laptops are just portals to cloud tools, so, an IDE has to be either cloud-based and in-browser, or in a terminal on the other end of an SSH connection to a desktop computer physically plugged into the corp network, like emacs / vi / less).
      I would add that there was a significant amount of friction between the external IDEs or text editors, even with really good custom plug-ins, and the cloud infrastructure behind the version control and distributed build systems at Google, coupled with the famously huge mono-repo. It was often too easy to click the wrong button or hit the wrong shortcut key combo and send your IDE into a tail-spin, trying to chug through the entire mono-repo or the entire distributed build artifacts.

  • @ssssss1738
    @ssssss1738 2 года назад +2

    Tiktok uses Golang as the backend language. Since Golang is from google, doesn't Google use it?

  • @yaswanthkosuru
    @yaswanthkosuru 2 года назад +1

    you are great you was known to so many countries

  • @javisartdesign
    @javisartdesign 2 года назад

    Really interesting to watch. Want to see how it works the continuis integration, control version, pull request, code review process. Thanks!

  • @joeekadi
    @joeekadi 2 года назад

    Would love a video showing the process of opening a PR and getting reviews. A real pain point in my current contract

  • @farnazzinnah1256
    @farnazzinnah1256 2 года назад

    funny how I was researching GraphQL last night for my upcoming project and 3 hours before Neetcode posted a video discussing GraphQL lol!! Neetcode is stalking me now lmaaaoooo :p :p

  • @basma-ba
    @basma-ba 2 года назад +1

    a very surprising video. thank you for sharing this tools with us. I am usually using python and django framework

  • @ulissesrosa1812
    @ulissesrosa1812 2 года назад +1

    Can u make a video talking about how data structures and algorithms helped you to solve your day a day tasks in Google ?

    • @andylim6643
      @andylim6643 2 года назад +2

      It doesn’t 🤪 Leetcode stuff is only used for interviews and that’s it

  • @talkswithprabh5374
    @talkswithprabh5374 4 месяца назад

    Is it compulsory to learn both frontend and backend to get into Google? I am enjoying backend and made a project, but frontend doesn't excite me.

  • @NotNotNithin
    @NotNotNithin 2 года назад +1

    Polymer's new improved version LitHTML is easy, lightweight framework but the problem is its community, there is hardly any!

  • @sneezygibz6403
    @sneezygibz6403 2 года назад +2

    At least it's still software development. I joined IBM after graduation and was told I would be doing development but instead I'm here doing the opposite. System engineer. I'll be paying back my sign on bonus and leaving.

    • @hil449
      @hil449 2 года назад

      What does a system engineer do?

  • @JohnSnow-gi7iv
    @JohnSnow-gi7iv 2 года назад +1

    I also work on Angular, it's great

  • @te1ephraq
    @te1ephraq 2 года назад

    Kotlin/Dagger2/Jetty or Spring/Jdbi, Kafka, Cassandra, biking distance from Amphitheatre Pkwy

  • @Caexur
    @Caexur 2 года назад +4

    Have a google interview in about a month, using your vids to prepare! Wish me luck man!
    Edit: literally a day after I posted this theres a hiring freeze LOL

    • @shubhamsharma8736
      @shubhamsharma8736 2 года назад +1

      Wish you best of luck🔥🔥

    • @NeetCode
      @NeetCode  2 года назад +2

      Good luck, you'll do great 👍😃

    • @Caexur
      @Caexur 2 года назад

      @@NeetCode Thanks!

  • @yuanliu5945
    @yuanliu5945 2 года назад +2

    Will you consider teaching GraphQL or Angular? I think you're the best tutor on the YT!!

  • @meron6913
    @meron6913 2 года назад

    neetcode is really cool, it would have been awesome if you could add Go beside the other languages there.

  • @aemericenglish2417
    @aemericenglish2417 2 года назад

    The only content im looking for many times. Solved

  • @crazier192
    @crazier192 2 года назад +6

    So I'm wondering this: If you don't know Java or C++, should they transfer you to the backend team? Did they ask if you have a minimum requirements for the job in backend? (like knowledge of Java) or did they give you time to quickly learn Java/C++?

    • @NeetCode
      @NeetCode  2 года назад +34

      Most of the time you're expected to learn new tech as needed. If you're new to c++ for example, it's expected that the code reviewers will have to help you but you also need to learn on your own.

  • @antoniocs8873
    @antoniocs8873 2 года назад +1

    I'm a bit confused how you're hired as a frontend dev but then you're working with Java and then C++.
    Nothing against it obviously but C++ is quite a complex language. Google has even developed their own standard library (kinda) called Abseil.
    Seems like a cool place to work, hoping from project to project and language, really fun.

    • @daxeckenberg
      @daxeckenberg Год назад

      at the end of the day it's more important that you have the ability to learn quickly as well as think before doing.

  • @alexandersmirnov4274
    @alexandersmirnov4274 Год назад +1

    do you use Spring framework?

    • @NeetCode
      @NeetCode  Год назад

      I do not, but I think the frameworks I used are somewhat comparable

  • @grise123
    @grise123 2 года назад

    Great video, i expected some golang in the backend projects

  • @susmitamitra3955
    @susmitamitra3955 2 года назад +3

    GraphQL is awesome

  • @muluvadd7414
    @muluvadd7414 2 года назад

    Googler don't have privilege such as stack overflow which other developers gets. It's all about reading documentations and code to figure out solution. No more copy and paste from Stack overflow

  • @frozendoritos2316
    @frozendoritos2316 2 года назад +2

    GraphQL is not a tool btw, it is a query language for APIs. You can consider it a standard. There are multiple tools such as Apollo built for this standard, and most likely Google has its own tool. That's why it's no big deal that it was developed by Facebook.

  • @adennis200
    @adennis200 Год назад +1

    But most importantly: if you wanna work at Google you need to know algos and data structurs and stuff
    So you're not primarily tested on knowledge but on logical thinking, right?

  • @matts9216
    @matts9216 2 года назад

    Experienced undergrad: “yeah but no one uses Java anymore except for companies running applications from the 90s”. He was so damn confident too

  • @usefulprogrammer9880
    @usefulprogrammer9880 2 года назад +1

    Shocked they aren't moving to a full TypeScript tech stack, definitely selling Alphabet, appreciate the insight.

  • @kennethkath6527
    @kennethkath6527 2 года назад

    Didn't know most of the frameworks you mentioned. It's now or never to explore

  • @bennyleeofcharlotte
    @bennyleeofcharlotte 2 года назад +2

    Angular is sweet

  • @jonobrien8848
    @jonobrien8848 Год назад

    so many internal tools sounds like a ton of overhead and tech debt

  • @Red487239
    @Red487239 2 года назад +2

    The fact that you don’t use GIT is what surprised me the most. Surely Google knows what they are doing and there must be a good reason for that but really surprising nonetheless

    • @Nicoya
      @Nicoya 2 года назад +2

      Git is used, quite a lot, just not for the core stuff. Like, all of Android, Chrome, ChromeOS, etc is on git.

    • @riscnx
      @riscnx 2 года назад

      "Google knows what they are doing", Really? "Google+", "Sites", "Hangout"...
      Maybe google know, but users don't!

    • @haxney
      @haxney 2 года назад

      Google uses a monorepo, where (almost) all code across the company is stored in one repository. Branching isn't used, so everyone is developing against HEAD. It sounds crazy (it did to me when I first joined), but it works incredibly well.
      It means that if I write a library which other teams use, there is only ever one version of it. I don't have to worry about them using an old version of my library. I can make breaking changes to my library by updating all of the existing uses of it, since I can easily find all references to my code. I don't have to leave around deprecated functions in case someone somewhere *might* use it.

    • @riscnx
      @riscnx 2 года назад

      @@haxney So how to do actions like revert, decide when everyone is done and changes are ready for review or ready for release etc?

  • @hello1000ize
    @hello1000ize 2 года назад +12

    Hey Neetcode, with your videos I was able to make it past HC! I applied to be an L3 Engineer. Unfortunately, today I was informed by my recruiter 2 weeks into the team match process that Google hit their 2022 hiring goals, which I guess isn't all too surprising given the recent announcement. How soon do you think Google will start hiring new engineers again?

    • @Aripoma
      @Aripoma 2 года назад +1

      OMG are you serious. I’m doing interview prep right now because I was hoping to interview with them 😩

    • @palakjain2505
      @palakjain2505 2 года назад

      I have heard about slow hiring there recently, didn't believe at first but looks real now after reading your comment

    • @hello1000ize
      @hello1000ize 2 года назад +5

      @@Aripoma I would say if you’re in the middle of the process just go through with it, they keep your interview scores for a year + a little prep never hurt anyone 🤞

    • @Aripoma
      @Aripoma 2 года назад +1

      Thanks @@hello1000ize
      do you have any tips on your preparation? I’m doing leetcode every day and trying to learn the patterns. Where you part of any discords/groups that helped

    • @dionng6119
      @dionng6119 2 года назад

      @@hello1000ize Loving your positivity! You’ll definitely succeed, all in a matter of time :)

  • @bidiptodey435
    @bidiptodey435 2 года назад

    Hey, your doing great work, could please make a video on segment tree, lookin to learn to you⚡

  • @omartahboub2900
    @omartahboub2900 2 года назад

    I bet you they have their own version (wrapper) of Spring Boot similar to most Tech Companies 😀 !!

  • @nevadain
    @nevadain 2 года назад +1

    I was surprised you dont use Kotlin instead of Java

  • @ObtecularPk
    @ObtecularPk 2 года назад

    I used graphql on an open source :) just call the query to hit the API calls. Very easy

  • @vijaybenz9741
    @vijaybenz9741 Год назад

    I am working at first year in an indian college
    we use
    engineering chem,eng phy,eng maths,eng drawing,python,english

  • @stevena7007
    @stevena7007 2 года назад

    Dylan Patel Jellico Tn is a software engineer who plans to begin work with a car company soon. He lives in Jellico, TN, and moved to the United States when he was seven. Dylan Patel arrests attention in his community for his devotion to helping other people when they need it most

    • @w.e.b_b
      @w.e.b_b 2 года назад +1

      What in the absolute fuck?

  • @SiddharthRay1
    @SiddharthRay1 2 года назад

    nice insight bro 👌

  • @zergenzerg6853
    @zergenzerg6853 2 года назад +3

    Always learn Java basically. Everyone i know uses Java

    • @zergenzerg6853
      @zergenzerg6853 2 года назад

      @@freedomgoddess learning how to call APIs and callbacks are pretty important from what I've seen also

  • @rufiromang
    @rufiromang 2 года назад

    No Golang at all? It is promoted as being used to solve google's type problems. We use golang and frankly we are satisfied. It has native built in features for microservices that otherwise need framework to do so

    • @haxney
      @haxney 2 года назад

      Plenty of teams and projects use Go. Usually, your choice of language is made for you because you're working on part of a larger project which is already written in some language. You wouldn't want to have 99% of a product written in C++ and then have the last 1% written in Go, even if you like Go better.

  • @johanlarsson9805
    @johanlarsson9805 2 года назад

    So.... Started with C++ in my early teens, certified java developer, knows graphQL, Microservice Specialist.. sounds like I would fit right in?

  • @liorneuman2198
    @liorneuman2198 2 года назад

    i enjoyed the video. thank you

  • @mike200017
    @mike200017 Год назад +1

    The languages used at Google more or less break down like this, as far as I've seen over the years:
    - C++ for the core of all production systems and all heavy-lifting
    - Golang for glue-ing those systems together
    - Python for non-critical tools, "launching scripts" and experiments
    - Java for Android-related stuff
    - TS, Node.js, and friends for frontend (that's not my domain though)
    - an internal SQL dialect to observe what goes on in the systems
    - Protobuf for everything in between, literally-speaking
    Obviously, all those have exceptions based on legacy projects, interoperability, or some historical accidents.
    Finally, by use of compute resources, I don't know for sure, but I suspect it's about 99% C++, not because it's slow, obviously, but because if anything is big enough to consume a non-trivial amount of compute resources in Google's servers, then it's probably critical enough to have to be written in C++ for performance and maintainability reasons (equally important, IMO).

  • @dr.merlot1532
    @dr.merlot1532 2 года назад

    But what is google working on? What is the goal? How much more can you improve google's search engine? Asside from that I don't know what google does.

  • @stunning-computer-99
    @stunning-computer-99 2 года назад

    The Lord Neetcode is here again! ❤️❤️

  • @sandeepreddy8567
    @sandeepreddy8567 2 года назад +1

    Does Google use python in production for ML in Google assistant & else where?

  • @stackunderflow5951
    @stackunderflow5951 2 года назад

    Hi, when will you upload new leetcode solution videos? Looking forward to it!

  • @russellc
    @russellc 2 года назад +5

    Did you apply for a front end role? Or did they just assign you to that team/role?

  • @jacobjablonsky231
    @jacobjablonsky231 2 года назад

    No Go for backend dev? That's a little surprising

  • @weho_brian
    @weho_brian 2 года назад

    java, php, react, node, python, swift, oracle, mysql

  • @CaliburPANDAs
    @CaliburPANDAs 2 года назад +1

    You would think Google would be using a lot of Kotlin in their tech stack since they modeled it after Java and its developed by themselves... but no. JAVA.

  • @aUCLZlstrBh5upnFr7OmhNHag
    @aUCLZlstrBh5upnFr7OmhNHag 2 года назад

    I was surprised you don't extensively use Go lang

  • @idontcare-nb3yu
    @idontcare-nb3yu 2 года назад

    Hey Neet, I've got a question. I see you pump out Leetcode answers. Yeah, where do I start so I can do this? Just memorize and understand algs?

  • @nilskch
    @nilskch 2 года назад +1

    I am a fan of Golang and since it was created by Google I thought it would be used internally a lot. Does anyone know how much it is being used at Google?

    • @NeetCode
      @NeetCode  2 года назад +1

      It's definitely used a decent amount, but a lot less than Java or c++, mostly cause of legacy systems

  • @WolfPhoenix0
    @WolfPhoenix0 2 года назад

    NeetCode: "I really got played when they told me I was going to be a front-end developer."
    Me: "You and thousands of other developers in the tech world. 😂"
    Seriously though, this was a very insightful video. Definitely surprised about using Java so much!

  • @kevincameron192
    @kevincameron192 2 года назад

    i just heard this man walk on thin ice for 8 minutes.

  • @michelchaghoury9629
    @michelchaghoury9629 2 года назад +2

    Please keep going we really like your work thank you.
    Does google uses spring boot?

    • @plankton383
      @plankton383 2 года назад

      I think it depends on the team. Generally, they use C++, Go, Python, and Java. And I assume they build their own frameworks.

  • @RobertCastilloC
    @RobertCastilloC 2 года назад +1

    Will you use a framework for the c++ backend ?

  • @moumous87
    @moumous87 2 года назад +1

    Using Java and not Go?!?!?!!!

  • @deNudge
    @deNudge 2 года назад

    Actually, Graphql was the least surprising tech here for me.