Hi all, I’m starting a SWE internship at Microsoft soon and met with my manager recently. He advised that I “learn Linux” among other topics. I’ll be on an Azure team. What exactly does it mean to “learn Linux?” How is programming different on Linux vs Mac or PC? If anyone could provide some clarity or recommend resources to learn Linux, I would be very appreciative. Cheers, Denny Crane #tech #microsoft #linux
Lol 1. This is an anonymous forum. It's your choice, but I'd recommend hiding your name. 2. I'm confused that you're posting under Wayfair, but I guess you interned there as well? 3. Are you doing a CS course? Are you not being taught Linux? At the very least, understand the OS architecture, working with bash scripting, etc. 4. What team in Azure? It's a big org - what are you working on?
Hey @amafair 1. Denny Crane is the name of a character from the ABC dramedy “Boston Legal.” 2. Yes. 3. I’m not a CS major- I know how to do DSAs for interviews, but that’s about it. 4. Without being too specific- my team works on one of their HPC services that leverage Ubuntu VMs.
Haha good to know that's not actually you. Haven't watched that show. I am gathering you haven't really worked with Linux before. I recommend getting your hands on an Ubuntu VM asap. Get to know common terminal commands, the Linux file system, the Linux folder structure, etc. There are *tons* of videos on YouTube. Linux is very different from Windows at a very fundamental level, though if you've used a Mac before it's *sort of * similar. Good luck!
Find out what distribution they’re using and install it. Then learn how to use it such as package management, directory layout, shell scripting, etc. find the docs online for the distribution and start reading.
You can lose opportunities displaying your name like this on forums, even if you’re being a goody two shoes. Learning Linux just means knowing how to develop or operate in a Linux based environment. Most times you will be SSHing to a Linux machine so you have to be competent at using the Linux command line to interact with a server or a VM, or a cluster etc.
Vi editor Dir commands Grep Search find SSH Security Mounts Simple shell scripts( variables, loops, if else) Pipeing
1. Set up a machine with Ubuntu on it. If you have a windows machine you can do it very easily within windows, using WSL. 2. Learn bash basics, ls/cd/mkdir/touch/pipes/etc 3. Learn vim, the terminal text editor (Just type vimtutor in the Ubuntu terminal) Re what’s different vs Windows/MacOS… it’s superior: - 99% of servers run Linux, if you develop on a Linux machine you run into less “it worked in my machine” scenarios. They do occasionally come up. - Free open source software is really good. A whole load of epic tools are available for Linux to help you develop better software, and faster. Those tools are almost always available for Linux, sometimes for mac, rarely for windows. - As you grow in your career, you’ll naturally learn about the computer you’re developing on. It’s much better to build a deep understanding of Linux (where you code will run) than of Windows… unless you want to write windows apps 🚮 - Linux has less magic. Generally, there are no black boxes. If something is broken you can find out why, then workaround the issue or fix it. You have much less control or insight on a Mac or Windows machine.
Weird rant on Linux vs Windows...
I could do a rant, but this was just an answer to the question.
Personal Finance
Yesterday
3825
It is a blessing…
Personal Finance
17h
2017
Calculated my NW and now i can't sleep
Tech Industry
5h
1743
The job market is absolutely brutal right now
Tech Industry
2d
10246
I do tech screens at Google. AMA
Health & Wellness
10h
2156
High performers, how often do you have slack off days?
Donny Crane