The Successful Software Devloper Engineer Journey (2019-2022).

I am 23 years (will turn 24 this March) old Software Engineer (SDE1 - Mobile) in Bangalore. I started my career as an intern in May 2019 where I used to get 15K in hand every month for up to 6 months. After that, I used to get 22k per month for another 6 months. I worked for a total of 1 year as an intern.

Post completion of my internship I got a PPO from the same company in May 2020 with an offer of 4.5 LPA where I used to get 30K in hand every month. I continued to work in the same company for 1 year. Meanwhile, I was working hard on my development skills and Data Structures and Algorithms. After office hours I used to study hard, and solve problems based on DSA on coding platforms like Leetcode, CodeChef, etc.

In mid-2021 I started giving interviews for good product-based companies and I was able to crack 5 to 6 companies in one shot. I started to work in a product-based organization with an offer of 18LPA where I am getting 1.12 Lakhs per month in hand.

Financially I am very happy, as I belong to an average orthodox middle-class family and I never had support from my family to go into the IT sector, they always wanted me to go into govt jobs. Even though my Engineering branch (EEE) was chosen by my father, I always wanted to study CSE. At that time I didn't have enough courage and strength to go against my family so I had to choose EEE. I used to get very little pocket money during my college days and it was very difficult to meet my daily needs with that. I am very thankful to my friends who were always there for me in college and helped me with money whenever I needed it.

Now I am independent and have more than enough to spend. Recently I bought Macbook Pro, iPhone 13, and AirPods pro with my own money. Apple products were always my dream to buy.

I have also started to help poor people near the Sony Signal, Bangalore by buying them food on the daily basis and clothes on a quarterly basis. It makes me so happy to see them smile. Every time I buy them food they bless me by touching my head and cheeks and I just feel on top of the world.

Edit:

I am not an IITIAN. I was not able to crack JEE Advance. I got 102 marks in JEE Mains in 2016. Cleared JEE Mains with only 2 marks which is not an achievement. I have done my Engineering from LPU in EEE branch.

Thanks a lot, everyone. Since many of you are asking how I prepared for the interviews. Below are the steps that I followed.

  1. Learned both native android development and hybrid mobile app development (react-native) from youtube. You can learn whatever you want (frontend, backend, mobile, full-stack). There are a lot of free resources out there and they are really worth it.
  2. Learned basics of DSA from coding ninjas and then from Programming Pathshala for advanced problem-solving. Nowadays there are free resources for DSA as well on youtube.
  3. Started solving interview focussed selective questions from Leetcode, GFG, and Codechef. Never sat for any competitive coding challenge as my goal was to crack interviews not to become a competitive coder. (If you do competitive coding then it will definitely add on).
  4. For selective questions, you can solve the DSA sheet by love Babbar. It is a really awesome sheet with interview focussed questions.
  5. Start giving interviews once you have solved at least 60% of the questions.
  6. Never be afraid of rejection. Get rejected and this will make your fear of rejection go away. This will also help you to get familiarised with the interview process and will build confidence.
  7. Once you become confident you will start to crack interviews with ease.

    For applying for Software Engineering Jobs. Apply in the following sites:

    1. Cutshort
    2. Instahyre
    3. Bigshyft
    4. Linkedin
    5. Through referrals.

Edit 2:

I am not an active writer on quora. I never had thought that I will get a response like this on my answer. I do understand most of you who are trying to get into good product-based companies, once I was in your shoes.

Believe me, I have been an average student all my life. I don't have any special talents. It's not like I can solve any DSA question without getting stuck. Even now I am not able to solve many hard-level questions in the most optimized way.

If I can do it you all can do it as well and maybe in a much better way.

It doesn't matter if you are from any branch you can still become a good Software Developer. It doesn't matter if you are working in a service-based company, you can easily switch anytime. A day before yesterday one of my close friends bagged an opportunity of 11LPA in a product-based organization, he was working in a service-based firm since 1 year.

Those who can afford paid courses can surely join them. It will benefit you.

For free DSA courses :

DSA sheet to solve (by Love Babbar):

For learning languages and tech stack :

Start appearing for the interviews. Make your attitude like “Jyada se jyada kya hoga? reject honge!”

Solve at least 60% of the questions on the DSA sheet and start giving interviews. Don't wait to become perfect. You will never become perfect. No one is perfect. Face the interviews (battle). It doesn't matter if you get rejected, at least you will become familiar with the interview process and will be more prepared for the next company's interview.

It is okay to see the solution if you get stuck anytime. But make sure that you understand it and in the future, if the same question or same type of question gets repeated then you must solve it without getting stucked.

Top 6 Best Equipment’s for creating a Professional Videos content for YouTube 2022.

YouTube has become the biggest and most popular platform for sharing video content online. It’s also a great way for people to express their creativity, make some extra money, promote themselves or their business, and possibly even become a massive “Internet famous” celebrity.

If you’re considering becoming an official YouTuber, there are several things you will need to prepare—the most important being your essential video equipment.
Creating quality YouTube videos is not as easy as it looks. Luckily, you don’t need to have a lot of technical know-how to produce the kind of content that people will enjoy watching—you simply need the right equipment.


To Make the Useful Videos Content Equipment for YouTube follows:-


1. Camera Canon 2000 Mark 2 

Canon EOS 200D II has been launched in India, the Japanese company's latest DSLR under its “beginner” segment. This is the successor to the EOS 200D and features improvements along the lines of the image processor, video recording, and advanced features such as the addition of Eye AF. The camera goes on sale this week in India with a starting price of Rs. 52,995 for the body and the EF-S18-55 IS STM kit lens. 

Canon's new EOS 200D II is positioned as light and compact DSLR for beginners. In fact, it's supposed to be the company's lightest DSLR with a very-angle touchscreen display, weighing just 449g. It features a 24.1-megapixel APS-C CMOS sensor with Canon's latest Digi 8 image processor.

 

The 3-inch touchscreen has a slightly low 1.04 million dot resolution but it can be flipped 180-degrees, outwards, so shooting selfies or vlogging should be simpler. There's also built-in Wi-Fi and Bluetooth connectivity for syncing with a smartphone. One of the interesting features of this camera though is Creative Assist, which is aimed at helping novice shooters edit and improve their images.


2. 50 MM Lens

A 50mm prime lens (also called a fixed focal length lens) is a must-have piece of equipment for anyone starting out in photography. It’s versatile, affordable, and great for shooting all types of photos. In this blog, I will outline the benefits of a 50mm lens and why you should invest in one.

Many of the leading camera manufacturers have different types of 50mm lenses, but the one I recommend is the basic, entry-level 50mm F1.8 lens. This will give you a noticeable upgrade in image quality over kit lenses and standard zoom lenses. Canon and Nikon both produce 50mm lenses and they are the cheapest in their lens ranges.






Advantages of 50 MM Lens

  • 50mm lens to a typical standard zoom lens and you will see a sharper, higher-contrast image with the 50mm lens.
  • 50mm lens is small, light, and easy to carry. This allows you to have a very compact setup (especially if you are using a small digital camera), which is ideal for travel and street photography.

3. Camera Tripod

Tripod VCT 880 Plus with Bag for DSLR Camera has a professional fluid hydrating head that can take a maximum load of 10 Kg. It has a professional-level bubble.



This tripod is made with a combination of Aluminum and Plastic for a lightweight, compact, and ultra-slim design. Simplex Tripod VCT 880 Plus is a portable device and comes with a carrying bag. It has a detachable quick-release plate for quickly connecting to the camera.

 Features: -


·         Tripod comes with a professional fluid hydrating head.

·          It has a professional level bubble.

·         Tripod is very portable and it comes with carrying bag.

·         Has a detachable quick release plate for quickly connecting to the camera.

·         Lightest weight in the category with Ultra Slim / Compact design.


User Advantages: -

  • A wide range (Height and 360°) can be covered.
  • Used Material is good quality.
  • The stand is calibrated properly
  • It has aesthetic look.
  • Easy to carry with the bag. Very nice caring bag provided.


4. MIC

This condenser microphone doesn’t need a pre-amp and allows self-monitoring through its built-in headphone jack with volume control. It also offers mix control to allow you to blend your microphone audio with pre-recorded audio. As with many high-quality condenser microphones, It has an extended frequency response that makes it ideal for recording vocals for podcasting and home recording.


                                                Microphone

5. Tripod For Mobile

No matter how steadily you try to hold the camera, handheld shooting will produce shaky and jarring videos. Gimbals are specialized stabilizers that are built with motors or weights to carefully balance your camera and smoothen out your videos, even if you purposely make big and sudden movements. This is particularly helpful for YouTubers who are using lightweight cameras like Go Pros and are constantly moving.



It has a 3-axis stabilizer system with brushless motors that will really smoothen out your camera movements and has a battery life that can last up to 5 hours. For a motorized gimbal, it’s definitely a great investment that’s worth the price.


Features: -

·        Video Camera Tripod Stand 3110.

·        Colour silver black.

·        MATERIAL Ammonium, Plastic MADE FORM high quality.

·       4-Section, Lever-Lock Legs: Uneven terrain? Need to frame the shot just so?

·      Made of Aluminium alloy, THICKER leg tube than the ordinary tripod, sturdyadequate for long exposure work and keep the camera steady.

·    And it has a handle that is easy to manipulate the tilt and tilt angles, which can achieve pan and tilt movements to achieve any angle required by the user.


6. Light Stand (Ring Light)

Lighting equipment is necessary if you’re primarily recording indoors and in dimly lit areas. And even if you’re shooting where there’s ample ambient light, lighting equipment can modify the mood and even out the brightness of your setup. Below are the types of lighting equipment that you can use when recording your YouTube videos.




Ring lights are a favorite among vloggers. When its ring shape emits light all-around a subject, it eliminates shadows from every direction, making anybody look more attractive in front of the camera. This is why this type of lighting equipment is often used by beauty and makeup vloggers since they’re able to beautifully light up the face and eliminate shadows that tend to highlight blemishes.

This fluorescent ring light uses 80W power that doesn’t emit too much heat, so you can place it closer to the subject. Its 19-inch diameter build is also very light and easy to carry. If you’re doing videos that need facial close-ups, Flashpoint 19 would be the ideal pick for you.


Creative Content Ideas


Many popular YouTubers and influencers like to stay on top of new gear developments. They always need the most efficient, highest-quality equipment in their kits, so they can keep creating at home or on the road.

Some YouTubers rely on very technical kits, while others prefer to work with a more portable setup. Here are some of the gear that popular YouTubers rely on to create their content.









                                                

 



How to Upgrade your Skills during the Under-Graduation in Computer Science?

How can I Upgrade my Skills from the initial level to the entire level during the Under-Graduation in Computer Science?


As a Computer Science student, During the graduation of Computer Science, I have learned different types of skills & technologies like Programming skills, Communications skills, Problem-solving skills, and Presentation skills.


If you're interested in preparing for career opportunities in computer science, we recommend getting started with your education as soon as possible. Most high schools now provide a selection of classes in computer science, and the majority of accredited colleges offer both undergraduate and graduate degree programs in computer science and programming. Whichever career path you choose, one thing is certain, learning computer science requires a lot of dedication and study.



We live in a society driven by computer technology. From school to work to socializing, understanding how computers work and how to use them is becoming more essential in many areas of life. The field of computer science takes computing to the next level. More and more students are pursuing an education in computer science and turning their knowledge into lucrative careers in business, engineering, and health care, to name just a few.



Analytical skills
One of the key roles of a computer science engineer is to identify a technical problem and find an apt solution for it. Thus, strong analytical skills are crucial to assess any problem from a different perspective and find the best solution. While working as a computer engineer, you will also be required to explore different options and not simply restrict or adhere to a one solution format.
Creativity
While the ability to solve problems is important, being creative to have unique ideas is also vital to be a skilled engineer. You should be careful while analyzing the operating errors to find the exact cause of the problem.
Problem-solving skills
A computer engineer is also required to solve complicated problems in an organized manner. The problems that engineers attempt to solve are based on real-life scenarios. Thus, to execute and implement the project, you need to detail every step to have an organized outline for solving the problem. While coding, every computer engineer knows the compulsion to get everything right. This also means that engineers need to be quick observers to be able to spot any error, small or big in the program.
Critical thinking skills
Critical thinking skills enable you to be versatile while working on a wide array of projects. It also helps you know the right approach to solve a problem. When you think critically, you are able to analyze the methodologies critically, to find the most suitable one.

                                     Non-Technical Skills


Communication skills
A computer engineer is always a part of a larger team where the team members work simultaneously to achieve certain goals. This means that as a successful engineer, you should be able to interact with your team, exchange ideas and stay updated with the team’s progress towards the long-term goal.
Leadership skills
If you are inclined to move ahead in the field of computer engineering, there will be a certain point where you will be required to lead a team. Thus, for career advancement, possessing leadership skills is essential, otherwise, the roles and responsibilities of an engineer become stagnant despite having decades of experience.
Throughout your career as a computer engineer, you will continue to learn about various software and hardware. With technological advancement, the number of job opportunities for computer engineers is on the rise.  From being able to identify the smallest of errors in lengthy codes to mastering various programming languages, a computer engineer needs to be diverse to be able to succeed in his or her career. 

Presentations skills

Developing presentation skills is an important part of developing team-building skills, as effective presentations can influence and inspire a team.

Presentation skills can be defined as a set of abilities that enable an individual to: interact with the audience; transmit the messages with clarity; engage the audience in the presentation, and interpret and understand the mindsets of the listeners. These skills refine the way you put forward your messages and enhance your persuasive powers.

                          Technical Skills



Programming Skills: The programming skills are known as technical skills. the programming skills learn from programming languages. the various languages are C, C++, Java, Python, .Net, etc.

Programming is a combination of many skills, which means it's not possible to learn it in a quick time, rather it will come with time and experience, but that won't happen automatically.

Image result for programming

Not many programmers practice these essential programming skills. If there is a mandatory problem-solving programming test, I would bet, the average programmer would have been much better. Anyway, here is my list of things, which can help you to become a good programmer.

In order to become a better programmer, you need to be really good at the data structure, algorithms, designing using OOPS, multi-threading and various programming concepts.

the various core subjects and programming languages are studying in computer science as follows:-

  • Programming in C
  • Programming in C++
  • Java/J2SEE
  • .Net
  • Python
  • Data Structure
  • Operating System
  • Software Engineering
  • Software testing
  • Web Technologies
  • RDBMS
  • SQL
  • Compiler Design
  • Computer Network
  • Cyber Security
  • Data mining
  • Cloud Computing
  • Soft Computing
  • Artificial Intelligence
  • Machine Learning
  • Deep Learning
  • AWS(Amazon web service)
  • Iot(Internet of things)
  • Big-Data Hadoop, etc.




Most Popular Programming Languages to Learn in 2020

Top Most Popular Programming Languages to Learn in 2020.

Every year StackOverflow publishes insights on the developer survey. These insights cover lots of different aspects of the developers around the globe. It includes developers' background, popular programming languages, web frameworks, libraries, tools, databases, platforms in the software industry.



From the last 7 years, JavaScript is the most popular & commonly used language but Python is the fastest-growing language. There’s no change in C#Php & C++ position but Go & Kotlin gained popularity.

There are many programming languages present in the market. Every language has its advantages and disadvantages. So choosing the best programming language on which you should focus can be difficult.

This is also one of the main reasons why I am writing this article. The main motive of this article is to tell you guys the list of best programming language on which you should work in 2020.

1. Python




Python is one of the best programming languages every developer should learn this year. The language is easy-to-learn and offers a clean and well-structured code, making it powerful enough to build a decent web application. 

Python can be used for web and desktop applications, GUI-based desktop applications, machine learning, data science, and network servers. The programming language enjoys immense community support and offers several open-source libraries, frameworks, and modules that make application development.
For instance, Python offers Django and Flask, popular libraries for web development and TensorFlow, Keras, and SciPy for data science applications. 
Though Python has been around for a while, it makes sense to learn this language in 2020 as it can help you get a job or a freelance project quickly, thereby accelerating your career growth. 


2. C#



C# is pronounced as "C-Sharp". It is an object-oriented programming language provided by Microsoft that runs on .Net Framework.
By the help of C# programming language, we can develop different types of secured and robust applications:
  • Window applications
  • Web applications
  • Distributed applications
  • Web service applications
  • Database applications etc.
C# is approved as a standard by ECMA and ISO. C# is designed for CLI (Common Language Infrastructure). CLI is a specification that describes executable code and runtime environment.
C# programming language is influenced by C++, Java, Eiffel, Modula-3, Pascal etc. languages.
Usage applications: Widely used in Enterprise Cross-Applications Development, Web Applications.

3. Java



Java is a programming language and a platform. Java is a high level, robust, object-oriented and secure programming language.

Java was developed by Sun Microsystems (which is now the subsidiary of Oracle) in the year 1995. James Gosling is known as the father of Java. Before Java, its name was Oak. Since Oak was already a registered company, so James Gosling and his team changed the Oak name to Java.

Applications of Java

According to Sun, 3 billion devices run Java. There are many devices where java is currently used. Some of them are as follows:
  1. Desktop Applications such as acrobat reader, media player, antivirus, etc.
  2. Web Applications such as irctc.co.in, javatpoint.com, etc.
  3. Enterprise Applications such as banking applications.
  4. Mobile
  5. Embedded System
  6. Smart Card
  7. Robotics
  8. Games, etc.

4. C#



C++ is a general-purpose, case-sensitive, free-form programming language that supports object-oriented, procedural and generic programming.

C++ is a middle-level language, as it encapsulates both high and low-level language features.

Applications of C++

By the help of C++ programming language, we can develop different types of secured and robust applications:
  • Window application
  • Client-Server application
  • Device drivers
  • Embedded firmware etc.
5. Javascript


JavaScript (js) is a light-weight object-oriented programming language that is used by several websites for scripting the webpages. It is an interpreted, full-fledged programming language that enables dynamic interactivity on websites when applied to an HTML document. It was introduced in the year 1995 for adding programs to the webpages in the Netscape Navigator browser. Since then, it has been adopted by all other graphical web browsers. With JavaScript, users can build modern web applications to interact directly without reloading the page every time. The traditional website uses js to provide several forms of interactivity and simplicity.


Although, JavaScript has no connectivity with Java programming language. The name was suggested and provided in the times when Java was gaining popularity in the market. In addition to web browsers, databases such as CouchDB and MongoDB uses JavaScript as their scripting and query language.

Application of JavaScript:
JavaScript is used to create interactive websites. It is mainly used for:
  • Client-side validation,
  • Dynamic drop-down menus,
  • Displaying date and time,
  • Displaying popup windows and dialog boxes (like an alert dialog box, confirm dialog box and prompt dialog box),
  • Displaying clocks etc.

6. PHP


PHP is an open-source, interpreted, and object-oriented scripting language that can be executed at the server-side. PHP is well suited for web development. Therefore, it is used to develop web applications (an application that executes on the server and generates the dynamic page.).

  • Running with PHP is simple
  • Functional and Object-Oriented Programming
  • Large Open Source Software Community
  • A reasonably good system of automation tools available for testing and deploying.
Applications of PHP

Web Applications
Content Management Systems
eCommerce Applications.

7. SQL



SQL was developed at IBM by Donald D. Chamberlin and Raymond F. Boyce. This language was made available publicly in 1979.

Cons:
  • Powerful query language.
  • Optimized for large numbers of table rows.
  • Fast for searching and querying of data.
  • High availability and consistency of data.
  • Fast for retrieving data from multiple tables.
Pros:
  • Difficult to convert data from Objects into database tables
  • It can only run on a single server, so increasing speed means upgrading hardware.
  • As SQL databases run on a single server so in case if the server stop working, then the database shouldn't be accessed.

8. Kotlin



Kotlin is a general-purpose, statically typed, and open-source programming language. It runs on JVM and can be used anywhere Java is used today. It can be used to develop Android apps, server-side apps and much more.

Kotlin was developed by JetBrains team. A project was started in 2010 to develop the language and officially, first released in February 2016. Kotlin was developed under the Apache 2.0 license.


Features of Kotlin

  • Concise: Kotlin reduces writing the extra codes. This makes Kotlin more concise.
  • Null safety: Kotlin is the null safety language. Kotlin aimed to eliminate the NullPointerException (null reference) from the code. Interoperable.
  • Interoperable: Kotlin easily calls the Java code in a natural way as well as Kotlin code can be used by Java.
  • Smart cast: It explicitly typecasts the immutable values and inserts the value in its safe cast automatically.
  • Compilation Time: It has better performance and fast compilation time.
  • Tool-friendly: Kotlin programs are build using the command line as well as any Java IDE.
  • Extension function: Kotlin supports extension functions and extension properties which means it helps to extend the functionality of classes without touching their code.

9. Go programming language



Go language which is also known as golang is developed at Google in 2009 by Robert Griesemer, Ken Thompson, and Rob Pike.
  • Go is a really fast language as it is compiled to machine code
  • Its syntax is small compared to other languages, and it's easy to learn.
  • Offers standard library to provide handy built-in functions for working with primitive types
  • Go makes concurrent programming easy.
Applications: 

Console utilities.
GUI applications.
web applications.


10. Swift


Swift is a general-purpose, multi-paradigm, compiled programming language for developing iOS and OS X tvOS, watchOS applications. It is developed by Apple Inc. It is a powerful and intuitive language that is easy to learn. Swift code is safe, precise and runs very fast.

Swift follows Objective-C runtime library which allows C, Objective-C, C++ and Swift code to run within one program. Swift is built with open source LLVM compiler and included in Xcode since version 6.

Pros:
  • The Swift program codes are near to natural English, so it is easy to read
  • Easy to add new features to this language which makes swift high- level language
  • The language does not have a long code line.
  • Automatic Memory Management feature prevents memory leaks.
Cons:
  • With the continues updating of swift versions of Apple, Swift is somewhat unstable
  • As it is a new programming language the pool of Swift developers is very limited
Usage applications:




The Successful Software Devloper Engineer Journey (2019-2022).

I am 23 years (will turn 24 this March) old Software Engineer (SDE1 - Mobile) in Bangalore. I started my career as an intern in May 2019 whe...