15 year-old needs your advice
I'm a 15 year-old geek and developer from Belarus (think of it as of Russia). I care about perfect code and perfectness at all.
Let me tell something about me. I started coding when I was, I remember, 9. My first language was PHP (now I hate it though).
Some time later I started learning Python, in the hope to know more, and be more educated. That time I already knew I gonna be a developer. No other way. I kept myself being educated by new and new things about python, and actually about the web and computers. I learned many things, like linux system administration, the power of command line, etc. Most of all, I think I started seeing the life a brand new way.
Then, when I was in a search for something even better than Python (which, honestly speaking, amazed me a lot), I met Ruby. Well, I abandoned python and digger deeper in Ruby. I explored some part of big ruby world. I realized that Ruby is exactly what I want and what my perfect-aware nature need.
I learned Rails, then I learned MongoDB, and so. Pretty neat. Everything seemed cool, but I realize now I think I know many thing, I feel unwillingness to learn something new. I became too lazy and procrastinated, that's true.
But from time to time I feel new energy to learn something new, to make the world better. I do some research on what to build or what open source project to join but I end up with absolutely nothing.
As I told before, I gonna work at some IT company when I reach 18. Well can I ask you to give me some tips?
I doubt what open source project to join. HN suggested me before to help one of my favorite project to become better. I have many favorite projects. Some of them are complex and some of them are easy. While going to projects' pages at github I looked up Issues in a hope to see some feature requests. But most of issues was bug reports or pull requests. I didn't want to work on bugs, I wanted more to add new features. And again I ended up with nothing. Can you give me links to some interesting Ruby open source projects? Or suggest me ideas on what to build?
Another question is how can I minimize distraction and procrastination, get rid of laziness, become more productive and keep myself interested in learning new things and in self-improvement? Because I feel I have much power, but I do nothing with it. I waste it and my time.
Also I have some thoughts on my future. I have several options. First of them is to reach 18, move to San Francisco, Toronto, Vancouver, Melbourne, <any other city name> and work for an IT company. I have several companies in my mind, but most of all I feel desire to work at Github. Another option is to start studying at the university, Berkeley, Stanford, <any other university name> first, and then work for a company. Personally I think education now means nothing for a developer. But I'm wondering if studying is really worthy and can give me some excellent knowledge in Higher Math, AI, etc. So which option should I choose, what's your opinion?
Maybe I also should get rid of my perfectionism?
Thanks in advance.
26 comments
[ 2.5 ms ] story [ 72.5 ms ] threadIMHO, I would go for the Computer Science degree. I didn't, and as a result had to really work to get a foundation in CS theory. I'm still working.
Good luck to you. At least you know what direction you want to go. At 15 I was still trying to decide between computer science, biology, and art! :)
And I don't wanna study at Belarus, because the only thing all the students need in here is degree, but not actually knowledge. It's stupid. (And the quality of local education is very, very low)
I know, but I'm afraid my procrastination and laziness make me degrade from a developer with passion to just another geek, even non-dev.
I'm sorry, I don't have any links to interesting open-source projects.
Keep at it. Sounds like you're on your way to great things.
I remember several years before I was building some new stuff for myself, I explored things, formed my toolbox (which, BTW, changes very often). I felt more self-satisfaction that time, now I feel almost no self-satisfaction. :(
And a though about portfolio doesn't give me a new portion of energy. And doesn't gimme a portion of creativity to generate an idea on what to build.
"While going to projects' pages at github I looked up Issues in a hope to see some feature requests. But most of issues was bug reports or pull requests. I didn't want to work on bugs, I wanted more to add new features."
This is a huge problem in open source projects, and you're not alone. Throngs of developers who get off on clean, functioning code, but then turn their backs when presented with an opportunity to replace ugly and/or broken code with something better. I don't get it. Why the hesitance to engage in the pursuit of what you profess to care about?
Yeah. And because of it I want to see some project with great Issues, or to see some idea on what to build myself.
"Why the hesitance to engage in the pursuit of what you profess to care about?"
Even though my English appeared to be not bad, sorry, but I didn't get this sentence. At all.
And, I think, to start I need to add some feature, learning by the way of implementing it, about how project is organized, and thinking about how can I refactor its code, etc.
I can't choice a project anyway. Some your suggestions please?
You should probably go outside, make friends, enjoy life.
I've been through the exact same steps, PHP > Python > Ruby. I'm glad you got here so young. But, these codes won't give you ideas or purpose or inspiration. They comes from REAL WORLD.
So, Go outside, Make Friends, Enjoy!
But I have many thoughts about my future career and my future at all.
Even some whole open source projects are created because someone needed something and after googled it didn't find it.
If you can make money and/or help someone while you are building those real projects would be awesome, if not, create new things from scratch, and eventually you'll create your open source projects or at least you'll make pull requests because you needed something for that project.
I hope this helps, thanks for sharing your story :)
Not sure I can money at all...
Alright, thanks for your advice anyway.
Anyway I think you are young, really young actually, so keep starting projects, one way to keep them interesting is to see those projects as solutions to problems and if that helps you out with something real that would be perfect (like a to-do lists manager).
If you can't keep working on the same project for too long, well, don't worry, you've learnt english and you are smart enough to know some things at 15 (many proffesional developers didn't know how to program at that age, and even later). So try to study more, learn new things and eventually you'll start to create things.
To be more productive try to exercise, that will help you to be more self-disciplined and it'll give you more energy.
STOP BEING SO GODDAMNED SERIOUS!
You're 15. You will have your entire life to work. The whole point of being 15 is not having to worry about this kind of stuff.
I'm not saying don't work hard, or don't be passionate. I'm saying if you think your future is defined by what you're doing at age 15, think again. Please, please, please, enjoy being young. I know it sucks sometimes. But don't wake up on your 40th birthday and realize you've spent your entire life working. No matter how hard you work, you will never get the chance to be 15 again.
I am not saying don't have fun, but sometimes an early advantage like that opens more doors for the rest of your life and teaches you skills well beyond your age. In fact, I might argue I got to have more fun (living abroad, traveling, buying almost anything my consumerist heart desires) because I actually put in some work really young and it paid off handsomely.
There is also the "Google Code In" aimed at the 13 - 17 age group coming up this November, which involves completing smaller tasks with the help and guidance of mentors again for open source projects. See http://www.google-melange.com/
Moral? Find something cool, something that interests you, something you want to do. There will be time to change the world later; you clearly have the ambition and I'm guessing you have the talent also.
For now, I think it makes sense to just pick something, probably something small, and do it. Whatever you choose, you will learn something -- and you will probably learn something that you weren't expecting!
When you are 18, I definitely recommend you attend as good of a university as you can.
Good luck to you!
As for your dream to work at github: learn objective-c, and make an ipad app that allows you to code on an ipad: pull a project, change code, and make commits back upstream. If you do that well enough, you never know you might get a job offer. And if not, you'll make enough money selling the app to not care ;)
(make a few smaller apps first, though - don't fall into the trap of biting off more than you can chew to start with!)
Thanks for advice though.