Hello. İ don't have a job right now. I'm graduating from law school. But i want to work in us so I'm learning software development since law degree is pretty much useless in foreign countries. İ know Java and JavaScript. I have android app development experience and i build an app and published it in play store. And open sourced it on GitHub. İt is a Instagram clone and pretty complex but code quality is shit so I'm ignoring that project. I'm learning react native. I'm currently developing my Instagram clone with react native. I'm learning this to fill my resume. After react native, i want to focus on Java. And android development isn't best for me. I'm thinking to learn backend development with spring boot. But i have doubts. İ want to apply for big companies. Want should o learn in my limited time? İs backend good? Or do you suggest another one? TC: 0 YOE: 0 (I'm actually coding for 1.5 years but due to law school i never been fully into it.) #microsoft #linkedin #amazon #google
Leetcode
That's the best framework for any language
I'm learning that. I'm currently solving easy and medium leet code problems. And I'm learning data structures and algorithms.
Where are you located now ?
Turkey.
How do you plan to come to US ?
Appreciate your efforts. IMO as a beginner try spending more time on fundamentals then learning a framework.Have good understanding of Java, concurrency, memory management.Learn how applications are deployed on cloud. Also, as you mentioned you wish to apply for big companies (I am assuming it to be FAANG and similar level), the interview process will test you on Data Structures and Algorithms. So try learning basics of that and get better on it with practice. All the best!
I'm currently learning data structures and algorithms. Good to know I'm on right track. So you are saying that instead of mastering on specific area at the beginning, i should make my base stronger and learn more about fundementals.?
In my experience, the languages, frameworks, tools keep evolving and you will be required to work/learn new ones every few years. Skills like problem solving, being good with fundamentals, coding come handy whatever framework/language you will use. And that's the reason the big companies with time and budget to spend on ramping up employees focus more on these skills during interview!.
You are trying to do too many things at once.
What should I do? What to prioritize?
Obama is 1000% right. Focus in Java (including how does it really work) and kill Data Structures and Algos.
Vanilla
You are graduating from law school and asking what Java framework you need to learn? Wtf?!?! You need to ask yourself what was wrong in your judgment that you ended up asking this question. No Java framework is required for law graduates!
İ didn't understand what you mean. Can you elaborate?
QED
If you want to get into backend, Java is the safer choice. You are on the right track with language selection. https://docs.oracle.com/javase/tutorial/ - Go through this once to get a better understanding of Java features. These are not mandatory, but would be helpful in writing better OOPS code. Skip anything related to GUI/Enterprise For DSA, Leetcode is better for practicing. I personally used GeeksForGeeks to bootstrap some basics DS : https://www.geeksforgeeks.org/data-structures/ Algo : https://www.geeksforgeeks.org/fundamentals-of-algorithms/ The above 2 GFG links are kinda exhaustive list. You don't have to go through everything in there. Take a look at the first few problems in every section to get in the flow
Spring
So you suggest backend. Should i learn also redis, microservices etc. İs this matter for entry level jobs?
Microservices is more of a design pattern, you can use Spring to build applications with microservices pattern. I won't recomment Redis as the first thing to learn, start with SQL satabase such as postgres or mysql