My Background
I am Harshit Saxena currently working as a salesforce developer. Mostly working on LWC on the community platform. I'm 2x certified: B2B commerce admin and Platform Developer 1. I was not into programming from the beginning But 2 of my seniors recommended me to check out what's salesforce platform is, how salesforce is growing and here I am, Those 2 became my mentors and guided me about do's and don'ts. Programming is intimidating as I am not from a computer science background. Yes, I do not have a degree in computer science! nor any subjects in my degree. I am a graduate with a Bachelor of Science degree.
A fun little story:
How did I get myself into programming before salesforce?
I was trying to improve my grades in mathematics and searching over the web for those silly tips and tricks.
How to improve in mathematics?
So I saw programming can help with your mathematics grades. So Bingo then I decided to do programming, and my end goal is to get better grades in college. I searched where to start, what are programming languages? what I can do with a specific language? So, after spending a whole day I decided to go for JAVA - Yes not python. Java was weigh too complex for a non-programming background student. But I kept on working with problems how to approach them to get optimal solutions.
Problem-solving
It is a skill that one should develop if anybody is trying programming. Then I searched to get better at solving problems. There were many ideas like solving Mathematics equations, That was straight No for me !. Then one of my friend's showed me that he can solve a puzzle - and what was that puzzle, yes it was a rubix cube. A rubix cube seems impossible to me that only a genius can solve and being his friend I know that he is no genius, So is he able to solve? "That was the million-dollar question for me"
So a get up on the Internet and what I did? Yes, How to solve a rubix cube? I gave my heart and soul to it and after many hours of embarrassment and disappointment I mastered it down flat.
What I learnt about solving rubix cube
Solving rubix cube will not make you a better programmer. If you cannot that's fine. It was in my mind that if I am able to achieve that, then I can teach myself something as I am a self-taught programmer. It is a puzzle that forces your brain to think of many possibilities and solutions that you already know, and how to counter those parities if they occur.
Able to teach yourself is an Art.
I came across many kinds of people, some can learn from books some are comfortable with video content some with audio-books, Like content in different mediums. I am a book guy, I like reading books. Particularly I learn from books, PDF's or I should say written documentation. You can get a gist from a video, but for whole and deeper understanding, I suggest going for written or official documentation.
Trailhead
It helped me in those initial stages when I was starting my salesforce journey. It's a great platform for beginners even after 2 years of experience I still visit trailhead for topics that I want to get better at. I highly advise all new salesforce developers to learn from the trailhead. It has a playground where you can write actual code and learn from your mistakes, using trailhead and completing your modules in your domain will skill up and skill easy very fast. I have done it, so can you.
Just make your developer org and start doing your modules.
Prerequisites
According to me, there are not many prerequisites for a salesforce developer or I may say to get an entry-level job. But I can list a few that I've attained before my first job.
(Object Oriented Programming) OOPs concept
It's a very important and very basic prerequisite for any programming related job. There are programming languages that are based on OOPs concept for e.g: C++, Java. As I started programming with Java so I was good with this but still I studied from many resources to get fluent with real-life problems or I may say used cases.
To get familiar with real code I took help from our favorite friend, Yes GitHub. GitHub helped me a lot you should know how to take full leverage of GitHub.
Collections
Collections are used in every other line of code in salesforce, for the Back-End we use Java-based language that is "Apex". The collection is a framework that provides you with the architecture to manipulate data, without collections it's very difficult to code in java. So one should know how to handle and manipulate data using collections. There are many resources and books which can make you an expert in using the correct collection. Some highly used collections are
List
Set
Map
You should know, what are the key differences in these, when to use which, how to change from one to another, which of these collections are interchangeable, and many more.
I have practiced Interview questions on the web. What are the most asked questions? So that you can focus on your weak spots and strengthen those.
Make a good resume
Most of the people I saw are well versed with their technical knowledge but, their resume is not that Impressive. One should pay good attention to what they are sending to those recruiting teams, those HR's are really busy so they just read those heading and main key points.
Practice
You have to practice a lot, I can't stress that enough! Make your Github profile stand out to make commits regularly, So you can show your reviewer that you can build stuff from scratch and you have hands-on experience with those topics.
There is nothing more to say.
Mentor
I must say having a mentor is very beneficial, I had two mentors when I started my journey. Right now I'm working in a different company than before and here also I have two mentors. A mentor will guide you, tell you about the best practices that make you smarter to avoid mistakes, cause believe me the initial stage of the corporate world is really scary and one should be very cautious at every moment.
Salesforce Ohana is wonderful for many months I was unaware of that. To get a gist of what Ohana is, It is a place like a family that work together and have fun together Watch this.
Don't lose any hope.
You will get many opportunities, you just have to be persistent and keep on trying.
I have faced failure many times more than you think but at last " I got in", so will you.