15 year-old needs your advice

13 points by goshakkk ↗ HN
TL;DR

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 ] thread
Forgive my ignorance, but is there an IT community in Belarus?

IMHO, 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! :)

It is. But it's in a very beginning state. And wait, I _don't_ wanna live in here. There are many reasons to not live in here. I don't want to explain each of them.

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.

And now I need some way to keep myself stimulated & interested. Learning something new, contributing to open source. And again, my laziness.
You seem like a smart kid. I would stick to what you're doing. Seek out other geeks and program with them. Contact companies that interest you and offer your services for free. Show them what you've already done. Keep working on your projects...remember, this is your portfolio. So when ever you get lazy, or lose interest in a project, just remember that at the very least you should finish for the sake of this portfolio.

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.

But I don't want to waste my time anymore. Honestly, I have no public projects at all, nor current personal projects. I know I need a good portfolio, but ... I have no idea on what to build, neither for personal/public purposes nor for portfolio. And I'm sad due to that.

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.

"I care about perfect code and perfectness at all."

"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?

"This is a huge problem in open source projects, and you're not alone."

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.

He's saying that if you are a person who likes perfection, why do you not want to join projects to make bad code perfect, like debugging projects.
I think it's really, really hard to dig into somebody's else undocumented & dirty code.

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.

The other day I was at a charity who are really making a difference in my community, but who are lacking much needed IT support. I'm really considering offering my services for free. Not only will I be able to continue developing my skills, but I'll be helping a really great cause.
Fixing bugs isn't sexy, but it's a pretty good place to start to familiarize yourself with the open-source project. As you work through the source code tracking functions, you'll be able to see different parts of the project, and ultimately, places of improvement where none existed before (i.e. unimplemented features you can write).
Well, I also noticed a lack of good bug reports. I don't want to start with projects like Rails, because they're too complex. On another hand minimalistic projects like Sinatra have almost no issues on github. I want something at the middle, not complex, but not so easy as 1-2-3 that have no bugs.

I can't choice a project anyway. Some your suggestions please?

TL;DR;

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!

I go outside sometimes, have both real & internet friends. Well I'm trying to enjoy my life.

But I have many thoughts about my future career and my future at all.

I think most contributions to open source projects come from a necessity, so you can start to create web apps, a todo list, a chat, whatever you want, and eventually when you start to use open source projects (usually gems if you use RoR) to build something you'll probably see some features that would be cool to have.

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 :)

As of creating simple web apps, etc. I said before, last months I can love the idea one day, but I can lose interest on another day. I've also asked some advice on how to stay interested. I think the loss of interest after starting something is one of my biggest problems, yeah :/

Not sure I can money at all...

Alright, thanks for your advice anyway.

Self-discipline is a must, it doesn't matter the project you are working on, the motivation goes down from time to time.

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.

You're already well ahead of where most people who become programmers are at your age. I'd recommend looking for freelance work online and start getting paid work experience as soon as possible, there are a number of freelance sites for this... then you can start looking into how to get a visa to work in another country when you turn 18
Here's my advice:

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.

That sounds nice, and I can't speak from a 40 year old perspective, but around 15 (I was 16) I started using my minimal programming knowledge to earn money and learned a lot about business. It happened because I moved to asia and couldn't play video games online and didn't know what to do with all this free time, I had internet but not fast enough to play games. I ended up stumbling on the world of domain buying/selling and have made a living off it for years because of the work and knowledge I acquired mostly early on back in high school.

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.

Some of those open source organisations who participate in Google Summer of Code have put together interesting projects they would like to see implemented. You have to be 18 to enter the program, but i dont see anyone having a problem with you choosing to run with an idea on your own.

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/

Steve Jobs said that when he was in college, he took a course in calligraphy just for the hell of it, and then later it proved invaluable when he added scalable fonts to the Mac.

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!

You sound like you have an awesome attitude! Maintain that attitude, it'll take you further than any technical skillset will.

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!)

I'm in attempting to learn objc, and iOS dev now, BTW :) As of that app for iPad. Well I have seen Codify yesterday, it looks cool & has a similar idea, However I can't develop for iPad, I have no real iPad, simulator is not the thing I need for development, real device is better.

Thanks for advice though.

Firstly, let me introduce myself. I'm Mridul, 15. I run a micro banking service. I would like to suggest you a few things. First, don't care about jobs. Second, keep on learning. Third, check this http://www.feross.org/none-of-us-knows-what-were-doing/ . Fourth, I can't understand why is everyone in such a rush? Be calm and carry one. Fifth, if you want any further tips, contact me mridul[at]solmri.com
I am 17 and i totally understand you. i started with php too then c#,java and now i am at python and lovin it. i also started when i was young (12 years). i am from india. as much as i want to start working anywhere i understand that education is very important so i'll be trying to get into a good college next year and study cs and will advise you nothing different. best of luck akshay