About Me
Hello everyone! My name is Cavin Macwan. Today I'm going to talk about my journey of following my passion until it became my profession.
Since 3rd grade, I have been fascinated with computers. My dad gave me my first computer in 3rd Grade because of my curiosity and interest in computers. I broke it so many times because I was curious to know how it worked.
My First Programming Language
In my self-study of computers, I came across the term programming language from the internet and learned that programming languages are used to build software and other cool stuff. Since I was so keen to learn a programming language in 5th grade but could not install the dependency software for that language since I didn't have an internet connection, many of us feel like we can't learn the language and give up. But my love for computers never let me do that. I knew I wouldn't be able to understand everything at that time. Therefore, I chose a different approach. I started learning HTML.
Yes, you've read it right, my first language wasn't Java or Python or C or C++. It was HTML, a markup language. I bought a book for learning HTML but at that time I didn't know about English that much, so I started copying each code snippet I found in the book, and by hitting and trying, I learned how this code impacts this line or this view. And the best thing was I didn't know about IDE at that time so I coded everything in notepad only.
Learning Everyday
After several years of coding in HTML, I felt I was finally ready to learn the programming language. So I searched on youtube like most of us people that which language should we learn first. And in most of the videos, there was one language common and it was none other than Python. I started learning python through the YouTube playlist of Telusko and he was the best teacher because I learned all the fundamentals easily like variables, loops, OOPS and much more things. It seemed like I was on the right path to becoming a programmer until the errors began to appear.
Roadblocks
“First, solve the problem. Then, write the code.” – John Johnson
I understood that every programmer encounters lots of errors, and when I encountered those errors, I had to search everywhere on google to find out how we could fix them. I learned that programming is not just about building new things, it's also about solving problems. And the awesome thing about those errors are there is a rare case that someone didn't have the same problem that you had. because there are so many peoples who faced those errors and they are kind enough that they have mentioned the solutions everywhere. We just have to find that how they solved those errors.
I would like to advise those who are just starting their programming journey that never be afraid to make mistakes in your code. Try as many variations as you can because it will surely improve your logic building process.
Why different stream?
Due to several reasons, I had to get into a Bachelor's of Mathematics after I finished school. I was not happy as it wasn't my dream to become a mathematician as I wanted to pursue a programming career. I was feeling lost at that time and I stopped programming.
Start from the beginning
I was failing one subject each semester in my college. So I knew I wouldn't become a good mathematician by any chance. My only hope rested on my programming skills. So I started learning a programming language. And at this time I knew I'm not gonna back off at any cost.
I started learning about Data Science, Machine learning, Deep learning, Artificial intelligence, and Java. I learned everything one by one. Now It was time I had to choose that in which domain I want to go and I choose the mobile application development domain. I started learning about the flutter framework. I learned for more than 4 to 5 months before building my first flutter application.
Sources of Learning (Free and Paid Courses)
For the learning resources, I was stuck that which way I should follow. In addition to coding bootcamps, there are free courses available on YouTube, as well as Udemy and paid courses. Then I thought that I will start with the free courses that are available everywhere and once I finish those I will move into the paid courses. But from those free resources, I learned so many things that I never had to purchase any courses. Thanks to the huge community of programming who are working tirelessly to provide us with knowledge of programming.
I learned dart language from a famous YouTuber and flutter from its official YouTube channel.
Sources which I used to learn:
Data Science, Machine learning and Deep learning : Krish Naik
Dart : Wicked YouTube channel
Flutter : Rivaan Ranawat and Codepur
Learning Process
“Develop a passion for learning. If you do, you will never cease to grow.” — Anthony J. D’Angelo
There were so many things I learned when I was completing the courses and on that topic, I can make a whole separate article. But for the time being, when we think of learning new skills, it feels like this
But in reality, it gets like this.
I think this is the reason why so many people quit when they start having this plateau rather than pushing more forward. Learning a new skill is like learning a brand-new instrument or a game. The first few months of learning to code is really just the beginning of the journey. We have to keep practicing and keep moving forward until that becomes part of our skills.
Projects
“Before software can be reusable it first has to be usable.” – Ralph Johnson
Once I was familiar with the Flutter framework and dart language, I started building projects by watching some videos on youtube. I learned the code structure by building those projects. Then I started working on my own projects and here are a few tips for freshers who are building projects for their portfolio
Try to build your own project from scratch because you will know what were the difficulties you have faced and how to overcome those difficulties. The second thing is there will be so many programmers who also have built the same project by watching those videos therefore in order to stand out from the crowd, you need some uniqueness in your projects
Try to cover different tech stacks to show that you know other technologies apart from your main technology. For example : I made some full stack mobile apps and also some projects of data science and machine learning to show I also know about python and machine learning
Make your GitHub profile stand out from the others. There are some websites from which you can make your own GitHub profile landing page. Here's my Github profile. This article can help you with it: Link
Host your projects on Github and if possible, deploy your apps on the cloud platform like Heroku or Netlify
Share your project on LinkedIn or other social media platforms
By following these things, I'm sure you will make a great portfolio
Resume
The resume is the only thing that any recruiter will look at first because it tells everything about you from what you know to what you are capable of. I followed the one-page resume format because it suited my needs well.
These are the things that you can keep in mind while building your own resume :
Never add something you don't know because the interviewer can ask any questions from your resume and if you lie about yourself then it will lead to a pretty bad impression
Always keep your resume one page only, I have seen 7 to 8 years of experienced people keep their resume one page only so we can surely keep our resume to one page
Never mention your marital status or anything which don't have an impact on your resume
Apply for the job
After I was ready with my resume I started applying for jobs through LinkedIn. I wasn't getting responses at first but I managed to schedule one interview for the flutter developer role. My interviewer was Hiren Padaliya who has a great experience in those domains,Then In the interview, I was asked some questions regarding the flutter and its features that what actually flutter is and they asked some questions regarding my projects. They also asked about data science and machine learning
These were the things I learned from the interview
Always look up to company's website and study about them on which company you are applying because it shows that you are serious about working in their company
If you don't know about something, then you can tell the interviewer politely that you don't know about that but you will do your research on it
Always dress and groom well. When you are going for the interview you should make sure that you're dressing correctly
Never show your skills without examples, if you have any good skills, then tell about those skills with the moment you used them
Present Day
"I've realized that at the top of the mountain, there's another mountain" - Andrew Garfield
I finally managed to crack the interview and secure the job as a flutter developer. Currently, I'm working in India as a flutter developer.
One thing I want to share is it is not the end of the journey, because, in this profession, we will be always learning and improving. And never think about the outcome, always focus on the learning process.
So this was my journey of how I was able to convert my passion into my profession. I hope you learned something from this story. If you have any stories or thoughts, I would appreciate hearing them.
Your Friend,
Cavin Macwan