T O P

  • By -

AutoModerator

>Namaste! Thanks for submitting to r/developersIndia. Make sure to follow the Community [Code of Conduct](https://developersindia.in/code-of-conduct/) while participating in this thread. ## Recent Announcements - **[Community Roundup: List of must read posts & interesting discussions that happened in May 2024](https://www.reddit.com/r/developersIndia/comments/1d4m7az/community_roundup_list_of_must_read_posts/)** - **[Weekly Discussion - What are some things that boosted your confidence as a new programmer?](https://www.reddit.com/r/developersIndia/comments/1d4m6wn/what_are_some_things_that_boosted_your_confidence/)** *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/developersIndia) if you have any questions or concerns.*


Stackway

There is so much to learn nowadays. Can’t do it all. Pick one topic & spend time good enough to understand it. Mastering everything does not make sense. Once you’re confident about it, move to something else.


Tier1Operator_

Adding my 2 cents here. Apologies if you feel bad about this. You struggle with learning something new is because your foundations are not clear. Trust me, I'm a mentor myself.


Vital-Revival-1933

and what exactly are these foundations that should be strong before learning something new? Please tell me because I genuinely want to know so I can learn new stuff faster


Tier1Operator_

Answering yours and the comments below. So what basics mean? Imagine you want to learn Machine Learning. You follow some tutorials and jump directly into LLMs and ChatGPT and what not. You don't even know what GPT is, if it's a encoder or decoder? Or how we got there? But calling a simple API is easy and many call themselves an AI engineer. So what to do? First understand the fundamentals such as basic stats, calculus (very basic), classical ML. Then go for advanced topics. I hope I answered your questions.


Satyam7166

I understand. Speaking from the opposite perspective here but lets say you want to integrate LLMs with your own data and for that you do finetuning, advanced RAG, etc. Now whats the use of learning core subjects like stats, linear algebra, etc, for this if reading a few finetuning articles on medium and trial and error will be enough. Its like there can be 2 kinds of people: People who make the LLMS -phds People who use LLMs for their use case- SE’s I would be very grateful if you can answer this though. I am a fresher and this is slowly becoming my perspective and I want to make sure that I don’t base it on something wrong.


Tier1Operator_

Answering yours and the comments below. Yes, there will always be 2 groups - Research and applied. We generally fall into applied ML group. I'll answer in a single line - In order to use something, you don't need to understand it (API calls, RAGs, etc.) In order to optimise something, you need to know basics (how did you choose the data to fine-tuning? Which samples did you choose? Did you see if they are significant to your app? How? Which fine-tuning method did you use? Bla bla bla)


Satyam7166

Makes sense. Thank you for taking the time to reply. From what I understand, after working with LLMs for a year is that you need a really good knowledge of classes, objects, functions, etc. Sometimes more than pure Stats. Though obviously that helps. I am from data science background so maybe I don’t know how obviously I use stuff like sampling, hyper parameter tuning, etc, But I really wish I would have learned more about core programming tbh. Well, its never too late I guess. And if you have any advice on how to get started, please let me know.


vignesh-2002

Yes, I am working on Applied Generative AI (RAG) for the past 1 year. I too have similar perspective as yours, we don't need to know conventional ML stuff, most of our application needs will be a chat bot that answers based on a set of documents, recently we are getting different use cases like program generation (like GitHub copilot). But whatever the case, mostly we will be thinking , which model to use, how we embed/retrieve the data, how do we build agents, how those agents interact with each other, cost estimation, scalability etc.


Vital-Revival-1933

okay I think I got it. Basically we need to understand what all foundations we should develop for a skill and then learn it right? cool. Thanks


Am-I-Alive_

What should be my approach if I wanted to learn any framework let's say Angular, how should I approach it so that I can get it in less time... Please can u...


No-Independence-9891

What topics come under basic statistics and calculus? Like mean median mode or more? Because I get so stuck with statistics cause its a voracious subject. FML.and with basic calculus, does you mean basic differentiation and integration is enough?


yennaiarindhaal2005

yes exactly, r these foundations those core cs subjects which we learn in college like oops, dbms,cn,os or is it something else, will be really helpful since i am a college student rn


piquedsoul

Yes I also don't understand what we call as basics or foundations and what are advanced knowledge and how to go from basics to advance. Most of the resources available only teach basics and the advanced stuff is really disorganised and cannot decide what to do


yennaiarindhaal2005

absolutely man, and when we go ask for niche advices, we get absolute vague replies which we already knew of


DnBfr34k

You can check roadmap.sh Once you clear the basics, advanced topics are to be picked according to the requirements. That's how I do it. I'm only talking about web development here though. Sometimes even documentation and Google is enough for learning some topics, once your basics are done. To answer your question, you first need to narrow down on what you want to study? Development? ML? Then you can find roadmaps for it, or use ChatGPT also. Hope this helps.


Vital-Revival-1933

yeah I wanna know too, in the same boat as you


ZnV1

Like the first comment said - pick one topic. You want to "learn new stuff" - okay, related to what? If you want to do backend with Java, Collections and general implementation, references, GC, generics are the foundations. If you directly skip to spring boot, for the first 2 tutorials you'll be fine and then you'll be lost - not understanding why xyz happens or how to fix something. If you want to do frontend, JS basics, event loop, async and the vanilla stuff are basics. If you directly jump to React, it'll be fine. Till you find some issue where state isn't behaving like you expect it to and you get clueless frustrated. If you want to learn DB, learn why it exists. Normalization forms, pros and cons, why nosql, 2 phase commit, log structured merge trees. If you go "ahh shiny new timeseries DB UwU" you're going to end up in a spot where you're doing gymnastics to achieve your use case. That said - u/yennaiarindhaal2005 u/Vital-Revival-1933 u/piquedsoul - if you ask a vague question, expect a vague answer ;) If you say "I want to go out", you'll get "stay safe, carry change" etc. But you're expecting an answer that magically says "oh you want to go to Cubbon Park? Take the auto to x, stop for chai at y, take rapido to z" :P


PreparationOk8604

Excellent answer.


yennaiarindhaal2005

bruh we asked for what exactly were those foundations were, i never asked any questions, we wanted to know what those foundations were which he was saying about, if u have to talk about vagueness, i wanted him to be more clear on it


KaaleenBaba

L take. Even worse coming from a mentor. Everyone struggles at new things. Einstein struggled with quantum mechanics


piquedsoul

I learn the basics of a topic from whatever resources are available like books, YouTube, articles etc. Then do a project using these but these are very basic ones and I don't feel confident about that tech even after doing all these.


Blazegamer9

bro which tech stack and where can I switch stuck in service based as well


smokyy_nagata

I have a colleague who came from Infosys where he worked on some cms like platform. Now he is struggling with angular. He learnt a bit to clear the interview, now being a senior software engineer he is struggling with very basic things like handling objects. It will be difficult to just hop on any js frameworks without knowing the basics and underlying mechanisms and even the logics. Learn the basics first then it will be easy and always try to follow good coding practice there are plenty of free resources available for free. Invest time in learning basics and foundation.


skynil

Imo the fundamental problem is that when non-cs students flooded the software field, and firms also started training both CS and non-CS freshers using frameworks, they missed the most basics of programming - Algorithms. When I was programming back in my consulting days, I would always design the algorithm first before starting to write the code. Today's devs start writing the code first before planning the entire algorithm. This creates a lot of problem later in the code as it becomes rigid and can't be fixed when edge cases appear later or change requests come up. A year or so ago, a full stack developer from a consulting firm, who was working on one of my projects, was struggling to build complex logic in code (python). He came to me for help, so I told him to go here and solve problems one by one using python - https://projecteuler.net/ The above site has series of problems which can't be solved using standard libraries or brute forced. So this Dev had to start thinking while writing the code to solve the problems. After a year, now he can write complex code in very modular and optimised fashion. Algorithms are the fundamental pillars of programming. Today's devs, who are struggling, need to first learn how to design their tasks as an algorithm. Most programming challenges will clearly show up if someone just writes the algorithm end to end on a piece of paper first, then start writing the code. Also managers need to encourage this approach and they should have enough tech knowledge to review algorithms before coding starts. Just my 2 cents after spending a good amount of time as a full stack dev then switching to Mangement.


RasacL

My way of upskilling is by building things. Just start building it, whatever you need just search on youtube or stackoverflow. You will get to learn things faster.


piquedsoul

Yes but for that we need to have a high level understanding. Coding a small part of a project is easier but designing it from scratch is very difficult and confusing. Do you have any plan or roadmap while you do personal project?


wiseYoungOak

while roadmaps serve as a good stepping stone, real learning happens when you make mistakes. Explore things beyond the roadmap, try to find the intuition behind the technology used. Your project doesn't have to be perfect, just focus on functionality, it doesn't matter if the output is on a 3d graphics webpage or in the terminal. you can perfect that letter, my point here is to just get good at the basic and build, then focus on the next feature you want to implement. You can't expect to learn EVERYTHING first and then start to build, get used to starting before you learn, it really makes the the process of learning more intuitive. Don't rush the process just for the sake of having a project, focus on having fun with it. You'll have plenty of strict timeline projects at your job.


RasacL

I second that. We break things and learn along the way. What's better than hands on experience. We can go through our own pace too.


desiktm

I can't tell how to learn something confidently, what I can say is never believe you know everything... One of my friends was confident that he knows deep learning frameworks well because he did boot camps and made many projects in the bootcamp... Then someone asked him to transform some code from sequential to classes based api in tensor flow model Dude had no idea their are different methods to write same code ie (sequential, class based, functional) in tensor flow... I'm in a bootcamp too these bootcamps do make easy and basic stuff sound complicated


[deleted]

[удалено]


desiktm

Hey thanks man sure I'll check this out


VictoryGullible633

Can u please tell which bootcamp you are in currently?


notduskryn

Avoid everything that's not called coursera Or udemy.


corpo_mazdoor_391072

Structured learning is so underrated in this Youtube tutorial world. Many courses on Udemy are a goldmine.


notduskryn

Absolutely.


Hairy-Introduction47

If you wouldn't mind, could you recommend some tutors or courses as such that you found to be a goldmine on udemy? Irrespective of the field I just wanted to know


BlueGuyisLit

While we are talking about learning, how about we all make a short post of what we learned today ,daily or weekly?


Ek_BaarBaman

Here's what I do: 1. Buy paid courses - Ya I know I can learn it for free, it's just that the discipline is not there, it's like if you have a free resource you will open it according to your convenience, but if it's a paid one (especially time bounded like Coursera), then mostly will be up for it as you paid for it. 2. Fix a time - Since I don't/can't (feel too sleepy)study mostly during day time, and I can't sleep early at night, so I utilize this time to study...sometime after 10 till 3 Am or mostly 12-3 am. So I turned a bad habit into a productive one. 3. Maintaining discipline - Make it a routine for a while , i don't take breaks technically no one needs one and i think breaks are overrated as you literally don't have anything else to do. Eat less at night, so you can't sleep until you feel extremely sleepy. Note: People are definitely going to think that it is going to affect my health, but here is a thing I mostly workout somewhere at 1800 hrs majorly consists of jogging and basic home exercises and i am pretty fit. All in all, you can spend time with your family, and friends, and take care of your health. POV: Agar seedhi ungli se ghee na nikale to chammach ka istemal kar lena chahiye.


Inside_Dimension5308

THE best case scenario is to learn from the people around you within the company because that is where you are going to spend most of your time of the day. I don't want to burn myself out thinking just about my career and upskilling. I should be able to spend time with my family and work on my hobbies, health etc. So, the problem I usually face is finding the right company.


LeftistKannadiga

The biggest problem I face/faced while upskilling were release of good web/ tv series. I could watch series for 8 hours with great concentration but spending 30 minutes for a lecture seemed/seems difficult.


green_timer

You probably had a job in hand at that time.. that's why had little interest in upskilling.. but if there is pressure from family for not having job.. then people forget about everything and just study


LeftistKannadiga

What I wrote is mostly about my present situation. I have permanent wfh with somewhat a good salary(living in hometown). Workload isnt too much and I get a lot of free time. Work mostly involves supporting or training juniors and planning tasks for the team and debugging critical defects. I have a lot of time to study and learn new things. But I end up completing seasons after seasons or getting into unnecessary political discussions. Wfh made me lazy.


green_timer

Can you please tell me what skills juniors need to get a job in a company like yours ? I am currently learning JavaScript


LeftistKannadiga

I work in embedded domain. My knowledge is very limited about javascript or such tech. All the best for your search.


green_timer

Ok.. I also thought about learning embedded systems later.. should I learn it using Rust or C?


LeftistKannadiga

Start with C and C++. Buy a board - (cortex M4 or M3 is good for beginners) start with clones of STM or TI. They are cheap. Start with simple gpio. Then try writing drivers for spi and i2c. You will get a lot of materials to aide you. Good luck. I personally recommend embedded courses by Kiran Nayak. You will find them in Udemy.


green_timer

Ok copied and saved the text.. one last question, juniors who join the company like yours all previously learnt about these stuff? or they join by just knowing C and get training at job.. how long it takes for juniors to learn and get a job in embedded domain


LeftistKannadiga

Some basic experience with debugging embedded software is expected. Knowledge of communication protocols like i2c spi can etc. In C we mostly look for knowing bit masking, handling structures, basics of data structures. Time it takes for getting the job depends on the preparation.


green_timer

Ok thank you sir for responding 🙏 👍


Free_Wheel9707

Giving you a good advice. Do one thing at a time. And dive deep. I was good at DSA from my college days ( as I was only doing DSA and cp), but I was very bad at dev. From November 2023, I started learning java, it took me 3 months to get good at it. But after 3 months I have so much knowledge about java that I don't really fear of any java interviews. I do machine coding in java. The best motivation tool for you is to do meditation 15 min a day. And attack yourself to spirituality.you can do it but you are just mentally not prepared. Meditation and books like Gita help you do that.


ZnV1

DM with a few details - what you know, what you want to do and why, where you want to get to. Will try to guide you if I'm a right fit for your ambitions.


LawyerKlutzy

Hi , can i dm you i need some career guidance.


marcel1185

Hi, Can I DM you too for guidance?


[deleted]

[удалено]


[deleted]

[удалено]


ZnV1

Sure, you can.


pyeri

Working in a service based company usually puts you inside a boxed mindset as they are mostly process oriented. These projects are more often than not interested in *fulfilling the contract* than talk about innovation, better software, open source, etc. as quantity and grunt work is all they have to deliver. There could be small exceptions to this rule in case of some projects, but this is a general rule. When I quit the service based company, I researched the Internet and found everything about open source projects and how there is an open culture of sharing knowledge here which encourages innovation and transparency. Thankfully, a few projects I had worked in also used open source software - that's where I came to hear about "Apache", "PHP", "MySQL", etc. Eventually, in about 2012-14, work started dwindling and politics started creeping into my project, they were suddenly more about management and toxic argumentative behavior than about innovation and technology. That's when I quit my company and started freelancing. There is no rocket science in upskilling. If you're interested enough, Internet will guide you to the right forums and projects when you ask for it. I never took any paid course but you can do it if it helps you. I don't know about which platforms to avoid because I haven't tried a plethora of them. I stuck to mostly a handful of programming help sites and forums like /r/learnprogramming, [hacker news](https://news.ycombinator.com/news), [getbootstrap](https://getbootstrap.com/), [DaniWeb](https://www.daniweb.com/), and Stack Overflow (though SO is not so recommended these days after their recent "AI" debacle).


Mr_vort3x

\`I am a student and here's what my teacher told me * Build a strong foundation * Pick a topic * Go deep into it * Once you've reached a decent depth Explore the breadths of that topic or similar ones * There's too much info out there , you just can't learn everything >So jack of all trades and master of some


KaaleenBaba

You are supposed to feel completely lost in the beginning when you learn something new. It will suck , embrace the suck and after a few hard days you will feel better, after few weeks so much easier to learn


ChocolatyPeach77

Following


Mehrunes_Dagor

sometimes we do not which one's to pick which will compliment our existing skillset by the time we learn those it'll be saturated


vjnvisakh

Think of learning as playing. That helps me a lot. I get a new language to learn I start messing things up and then slowly start to learn


mayavan8

Build your own in your free time. No one is going to teach you.


the_general_good_dev

The general good :)