Need advice from peers to be a coder and crack sw interviews

Hi there, I am an asic design engineer. I am not a strong coder but I feel it’s high time I start developing the skill set for coding and eventually move towards SW. I tried to do some leetcode but I got depressed. I figured that I do not know basics of algo and data structure. My understanding is without doing basics and jumping directly will not only take a lot of time but also demotivate me. I would like to know what is the best way to start becoming a good coder and also develop the skill to crack software engineering interviews. What books, online courses or YouTube channels I could follow to make this happen? I use Perl and little python for scripting at work but nothing too crazy. My goal is to master python 1st. I am pumped to pick this up and be successful to make the career shift eventually. Thank you :) 5.5 yoe, 170k tc

Add a comment
Facebook fx82au Nov 3, 2018

Honestly ASIC design has nothing to do with SWE (done some ASIC design in the past). I would say just follow the same path that people who are learning to program from scratch go through, so you get a grasp on the fundamentals. Using python / perl for scripting is very different from actually coding, so I wouldn't get down if you feel like you're taking a long time to learn etc. since you're essentially learning from the beginning.

GlobalFoundries Aiwa OP Nov 3, 2018

Agreed. Any suggestions where to start and what resources to look for? I just wanted to give my background so I mentioned asic

Facebook fx82au Nov 3, 2018

Not actually sure off the top of my head. I did a CS degree so I didn't really have to go looking for the fundamentals, so I'm not really familiar with what's out there. Regardless, really getting to grips with basic data structures is going to be the best start, which you can do in Python, but it's a bit harder to conceptualize when you don't have direct access to memory. Personally I learnt to program by coding in C, so that's what I recommend. You should be able to describe the basic structure and internal mechanisms (i.e. pointer manipulation) of how linked lists, trees, hashtables, arrays, vectors etc work. Once you have that down then you can start working on algorithms that use those data structures. You're not going to be implementing these data structures by yourself basically ever, but not understanding how they work is the most common gap I see in self taught programmers. I wouldn't bother with doing leetcode / CTCI quite yet.

Airbnb jim.hodlen Nov 3, 2018

if it’s your first time doing leetcode and struggling, it helps to read cracking thecoding interview or elements of programming interviews to get some handholding

Airbnb jim.hodlen Nov 3, 2018

usu coding interviews cover the stuff typically taught in the first two years of a cs program (discrete math, data structures, basic algorithms with a sprinkling of advanced stuff, and low level coding). depending on your specific background and experience, I’d focus on bridging the knowledge gaps

Qualcomm YoRogan Nov 3, 2018

Great suggestion to read cracking the coding interview. +1

Qualcomm YoRogan Nov 3, 2018

One thing that helped me was to take advantage of free courses. This was years ago but I watched and did the assignments for a Stanford or MIT (don’t recall which school) Algos course and other introductory CS courses. They provided the foundation and knowledge I needed to get started. Now there are many more offerings through Udacity and similar websites. Like the other person suggested in the previous comment. Look at university curriculums and try to find some courses online to cover the basics. Keep in mind these courses will teach you the fundamentals but not really the practical aspects of doing this professionally. For that you need hand on experience. The courses may be enough to get your foot in the door in a junior role. I made the jump from signal processing to full time SWE. It’s doable if you enjoy the process of learning. Best of luck!

LinkedIn gTBK55 Nov 3, 2018

CTCi, epi, leetcode, design of data intensive applications, interviewing.io, pramp

Microsoft Kingof2019 Nov 3, 2018

Try pranp.com for mock interview and interviewbit.com for preparation

Microsoft Kingof2019 Nov 3, 2018

Pramp.com

Informatica yes1 Nov 3, 2018

You might want to do a boot camp like app academy.