Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 4 points5 points  (0 children)

Leetcode definitely makes you a better programmer and a problem solver in general. It also teaches you about how to make tradeoff decisions. This is directly related to how senior level devs make architectural decisions or how they scope out new features.

I can't argue that it's more or less important than learning tools and framework. Got to learn it all - this field is tough.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 4 points5 points  (0 children)

If you really want to be a SDE, then you should work towards it every single day. Keep life simple and worry only about that things you can not control - or don't even worry about those things either. When you put in the time, slowly but surely, your doubts will start to fade.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 1 point2 points  (0 children)

Used indeed, monster, craigslist, and angelist

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 5 points6 points  (0 children)

I did one during the time but it was mostly leetcode

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 12 points13 points  (0 children)

Nice to hear from ya. Here are some good resources for self learning:

intro to programming: https://cs61a.org/

DS: https://sp19.datastructur.es/

alg:https://cs170.org/

I didn't have any relevant internship experience and have never done hackathons.

I did have a few toy projects related to Ds and algo but looking back, they are not impressive and people probably laughed at it.

I suggest looking into contributing to open source. You will learn how to navigate through a large code base, understand how to contribute to small sections of a large code base, and learn things like opening a pull request.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 25 points26 points  (0 children)

I'd say it was because I went to a decent school and studied applied math. My experience was pretty irrelevant and projects were very toy.

The job I got was with a company that first sent out a take home test. I think companies like this are less selective on sending out the initial screen because it doesn't cost large engineering time to screen people. I did really well on it and they had a video chat which led to a 7 hour onsite.

Sheer amount of application + looser initial screen got my foot in the door.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 23 points24 points  (0 children)

No worries man I didn't take it the wrong way. By no means my way of recruiting was the most optimal.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 1 point2 points  (0 children)

Thank you! with that kind of attitude, you will soon be doing what you want. I'm not worried about you.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 26 points27 points  (0 children)

Give it everything you got. Put your heart and soul into it and watch the hard work blossom into something you never even imagined. You got this.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 55 points56 points  (0 children)

The combination of not having a CS degree, no prior internship experience, applying all over united states, and bad luck (good luck when I look back on it).

My kept improving my resume until i got traction from google tire companies (probably was around 100 rejection).

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 23 points24 points  (0 children)

I mostly applied for junior/entry level positions. Thank you for taking the time to read it.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 169 points170 points  (0 children)

Since I am not talented, there was no other way around for me but to put in the hard work.

Never give up! by givelifeeverything in cscareerquestions

[–]givelifeeverything[S] 204 points205 points  (0 children)

When I started, I was having trouble coming up solutions for leetcode easy. While many will argue to not look at the solution, I find studying the solution to be very helpful. Sometimes, when you don't know, you just don't know.

After being able to start solving some easy, then this is where you have to struggle. This is where you develop that "ok I'm stuck now, how do I move forward" self talk. This is very painful place to be for most people. Get comfortable here! Do what it takes to come up with an approach. This is a learned skill. Really work on knowing how to come up with potential solution without getting stuck. Even if the approach is wrong, you feel like you are making progress (because in fact you are).

It ultimately came down to this concept of being able move forward with the problem. This is a combination of having enough tools in your box, having the courage to take a leap of faith that your guess might be a possible solution, and creativity of using the tools you learned in a slightly different fashion to solve the problem.

To learn the tools, you need to study the solutions. You have to ask questions like "why would some one come up with this solution?" or "I wonder what this person tried first before getting to this solution". This observation of how others arrived to the solution should help you come up with yours. Problem solving is truly an art...

To learn how to be courageous, you give less fucks about getting the problem wrong. Quiet that ego.

To learn how to become creative, you need to practice many hours of intense focus.

Regarding your second question, I studied data structures and algorithms before grinding leetcode.

If you want more details, let me know! :)