Inclusive software engineering
3 subscribers
6 links
This channel is made so that anyone can take up software engineering. Even if they are non-engineers who don't have basic math knowledge but want to learn basic math and software engineering fundamentals. Stay tuned for actionable tips and guidance
Download Telegram
Channel photo updated
Welcome to this telegram channel!
The main aim of this telegram channel is to help non-engineers become software engineers. I know that anyone can become a great software engineer, regardless. All you need is:
1. Foundations
2. Discipline/Consistency
3. Guidance

This telegram channel is aimed to help you give guidance on the first two points. Stay tuned for more updates.
If you are a beginner who is looking to learn programming, then I would suggest that whatever tutorial you pick, it should also cover running the language in a well know code editor like Visual studio code. These days, learning how to work efficiently with a code editor is very important skill to have. It boosts your productivity. What you can do it in 5 hours, you can complete in 2 hours if you use the code editor right!

So, action item: Learn a programming language like C++ along with a code editor like Visual studio code via a tutorial. Search "C++ tutorial with visual studio code".

An example video course: https://www.youtube.com/watch?v=-TkoO8Z07hI
Hi everyone, I will be sharing posts on telegram along with action items. Aim is that if you subscribe to this channel, then you will get actionable tips in this channel that you can apply on your own. So stay tuned for more!
Do you want to know how to follow tutorials better?

Here are some 2 tips that you can follow to improve your learning experience while following tutorials or courses.

Tip #1: Don't just listen and see, follow the tutorial instructor

If you have time to follow the instructor, then definitely follow him/her. This will give you better insights and learning on how to apply what you are just learning. The point is to just follow EXACTLY what he/she does.


Tip #2: Innovate after a video or a section is over

Once you have followed the tutorial well, either by listening or preferably doing it along with the instructor, it's time to do it yourself. Think of what modifications you can make. It can be as simple as changing the value of a variable and running the code and as complex as changing an entire class structure. The point is to innovate and do something that the instructor didn't do with the knowledge that you learned. This will not only improve your coding skills but will also improve your creativity and in a very small way also train you to use software engineering skills for your use case. Which is exactly what companies pay for these days.

Did you find these tips useful? If so then hit the like button and subscribe to this channel if you haven't already :)
Do you want to know which programming language you should start learning as a beginner?

Starting with the right kind of programming language can literally be the ace in the hole. The thing that can fast track your programming journey and help you land jobs and be very good at adapting changes in programming too. And money only goes to people who are good at adapting to this industry.

Then consider the following:

1. Will learning the programming language enable me to learn other programming languages more quickly?
A lot of people just start directly learning something like HTML, CSS, or even Javascript as their first programming languages. That is fine, but in this day and age and in this industry, versatility is the key. You need to be jack in many things, or capable of being jack in many things and master what is required.

Why? Because you don't know when you have to work with something that you never even dreamt of.

Personally, I have worked with Python in AI research, then jumped to pure Python programming and development, but then I made a switch to full-stack development. In full stack development, I was working with C#, and then after 1.5 years, I had to switch to Java. I have seen more programming languages than I have worked on big projects frankly. And yet I was able to keep up.

Why? Because my first programming language experience allowed me to pick other programming languages more quickly. Read the post till the end where I will disclose which programming language helped me learn other programming languages.

2. Is my choice of first programming language popular? Or enable me to learn popular programming languages?
Now this is a very crucial question. These days three of the most popular programming languages are: Java, Python and Javascript. Due to this, many people start taking up Javascript. Now is Javascript a good choice for a beginner? My honest answer: NO, PLEASE NO.

Why am I giving you such a strong answer? Is it because I hate this programming language? NO.

Then why? Because Javascript is good at its place but isn't a great programming language for a beginner in my opinion. It will not enable you to truly understand how programming languages work and how to best work with them. And it will confuse you when you start working with a programming language like Java or C++. So, in my opinion, if your choice of programming language isn't that popular then its fine. It should be decently popular and allow you to learn other programming languages.

Some decently popular programming languages are: C++, C#

So, based on these two questions, my advice for absolute beginners in programming is to start with C++. Not saying you have to become advanced with it, but to the point where you can work with objects and templates(don't worry if you don't know these terms yet, its okay).

My first programming language was C++. And after that, I never felt any resistance to learn other programming languages. Why? Because learning and practicing basics of C++ will enable you to work with other object oriented programming languages like C# and Java, and also enable you to easily learn simpler programming languages like Python and Javascript. No programming language would feel difficult after learning C++.

If you liked this post, please share some love by reacting or commenting on how this helped you. Also, stay tuned for more!
👍1
FREE EBOOK GIVEAWAY

I have worked with Python in AI research and got a research paper published in Reinforcement learning, the very thing that drives ChatGPT, have contributed to an amazing pure Python based open-source project, I have been working as a full stack developers for 2+ years now in the best companies in the world and have been getting offers from other companies from time and time again! (Check my linkedIn profile if you don't believe me!)

Why am I sharing all this? Because I want to share why have I been fortunate to gain this kind of experience and skill. It is because of three things: Foundations, Consistency and Practice. And I have culminated all my knowledge and tips in one eBook.

If you are a non-engineer or a non-CS graduate who is looking to enter this field. And not only get a job but become so desirable in the market that offers come to you, then I have an eBook ready for you.

If you want to get this eBook
, then all you have to do is give just 5 minutes of your time to do the following:
1. Subscribe to my YouTube channel (link here).
2. Subscribe to this telegram channel.
3. Fill this survey form (link here).
4. Connect with me on LinkedIn (link here) and share me the screenshots of you following me on YouTube and Telegram and that you have filled the google form.

Do the above 4 steps, which will hardly take less than 5 minutes, and the eBook will be yours!!

I am sure that if anyone, and I repeat anyone, diligently and consistently follows the eBook well, then they will be able to not only become good in software engineering, but also get a job and eventually have job offers coming at them :)

SO, WHAT ARE YOU WAITING FOR? In just few clicks, you can get the breakthrough in this field that you want! Hurry now :D
Inclusive software engineering pinned «FREE EBOOK GIVEAWAY I have worked with Python in AI research and got a research paper published in Reinforcement learning, the very thing that drives ChatGPT, have contributed to an amazing pure Python based open-source project, I have been working as a full…»
🚀 Discover the Power of Algorithms and Data Structures! 💻🔍

Hey there! As a beginner in software engineering, it's time to unlock the secrets of algorithms and data structures. 🌟 These foundational skills are crucial for efficient, scalable, and elegant code. Embrace the challenge, explore their significance, and unleash your potential as a problem-solving wizard! 💪💡

Dive into the algorithms and data structures world. You can do the following for getting into these topics:

1. Theory: First you have to go through the theory. There are many resources out there for algorithms and data structures. But here is one of the classic and one of the most effective playlist https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb

2. Practice: After you have gotten some hold over theory or let's say you are learning theory but you also want to practice too, then you can look for the websites like: hackerrank, leetcode, codechef, geeksforgeeks
My advice on how to start your programming journey is:
1. Learn a programming language like C++ or Java(my vote to C++) as your first or one of the first programming languages.
2. Actually practice using the choice of your programming language chosen in step 1. By practice, I mean get some problems that get you to use the programming concepts that you learned. Practice is the key in this field.

This is what I suggest to my mentees as well. Because in the short run you may learn Python easily I agree. But, in the long run, its much more advantageous to have an initial experience with a programming language like C++ or Java.
Are you learning something new in coding? Instead of just starting with a course or working on a project immediately, its more advantageous to set your goals.

How to set your goals?
1. Write down your goals
2. Be very specific and realistic with your goals
3. Keep reminding yourself of your goals every time before you start working on them.

Doing the above will increase your chances of completing your goals that you set for yourself. Because you are making your mind see that these goals are important.

Lets see some examples.

Examples of non specific and unrealistic goals:
1. I will learn all of Python: This goal is not specific
2. I have no experience with programming. I will learn programming in one month only and get a job: This is unrealistic.

Examples of specific and realistic goals:
1. I will start learning math foundations for software engineering till the main topics of permutations and combinations and logarithms in 6 months time: Specific and realistic goal
2. I will learn programming from scratch, get experience with building software and get a job in this sector within 2 years time: Specific and realistic
3. I will learn Python programming with 100 assignments and learn how to build basic backend infrastructure in 6 months time: Specific and realistic.

I hope you liked this advice. If you did, then like this message and subscribe to this channel if not done already!
If you are beginning in this journey to become a software engineer, and lets say that you are a non engineer, then the below are the two things that you may lack:
1. Clarity on how to start
2. Math foundations

You have to get good at both of them to have good foundations. So that you become a great software developer in future!

I will add on both the points in future posts. Stay tuned!

P.S: This is a short excerpt from my upcoming book.
What is open source?

Open source refers to a specific approach to software development where the source code of a program is made freely available to the public. This means that anyone can view, modify, and distribute the code as per the terms of the open source license.

Contributing to open source not only improves your skills as a developer, as you get to work with great developers, but your profile also improves and becomes desirable in the marketplace.
I have met two people in this industry who switched to IT.
1. One of them didn’t focus on the foundations and just got in for the sake of it. He usually gets stuck at many places when given work outside his direct expertise
2. One of them focused on learning foundations while switching, along with learning specific skills. He is very adaptable in the job and often helps people get unstuck.

Now, which of the two do you want to be? It’s obvious, the one who has strong foundations. Because flexibility and long term stability is greater than just knowing a skill in this field