For the past two summers, I’ve had the privilege of interning in big tech: first at Apple over summer 2024, then at LinkedIn over summer 2025 (both were software engineering internships). These experiences came with many lessons learned, and I’d like to share with you my top three.
1. Java is still king
If you were to pick a random university student studying computer science and ask them to build a simple HTTP server, chances are they’ll reach for a Python library, like Flask or FastAPI, or something in the JavaScript ecosystem, like express. Nerdier students may choose Rust or Go. This is in great contrast to the tech used at many big tech companies, which is entirely Java-based. Apple is a Java shop all the way through, and LinkedIn even uses a custom-built Java REST framework (Rest.li).
As such, the lesson here is to get good at Java. This honestly aligns very well with my university’s computer science curriculum, which is Java-heavy. I’ve often heard classmates complain about how Java is “boring” or “outdated”, and TBH, I used to do that too. But given what I know now, I’ll probably start telling these classmates to suck it up for the sake of their careers.
Don’t get me wrong, there’s a ton of value in exploring new frameworks and modern languages. However, it’s equally valuable to sharpen the skills that will keep you employed. From my experience, Java is one of those skills. Sure, Java isn’t without its downsides - verbose syntax, slow startup times, and hefty memory usage are all valid criticisms. But for big tech companies, it’s good enough, and it’s not going anywhere anytime soon.
2. Communication is as important as coding ability
It’s a common misconception that having good “hands” (coding ability) is enough to succeed in a software engineering role. This couldn’t be further from the truth. Solo projects that you work on in classes or in your free time may not require communicating with others, but communication skills are absolutely necessary in big tech. This is obvious even from the interview processes for these companies, as they almost all consist of both behavioral and technical rounds.
Most big tech companies operate as independent, self-serving ecosystems with their own robust internal tools, which might not all be thoroughly documented. If you’re used to relying on Google to get your answers, you may be shocked at how little Googling helps in a big tech environment. A good chunk of knowledge in big tech companies exists only in the minds of people who work there and in private Slack DMs. Even if you use an internal search engine, there’s a chance you’ll never find what you need to solve a problem you are having.
While internal search engines and docs are a good first stop, you should always be ready and willing to ask a teammate for help - it could save you hours of time. On the flip side, do your due diligence to document what you’re working on thoroughly, and always consider what someone may need to know if they need to pick up your work later. Don’t become part of the problem!
Aside from asking for help, being a good communicator is also necessary for simply keeping your team in the loop with your work. If you shelter yourself and code all day without saying anything, there’s a chance nobody will know or care about what you’re working on. A few short Slack messages can go a long way when it comes to getting eyes on your work.
3. Ownership and initiative get you far
As an intern, there’s hardly any expectation for you to perform at the level of your more senior teammates. This makes it easy to coast and wait for others to tell you what to do. In big tech, this not enough to stand out amongst your peers, even if you complete everything assigned to you.
You may be thinking: well, how do you stand out?
I believe the two most important factors for standing out are ownership and initiative.
Having ownership over something demonstrates that you are capable of leading a project. This doesn’t mean you have to do it alone - seniors hardly do it alone either. What’s important here is being a reliable point of contact of what you own. You should be well informed, enough so that you are able to onboard teammates onto the project if necessary. This helps you stand out by granting you visiblity you may not otherwise have and gaining trust from your teammates if you do a solid job.
Taking initiative is great for expanding your reach as an intern. When you’re working on a shared codebase, you may run into old bugs or tech debt. Flagging down these issues and their code owners can give you an opportunity to work on something outside of your immediate project, which gives people outside your team a reason to get to know you. Like having ownership, this also gives you better visibility, and may even improve your team’s reputation among other teams. The only consequence with this is that taking too much initiative with side tasks may set you behind on your primary project, so finding balance between the two is important.