3 ms·
How people start developing something impressive
Hi, everyone
I hope you are doing well. So, I am currently a student and you know, I am impressed by a lot of developers here. But, that is not enough, I want to become one of them, I want to contribute to the world and make valuable changes.
But, problem is, I am always stuck, overwhelmed and overthink, care too much about doing it right.
I was always thinking, how people like Linus Torvalds started their projects, like how did he come up with Linux, Git. What was their first lines of code, how they planned, brainstormed it. Some people build frameworks for backend, front end, tools being written in Rust.
Then I tried to read their codebase, but that made me overwhelmed even more, HOW? (po reference from kung fu panda), how these people write so much code and make incredible stuff.
Thank you for your attention!
- turtleyacht 2y agoProjects and performance come out of practice and training. Each attempt was repeated and refined until it matched their inner style [1]. And they never gave up until then. Sure, it gets boring. Mix it up; be silly; take breaks. Try a different perspective; teach others. Sometimes it only makes sense with age. [1] https://www.goodreads.com/quotes/309485-nobody-tells-this-to-people-who-are-beginners-i-wish https://www.goodreads.com/quotes/309485-nobody-tells-this-to...
- yetihehe 2y ago> And they never gave up until then. Talent is simply "I will not give up until the results satisfy me". I learned to play one complicated song in one silly social game. People compliment me that I have talent. I don't. I just remember how to play this one complicated song because I liked it and I learned to play it over about 100 hours of trying again and again over half a year. Only two things are needed: 1. Wanting to do it or learn it, plus some source material. 2. Not giving up for at least 100 hours (non-continuous) and trying to be better, no matter how many times you need to repeat it.
- dauletkhan 2y agounderstood, thank your answers and quote. That really clarified what I feel
- yetihehe 2y ago> how these people write so much code and make incredible stuff. They like writing code and making some small stuff for fun. So they write some code, see it maybe has potential and keep writing code. If it has no potential, they drop it happy that they got some experience and start doing next thing. Repeat it with thousands of hobbyists and some of them are bound to have great success. But you need to like doing the tinkering. It's not like they wake up one day and say "let's write the biggest and most popular operating system in the world". They start with "I wrote a small interesting thing, but I don't think it will be big, maybe you will find it interesting"[1]. If you don't know how to start something big, start small on something interesting to you and maybe it will be useful and share with people. When you know how to start some small things, then go to bigger things. > like how did he come up with Linux, Git. Linux - he had some books and materials about how to write operating systems, he wanted to try it himself, he sit and coded what he feels would be right. Maybe he had some outline of "what OS needs to have" in his head or a small paper page on his desk. Git - the same, but he had idea for better control version system after having experience with all the other systems. It's hard to invent entirely new systems that will actually be good, but it looks like you actually need to know all the other approaches and willing to try something new (invention). > What was their first lines of code, how they planned, brainstormed it. Typically you know what needs to be done, have some outline from knowing similar systems/programs/approaches and you fill in the blanks in the way you think will be better. If you don't know what will be better - find something that you know how to improve. If you don't know how to improve anything - improve yourself first, read and try reimplementing some tools yourself, so that you gain experience. You will have to throw out a lot of failed codebases, but it's normal for any self-improvement path in any endeavour, programming or crafts. Also you should read FAQ[2] and add [Ask HN] to front of title. [1] https://en.wikipedia.org/wiki/History_of_Linux#The_creation_of_Linux https://en.wikipedia.org/wiki/History_of_Linux#The_creation_... [2] https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html
- dauletkhan 2y agothank you!! i now have idea on what I want to work and how i will start with it. > Also you should read FAQ[2] and add [Ask HN] to front of title. understood.