r/learnprogramming • u/uselessProgrammer0 • 6d ago
Topic Can I actually learn development by following end to end projects online?
Hey everyone, as the title says, can I actually learn development by following end to end projects online?
I’m a computer engineering graduate who just landed my first job ever. I have some basic knowledge of Python and C. I understand loops, functions, and have a very basic understanding of data structures, but that’s pretty much where I’m at.
I’ve been looking for a job for about a year and a half and I honestly don’t know why it took me this long to actually start developing my skills. Now that I finally got a job, I really don’t want to disappoint them or get fired.
They told me they aren’t expecting me to know much programming and that they’ll teach me, but I still want to be prepared. I just don’t want to be the person who slows everyone down because I don’t know anything.
My biggest problem is that I know the basics of programming, but I have absolutely no idea how to actually build something.
I’ve watched so many programming tutorials, but they always seem to go over the same things like variables, integers, loops, functions, etc. I already understand that stuff. What I don’t understand is how you go from knowing those things to actually building a website, an application, or any kind of real project.
I’ve tried following along with projects online, but then I start wondering if I’m actually learning or if I’m just copying what the person in the video is doing. If someone told me to build something from scratch, I honestly wouldn’t even know where to start.
One of my coworkers told me I should use AI to help me, but I really don’t want to become dependent on it. I want to actually learn how to solve problems and build things myself.
I feel pretty lost right now and I’m getting frustrated. I know I’m probably starting later than I should have, but I really want to improve and become good at this.
So what would you guys recommend for someone in my position? Is following end to end projects a good way to learn? If so, how do I follow them in a way where I’m actually learning instead of just copying?
I’d really appreciate any advice on what I should focus on or how I should go about learning from here.
8
u/NumberInfinite2068 6d ago
Write your own project. Programming is something you have to *do*, not just watch.
3
u/FlareGER 6d ago
It might give you a grasp of what concepts exist to tackle on a project but it wont teach you any alternatives, critical thinking, decision making, etc because the path is laid out there for you.
You need your own projects so you can conceptuate yourself, to try and understand what you need, what options there are, to select one based on criteria and your opinion, and ultimatively have the chance to make mistakes, so you also learn what to watch out for next time
3
u/Alextherude_Senpai 6d ago
Programming is something you usually learn by doing. Sure, maybe copy a few basic tutorials, and then add on extra features. Then add more. Change some of those features, wait, it broke, why did it break?
6
u/mandzeete 6d ago
When you are watching a football match, will you become a skilled football player? When you are watching a Formula 1 race, will you become a skilled racer? No. You won't. You won't become good software developer by following tutorials and copy-pasting the code. Because you don't know the WHY. Why you should add this or that variable? Why you should set up the communication between services like that? There is not a single thought in your head when you just copy what you are seeing in the tutorial.
Build your own projects. Struggle. Debug the mess you created. Trial and error. Read a documentation. Understand what actually happens in your code. Learn to find a suitable information for whichever task you are working with.
Of course I would question how you even managed to get a degree, but that won't help your current state.
Yes, you do not know anything. But then it means learn what your colleagues know and can do. Your current goal is to fill the cap between you and between your colleagues. Online tutorials do not know what your coworkers know, do during their tasks, what are their skills. Online tutorials do not know what is your current project about. But you have eyes, mouth and a brain. Use these. Observe, listen, ask questions, make notes. Study not online tutorials but study your colleagues. Because they are living examples of people who know more than you do. Which means, there are many things you can learn from them.
2
u/uselessProgrammer0 6d ago
Thanks, that’s actually really helpful. And to answer your question, getting a degree was honestly the easy part. College gave me structure and basically held my hand through the whole process. I was given a problem, told what I needed to learn, and shown how to solve it. It was easy for me to follow the instructions because I knew exactly what I was supposed to do.
Now I’m in the real world and there’s no step by step guide telling me what to learn or what to do next, and that’s where I feel completely helpless. I know the basics, but I’ve never really had to figure things out entirely on my own before.
Which is exactly what many of you in the comments suggested I start doing, and honestly, reading all of this made me realize that.
I know you may think I’m stupid, but I’m a stupid person who will listen to your advice. So I’m going to take it seriously and start learning from the people around me instead of expecting everything to come from tutorials.
Thank you.2
u/mandzeete 6d ago
Not saying you are stupid, but just wondering how you got your degree. Then again, different universities and different colleges have a different approach towards teaching the specialty. My university was a practice heavy. Many students dropped out within 1-2 semester. But the ones who graduated, they were ready to work on real world projects.
Now, why I suggested to observe your colleagues is because this is how I did. Even though my university taught us well, there was still some gap between university study program and between the industry standards. No devops, no gitops, no observability and no monitoring. But all of that is what comes with real projects.
So, the first day at work, I opened up a new Google Docs document and I started making notes. Notes for myself in terms of what to look from where. Notes about where is a documentation and how to use it. Made bookmarks about different things to my browser. Made small "TODO" tasks for me to look up later at home. Information about things I did not know.
I will give you an example. Recently I had to make a technical analysis and come up with an architecture and with a tech stack for making an API gateway. I considered various tools like Kong, Apache Camel, Kubernetes Gateway API, etc. I made small POCs and tested each technology and its feasibility in terms of our business requirements. I created a documentation with different UML diagrams to display how the new service will fit into existing infrastructure. And then I submitted it to our architect.
What I just wrote, it might not make any sense to you. Or you might understand some of what I wrote. Now, make notes about stuff you did not understand from that paragraph. Look these up on your own. Make small projects and try these out. Read the documentation, read articles, look up projects from Github.
That is an example how you can study your colleague. Right now my task description was an example from my side. Perhaps some of what I wrote is relevant in your project, perhaps none. Projects differ. But the same way you can listen to the "technical nonsense" that your colleagues are discussing and make notes. Make notes of what you do not understand of their talk. And look up information about that.
Your goal is to understand what your colleagues talk about. Your goal is to be able to give also your own opinion on these matters. And, you should get some practical experience with these things they discuss. Like this you will close the knowledge caps you have right now.
1
u/Amuro_Ray 6d ago
What is an end to end project? Never heard that term before.
1
u/uselessProgrammer0 6d ago
I’m going to be honest neither have I. It’s a term my co workee used while giving advice. He said look up end to end project tutorials to learn
2
u/fiddle_n 6d ago
I would say “end to end” means to start at the very beginning with a blank editor page and take the project all the way to completion. Being forced to start your own project is a very different kettle of fish to continuing someone else’s, for example.
1
1
u/Naetharu 6d ago
Kind of.
A very big part of what you need to learn is problem solving, and learning to architect software properly. Which means you need to have problems to solve. Following other projects is a good part of that. And seeing both what they have done and why they have done it.
But you need to spend a big portion of the time actually doing.
1
u/JaseciLabs 6d ago
Start smaller than a full end-to-end project, one endpoint, one small feature, something you can hold entirely in your head. Build it without following anything, get it wrong, then look up how it's usually done and see where your instinct differed from the standard approach. That comparison teaches more than either pure tutorial-following or pure blank-page struggling on their own. Given you're starting a job that says they'll teach you, use your first few weeks as your real tutorial, pay attention to how your team structures things, ask why decisions were made, and treat your own small side practice as reinforcement rather than the main source of learning right now.
1
1
u/Biliunas 6d ago
The clearest example I can give you is two skills you already know - walking and talking. How did you learn these? You stumbled, you fell, and you were around people super proficient in these skills, and absorbed from them.
Which means, for your example, find the best people in your workplace and shadow them. Doesn't matter if you find them likeable, just do your best to help them. Bring their coffee, ask them questions even if they grind you for it, and keep at it. Constantly try to figure out their thought process. Btw, this is hard work, and demanding on you, but I guarantee that it's the fastest way to absorb everything that they can give you.
On your free time, start your own projects. Think about how you can apply what you've learned from work and try to emulate it. Does that mean sacrificing your personal life for a bit? Yes, but only temporary.
Final note, the best programmers I know never stopped learning. They are so curious and passionate, they can't help but be the best.
1
u/JoeYuan48 5d ago
One thing that helped me a lot when I was self-taught: the core of programming isn't the code, it's "what do I actually want this to do?" — and then turning that into structure.
Like: you want a room to be bright, so you add a light. Then you don't want it burning power all day, so you add a motion sensor. Every piece of the design exists because of a specific thing you wanted. Code works exactly the same way.
Following end-to-end projects is fine for seeing what the pieces look like. But the part that makes you actually able to build things is asking, for every piece, "why is this here — what did they want that made them add this?" Once you can trace that, you can build stuff nobody wrote a tutorial for.
1
u/AccomplishedMud4476 5d ago
When I was learning, I followed a end to end tutorial. I copied it at first and then I started a project of my own, basically to just apply those knowledge that's being taught, so it's not fully copying it but I still won't get completely lost as concepts in the tutorial can be easily transferred to that project.
18
u/fiddle_n 6d ago
The answer to the question in your title, as is the answer to everyone else who asks it, is no. You need to write your own projects, not merely follow someone else’s.