No one can deny that it has always been productive for all the aspiring Software Engineers to have a discussion with the experts of the same industry. And why not – the significant advice, suggestions, and guidance that you can get from the industry maestro himself can’t be gain from any book or tutorials. However, in today’s hectic schedule & environment, it is not that easy to connect with such professional experts for a comprehensive discussion (especially for the students). Keeping this in mind, we’ve arranged a discussion session with a renowned personality in the tech world, Mr. Anuj Kumar Sharma to help you out with all your career-related doubts, and he’ll share some crucial insights of being a Software Engineer as well.
Anuj completed his Bachelor of Technology (B.Tech) in Information Technology from Netaji Subhash Institute of Technology, Delhi, and is currently working as a Software Engineer with Urban Company. He also manages his YouTube channel with a subscriber base of more than 45K+ students, and he is quite popular among the students with the name ‘Anuj Bhaiya’. In his channel, he clears the doubts of students regarding learning programming languages, Data Structures & Algorithms, etc., and gives the best advice to students to get placed in the dream company.
Now, let’s start the discussion with the expert:
Question-1: After graduating from NSUT, how has your journey been as a Software Engineer at Urban Company?
Post my graduation, the journey has been nothing but full of excitement & learning. At Urban Company, I work in a team known as, ‘Partner Success’. I, along with my colleagues help to improve the earnings and thus, the happiness (aka success) of our partners associated with Urban Company.
Each day, we face new challenges. To come to a solution, we often go through rigorous brainstorming sessions with inputs, considering the technological as well as business aspects.
Initially, I started as an Android Developer and moved to Backend Development. At the moment, I work on owning a problem statement and delivering an end-to-end solution, i.e., from front-end to back-end to maintenance.
Over time, I’ve observed a significant growth in my problem-solving skills and knowledge. I’ve also come to display ownership skills.
Question-2: Your purpose in starting a YouTube channel was to educate young coding enthusiasts. How and when did you decide that this is one of the paths you’d like to choose for yourself?
I always had a dream to give back to society with the gift of teaching. My inspiration was drawn from one of my teachers, Mr. Anand Kumar (Founder, Super 30). I hadn’t known that I’d end up teaching programming and on top of that, on YouTube!
Back when I was in college, I sought to learn coding from YouTube. However, I faced a lot of problems learning from foreigners because the tutorials weren’t aligned with the typical placement scenario in India. Having wasted quite a lot of time, it sparked the motivation within me to create my own channel, focusing on placements at product-based companies located here.
And thus, I’ve been teaching for the past 1.5 years with the singular aim of guiding coding enthusiasts!
Question-3: You’ve managed to earn the trust of more than 45k subscribers. Could you describe to our geeks one of those moments that strengthened your conviction in the hard work that you put across on Anuj Bhaiya?
I believe it’s a series of many small moments that kept me going. I’m truly grateful to the people who supported me all throughout. I work as a software engineer during the day and shoot as well as edit my videos at night. There are obviously hectic days. But the comments and messages I receive invigorate me! The love and trust that my followers show are extremely invaluable to me. The feeling of knowing that my videos helped someone secure a dream job or score well is unparalleled. I once received a similar message wherein the programmer ended up creating an app! The person was so happy showing it off among his friends.
It’s these very moments that make all the hard work I put in worth it and fills within me renewed joy and energy.
Question-4: What perspective do you have about your coding journey till today? And where do you see yourselves from now?
Well, I had absolutely zero coding experience before I set my foot in NSUT. One can only imagine the horror of being the only person in the group who doesn’t know how to code! After all, the ultimate aim was to crack the Google interview.
I’m lucky that I got some amazing friends who taught me C, the first language I ever learned. I became so hooked on it in the first semester itself. I ended up creating some complex programs like the Snake Game and using the graphics library to make designs and animations.
Soon after, I decided to switch to an object-oriented programming language and chose Java after much consideration. Aah! And after that, it was just a storm of technologies and frameworks that I kept exploring.
I took to Android Development after learning Java. I made a few projects and interned at a start-up. Post that, I learned web development using Angular. Oh, and I was already working on Data Structures & Algorithms at the same time as I was learning Java.
I participated in many and even won a few competitions and hackathons. My experiences here made me dive deep. And so, I started learning Hybrid Mobile Development using the Ionic Framework. I made a few projects again.
Shortly afterward, I turned to Machine Learning. I integrated the concepts of machine learning in Android apps. One such app was Shuffler where I used ML to predict the next song a user is most likely to listen to! I then moved onto Blockchain Development, I made a decentralized voting system on the Ethereum Blockchain as a minor project. And just when I thought I had learned enough, I decided against it and ended up building an online education platform using GraphQL, an Android app, and an Angular Web app, named Apni Kaksha.
After joining Urban Company, my desire to learn more didn’t stop. I moved from Android Development to Backend Development in just 6 months! Lastly, since I love sharing my knowledge with coding beginners, I created my YouTube channel and the rest is history!
I like to see myself as being a part of the world where programming promotes the greater good of our society. Lack of English speaking or writing skills must never act as inhibitions to a prospective coder. I believe that programmers can shape this world for the better and I’d find solace in the fact that I contributed my part.
Question-5: What skills, according to you, must be built upon or enhanced in order to become an Android developer?
I started Android Development as just a hobby in college. Back then, only a few were engaged in anything other than Competitive Programming. Feeling bored with DSA, I learned Android Development in the third semester. I already knew Java, so I focused on learning other concepts of Android. I spent an entire two months just learning the concepts. It felt a bit off that I hadn’t built an app in those two months. I felt stuck. And I knew I had to do something about it.
And so, in the Android Development Series on my Youtube Channel, I made sure that everyone who is learning Android Development should also develop apps simultaneously. I’d advise that one must follow the ‘Learning by Doing’ approach and always have a bigger goal in mind if one is starting with Android Development. A few other skills that may need improvement are:
- UI/UX skills: Take inspiration by looking at observing other apps
- Kotlin: To improve developer productivity and for a cleaner code, take note of the new official language of Android
- Get familiarized with OOPS concepts, Gradle, and design patterns.
Keep the learning josh high at all times! Keep yourself updated because Android SDKs keep on updating with the new Android versions release. Only recently have they introduced Android Jetpack and architecture components. Also, follow Android blogs. Android is a very big open source community. Learn and help it to grow with your contributions!
Question-6: Coming to Java, what suggestions do you have for all the budding coders out there as well as the present Java programmers in college?
Java is very easy! And I do not say it because it’s one of my favorite programming languages! I say it because I’ve seen beginners struggling with C, C++, and Python. I recommended my younger brother to learn Java after his failed attempt at C++. Not only did he learn Java in his 2nd semester, but is now quite good at it!
Java was my first choice after learning C in college. I decided to pursue it because of its various use-cases. Java is good for making projects in college. One can easily make Android Apps as well as do Backend Development using the Spring Framework. Java is also very high in demand in the industry. Most MNCs & startups use Java. It’s always a plus to have it mentioned in your CV. So if you’re stuck in deciding on which language to choose as your first object-oriented programming language I would highly recommend Java.
Next, if you go by my recommendation, you may do the following:
- Learn the Basics of Java
- Learn OOPS Concept in Java
- Learn Collection Framework in Java
- Learn the basics of Multithreading in Java (advanced)
- Prepare a cheat sheet of all the important methods of useful classes in Java, like Math, String, StringBuilder, Arrays, Collections, BigInteger, etc.
Question-7: 2020 has brought along a lot of uncertainty and stress owing to campus placements and job offers being revoked. In these times, what advice would you want to give to our geeks?
2020 has been a weird year! It has impacted a lot of things, including campus placements. Offers were being revoked due to the economic breakdown triggered by COVID-19. But despite all this, the campus placements are now on track. With more and more companies opting for online modes of hiring, we are seeing an even larger number of placement offers. IIT Delhi has broken its previous placement records! Various colleges are conducting special placement drives for students affected by canceled job offers in the wake of the pandemic. Companies have started to thrive and business is coming back on track. So there is no need to be anxious and stressed about fewer placement opportunities. My advice would be to keep preparing & consider the pandemic as an opportunity to learn.
With companies now hiring virtually, you’d probably feel more comfortable taking coding tests & interviews from the comfort of your home. Don’t forget to exercise your body as well as your mind! Utilize all the extra time wisely and be sure that we’d all come out of this soon.
So, this is all from the Expert, Anuj Kumar Sharma himself. Thank You for Reading!!
- Switch Your Career to Machine Learning - A Complete Guide
- 5 Reasons Why Hackathons are Important in a Coder’s Life
- Don't Let Your Geographical Location Be A Barrier In Your Success - Live Classes By GeeksforGeeks
- Discovering DSA with Mr. Shashi Bhushan Kumar
- How to prepare for Infosys - The Complete guide
- An Ultimate Guide to Git and Github
- Step Wise Guide to start with Open Source
- How to Become a Full Stack Web Developer in 2019 : A Complete Guide
- How to Become a Data Analyst in 2019: A Complete Guide
- How to Become a Data Scientist in 2019: A Complete Guide
- Google Interview Preparation For Software Engineer - A Complete Guide
- How to Prepare For GSoC (Google Summer of Code) - A Complete Guide
- How To Become A Web Developer in 2020 - A Complete Guide
- How to Write a Research Paper - A Complete Guide
- How To Learn ReactJS: A Complete Guide For Beginners
- How to Start a Career in Software Testing - A Complete Guide!
- How to Learn Java Collections - A Complete Guide
- Automating File Movement on your system
- Is your Web Application Secure Enough? Think Again
- Making your WordPress Website More Secure