Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I'm 20 and I need advice.
70 points by meric on June 17, 2010 | hide | past | favorite | 96 comments
If you were 20 years old today, what would you be doing?

I am 20. My goal is to amass $1m (Australian) by 35 so I can do some substantial things later in life (I've got an idea for a business of maintaining water wells built by various charities in African villages and charging the US government for it.). I could do this by getting a high paying job within 5 years and getting above average returns investing $50,000 a year. I could also do this by building a successful small business and reaping a high income or even gasp selling that business for $1 million.

I imagined that if I was 35, and I became 20 again and asked myself what I would be doing... I'd be saving money, learning how to invest in stocks, a girlfriend, learning to drive, finding a part time IT job, building random stuff and trying my hand at making a mini-business.

I've saved up several thousand dollars which I've invested into various stocks (and got lucky :] ). I have a girlfriend, and I make stuff in my spare time. All I think I need to do now is learn to drive and get a job. Driving lessons cost money so I'll do that when I get an IT job first or some other form of income.

The problem is, I can't find a job.

I've been reading lately about how IT-related university degrees are worthless if you want a job in IT... Either you've been putting effort into learning programming so you've become proficient and easily become hired, or you don't.

I'm still in university studying software engineering / commerce (3rd of 5 years). I've applied for many (every) programmer job that seems remotely doable for me, but besides a telephone interview for a internship and an email or two I haven't gotten anything back.

I am alone.

In my software engineering degree year, there are people of various degrees of competency. There are some who are so good they already have jobs in IT companies before they entered university. There are average people who seem to get 60-70% in their assignments... but wouldn't be able to start a proper project for real. Then there are students who copy and paste code instead of using for loops and still managing to pass.

The smartest people (ones with jobs already) seem to be stuck ups and they talk about students not in their clique as if they're lower life forms, so I haven't bothered making friends with them. My friends in uni are of the second group... good enough to do the degree but not quite people I'd choose to work with on projects with.

I feel like I'm one of a kind... I get full marks for most of my assessments but I know nowhere near as much as the smartest students. They each have slick personal websites and portfolios of past projects and stuff, know the latest version control tools, can solve homework problems in seconds, etc. I have past projects too but not of the type I'd show to people....

I spent most of my free time programming things. My latest 'project' is a site for trading used textbooks, (I needed one and IMO the existing ones sucked). This is my most ambitious to date. I keep looking for people in my university to work with me but students seem to either be not good enough, or they're too good for me : /. I did find a acquaintance yesterday who was doing a design degree offering to do a landing page for me, though. Progress is chugging along but I have no one to guide me. I've razed the project and rebuilt it half a dozen times after finding some fatal architectural flaw and recently I've just found out using tables to layout pages is a bad thing : / . Every time this happens I get some what discouraged however I push on because I still need to make an extra $1000 by the end of the year to spend * (It doesn't look like I'll make it). If this site becomes popular enough I was thinking I could charge for extra services like bolding a textbook listing, or sticky-ing it for a short period of time; Ads is also an option.

I'm not getting anywhere.

I'm learning a lot the past two years but it seems like I'll never quite get good enough to be doing 'real work'. It's like entering the ocean to escape a deserted island; the island becomes smaller and smaller behind you while in front of you is the big blue ocean with nothing but water in sight... I keep learning stuff but there's always more that's "must-know knowledge to become good programmer". The latest one of these this year is "testing".

No, I'm not going back to work in McDonalds. I've worked there for three years and frankly I'm sick of dealing with the stress of waking up in wee hours and coming back home past midnight, not to mention the substantially lower academic grades that'll come with spending so much energy making burgers.

I guess all I'm looking for is some re-assurance that I'm doing the right things; I feel I'm not making much progress anymore even if I logically believe it'll be fine eventually as long as I keep putting effort in... Let me go back to my original topic: If you were 20 years old today, what would you be doing?

* I don't dip into my savings because its my retirement fund - it's for "learning how to invest in stocks" and buying capital goods like houses and computers only.... at least until I'm 35. To spend an extra $1000, I have to earn it, not just sleep waiting for stocks to grow.

And that's my life story so far.




In regards to your philanthropic dreams, the following quote came to mind:

"Many people with jobs have a fantasy about all the amazing things they would do if they didn’t need to work. In reality, if they had the drive and commitment to do actually do those things, they wouldn’t let a job get in the way."

- Paul Buchheit

-------------------------

I think that relates to the rest of your post that way. I'm also 20 and at one time I had envisioned a future where a lot of money was going to translate into success. I've learned that it's not like that at all.

Money (billions, millions, hundreds of thousands, etc) is a consequence of success. It seems, from what I've read, that you want an "IT job" but really don't care what it is. You merely glance over the idea of doing your own product. That's what you should focus on...you have the skills to build something yourself so go out there and do it. You will literally be changing the world...and your chance of making money will significantly increase.


Your quote reminds me of this one:

“People are always blaming their circumstances for what they are. I don't believe in circumstances. The people who get on in this world are the people who get up and look for the circumstances they want, and if they can't find them, make them” -- George Bernard Shaw.

---

They are both posted on my wall.


You shouldn't take life so seriously, you are putting too much pressure on you. Take your time, learn more about things you want to be good at. If you need money, borrow things instead of buying them and live simply. Don't try to amass $1m, try $5 first. The first money you'll get for your project feel really great already. $1m is not a goal that you can act on to make it happens right now.

If you can't get people to work with you, may be you can get to work with them. Great people may need someone to help with some projects. Be indulgent, help others, if they have lesser capacity than you do (on some things, they'll be better than you on other things ).

The trading textbook website is a good idea. I can feel how this idea came from your experience, and trying to solve an issue for yourselves is a good way to start a project.


If you were 20 years old today, what would you be doing?

Knowing what I know now? Fixing my mental hangups.

I can't really tell from one post, but possible hangups in your post include fear that you can't do something you want if you don't have a big bankroll, fear that you aren't doing enough or accomplishing things fast enough, fear that you aren't going in the right direction, worry that you are inherently unhirable, worry that you aren't good enough, worry that your past work isn't good enough, worry that your present work isn't good enough / fear of showing it in an unfinished state, fear that you don't know enough, desire for external reassurance before you can feel assured.

Anyway, things like this are all deeply in your head, and fixing them would go a long way to the confidence that wallflower describes.

I mean, that's the sort of thing I'm trying to do to myself now, and that's the sort of thing I really really would have benefitted from when I was 20. Would (I think) have made a lot of difference to the intervening years.


Add to that the fear of social rejection by people who you perceive to think they are better than you.


Agreed with this. Hang around with the people that you think are better than you and you'll either learn from them or realise they're not that great.


You seem to understand all my worries. :)


I only reflected your post back to you, but I guess I'm learning what to look for. Probably helps that I share a lot of them :P

You don't need to feel afraid of this, and worried about that, and inferior or unworthy because of the other. These are learned mental behaviours - not everyone has them, some people can do things we are afraid of without fear because they haven't learned some arbitrary and overly cautious fear link. And they are hackable, fixable behaviours, I think.

Wouldn't you like to be happy to show off your current project and eager to ask for advice, enthusiastic and unafraid? Wouldn't you like to feel good enough even if you sit around doing nothing? Do you think cats wander around feeling inferior because they eat food given to them and don't work? Wouldn't you like to stop worrying about going in the wrong direction and needing reassurance?

Can you see how, if you changed these sorts of things, you would do things differently and your approach to the next ten years of life would change a lot? That's why I put it as something to work on sooner rather than later in my imaginary being 20 again reply.

It's not easy ... but it's not difficult because it's a lot of effort, it's difficult because it's mind twisting and emotional. And because there's a lot of ra-ra just-do-it useless self-help fluff all over the place that needs to be avoided along the way.


I think you've posed the exact hangups I have been trying to identify for so long. In the same message you even respond exactly as I would and label them as "hackable and fixable". I'm even more floored that you can so easily assert the barriers and noise that is so obstructive to the solution. I could not be more in sync with you.

All of this indicates to me that your years of experience have taken you down a similar, if not, the exact same path that I face ahead of me (Age: 23). Having identified and explored so much of what I'm experiencing so quickly and easily (in several paragraphs), I'm curious to know if you have a further understanding of the hacking and fixing? If any exist, I would hate to struggle for extended periods of time exploring my own. I'm already 3 years behind!


Don't put me on a pedestal or anything; my so called "years of experience" cover my first decade of adulthood, basically being "a loser" or at least not developing a lot of potentially good opportunities.

It's only in the last three months or so that I've found this approach, which is PJ Eby's work.

I don't know what to say about it - I could (edit: will!) write a lot about it, but since I'm so new to it it might not be accurate or present it well, but I'll try and summarize, and I can link you to some more good stuff (see below).

Anyway, the main bits are an overview of how humans learn behaviour: we animals have brains to model the world around us and predict when situations are going to be good or bad for our survival. Those parts of our brain signal using feelings - we get alert and nervous at a sharp twig snap, spooked when all the noises around us suddenly stop, pleasant anticipation for friends showing up, anger at enemies showing up, etc. That signalling happens whether a situation is happening or if we just imagine it happening.

Along the way in our normal lives we accidentally learn a lot of these {situation -> feeling} links which are unhelpful or tied to really dumb / irrelevant things, and they guide our behaviour too.

Things like: once upon a time if we were shunned by the group we would starve to death, so being shunned by people generally is a bad thing. We might bring a drawing to show and tell and the teacher makes a comment and the class laughs. Some people might get a dislike of show and tell, or being watched, others a dislike of drawing, others a dislike of feeling proud of their work, others a dislike of being good at something. (Or you might be fine with it).

Now having a dislike of show and tell probably wont affect your life much, but if you get: doing work that you feel proud of makes you feel bad (because your brain is predicting people will shun you), you're going to have lingering problems for a long time.

And the worst bit is, we have two problems on top of this. Westerners/western males shun emotions as being childish or girly, and humans have self conciousness which isn't always privy to the causes of our feelings and makes up "logical" explanations like "I don't want to be proud of my work because pride is a sin".

This is one big difference between people who say "I don't see what all the fuss is about, starting a club is easy - ask people - just do it" and people who can't "just do it" because the very idea of asking people makes them feel bad.

This sets the stage for the next bit: a kind of meditative/imagination skill to learn to get from "I don't want to be proud in my work because it's a sin" back down to "if I feel pride in my work people will shun me".

After that, he teaches various techniques to break that kind of learned link, or delve into it further or whatever. I don't want to go into that because I don't yet know them well, there isn't space to do justice and text isn't great for it, I don't feel right to give away his source of income from teaching it.

But I do want to direct you to this:

http://lesswrong.com/lw/21r/pain_and_gain_motivation/1uz6?co...

Read it as it turns into a discussion between PJ Eby and ChronoDAS, and follow the link to carry on the thread.

Also http://lesswrong.com/lw/21r/pain_and_gain_motivation/1v0a

And where I say it isn't difficult because of effort, it's a simple act but difficult because it's mind twisting, note this: http://lesswrong.com/lw/21b/ugh_fields/1vyj

Anyway, that's the kind of thing I was working from when parroting the parent post back. Seen in this light, reading "recently I've just found out using tables to layout pages is a bad thing" takes on a different meaning. Yes it's a bad thing, but that doesn't mean you need to feel bad. and taken in the context of the rest of his post it smacks of

"using tables is bad therefore I'm a bad programmer therefore I'm not worthy of a real programming job and people I look up to won't respect me now I feel shit :("

whereas someone else might get

"using tables is bad, but I'm proud of my site anyway because it helps people swap textbooks. Any real programmer would respect my ability to compromise".

Realising that you could feel that way is hard. It's hard because we think with our brains, and we've just found a bug in our brains, so our thinking isn't trustworthy on that matter, and we get: "I couldn't feel good about using tables. I could pretend to feel good but deep down I know tables are bad so I would have to feel bad at some level".

If you spent your life believing 1>2 then someone told you it was wrong, and convinced you, you'd get to a stage where you thought "ok, I could believe that 1<2 .. but then I'd be wrong because 1>2. So all I can do is lie and pretend but I wont really believe it because I know 1>2".

From the outside you can see that if you did change to "1<2", you would believe it and it would be real and not a lie or a pretense.

Anyway, PJ Eby spent a couple of years trying to summarize his work into a book and couldn't because of this very problem - you think in a particular way and if you aren't getting the right information from one piece of writing then you wont get it right and you wont know how or why, it might take interactive guidance.

You might be able to get his half-finished book by signing up to the email list at http://dirtsimple.org/

Anyway anyway, what's great about this approach is that his methods are based on methods which work repeatably, and tests you can do that you can prove to yourself that it's working. If you do one of the methods, then imagine the situation again and still feel bad in the same way then it hasn't worked. In that sense it's basically scientific - there's no chanting over crystals of copper sulphite to transmute lead into gold, only methods which repeatably and testably get useful results. Which is why I draw a distinction between this approach and the ra-ra useless fluff and the approaches which work sometimes on some people even if they do include some woo.

PS: I feel a bit of a jerk writing this post. It's long, waffly, preachy, proselytizing, I fear the more respectable HN community disliking me for it (I would have emailed you directly if you had a profile address), and you rolling your eyes at me for it. These are all bugs in my thinking holding me back from doing things that I want to fix at some point. Also, sorry for talking about you as if you weren't here, Meric.


I'm thrilled that you responded. I haven't yet had the opportunity to sort through the various links and what not, but I am eager to explore more about the topic.

I'm confused though, about my email address. It appears that I have it entered into my account. Maybe I'm getting caught in one of HN's noob nets. Anyway, I'd love to break this off into an email if you're still down. Drop me a line at akaGOMEZ at gmail dot com.

Again, thanks for the reply.


Emailed.


Get good at something first.

You're just setting yourself up for disappointment if you go down this route you've planned for yourself. The kind of money that makes people rich doesn't usually come from wishful thinking. Hard word, passion, and perseverance play a part. Of course it also helps to come from a wealthy background, have influential parents, and be well educated.

But all of that doesn't matter.

What you should be doing is figuring out what gets you up in the morning. That can take years. Some people are just lucky and find it early before they go into university. Most people I know who've gone to university ended up working in a completely different field than what they studied.

So don't sweat it man. You're twenty. Go drink. Get high. Backpack around Europe. Start a band. Or a business. Watch it burn away all your money. Move in with your parents until you figure things out. Move out to the big city. Meet people.

Eventually it will hit you straight in the face. Whatever it is you're suppose to do that gets you up in the morning... it will just come to you and you won't be able to sleep without thinking about it. That thing is what will give you the drive to wake up in the morning and work your ass off all day.

And if you're lucky, you'll get that million dollars. Only when you do you might not even realize it. You'll be too busy working on the next big thing.


> Get good at something first.

Just do that.

If you want $1m in 15 years, see a financial planner. $40k per year at 6.5% compounding will do it, just stay at McDonalds and work another job. Sound interesting? No, but you will make your goal.

>What you should be doing is figuring out what gets you up in the morning.

Exactly.


I'm glad someone pointed this out. It's really not hard to save that much if you have realistic goals/expectations.


Terse as I'm in a hurry, but wanted to offer some thoughts.

* Finish your degree, but be aware it's probably just a meal ticket.

* Adopt a philosophy of lifelong learning.

* Setting goals is good, but don't fixate on the number such that you miss an opportunity.

* Show your projects to your friends in the second group; someone will surprise you.

* Do your homework or hack your side projects at Jelly or a similar co-working group.

* Unless your project is very small, don't raze it, iterate it. This more or less applies equally to code and business (pivot).

* As you grow in confidence, show people from the first group your projects; someone will surprise you.

* Learn a new language about once a year. Be sure it's sufficiently different from the last one, i.e. C family one year, ML family the next etc.

* Read news.yc and make a note of the interesting tech people here are using. Read up on it.

* Don't read too much news.yc.

What school are you studying at?


What is Jelly? I'm intrigued.


http://workatjelly.com/

Jelly is a casual working event. It's taken place in over a hundred cities where people have come together (in a person's home, a coffee shop, or an office) to work for the day. We provide chairs and sofas, wireless internet, and interesting people to talk to, collaborate with, and bounce ideas off of.

You bring a laptop (or whatever you need to get your work done) and a friendly disposition.


awesome, I'd love stuff like this. And theres even a couple near me!


Good thoughts/points. I study at Sydney University.


You mentioned you were looking for people to work with around uni?

I imagine your uni exams are drawing to a close soon; if you're up for a drink in the sydney area, let me know. My contact inforamtion is in my profile.


Today: $1 million will buy you an overwhelmingly average house in an overwhelmingly white bread, middle-class suburb in Melbourne or Sydney. 15 years from now, that million dollars isn't going to mean much at all.

Live to be happy now, because the future is never what it's cracked up to be. Not that "live in the moment" do karaoke bullshit, but look after "you".


I think $1 million will still buy an average house in 15 years. ;) It's also enough to fund a startup. I'm not trying to be rich so that I could live a luxurious life or anything, just so I have a war chest to "do stuff" with.


$1 million will buy you a house, but not anywhere close to the city. You'll be stuck out at Craigeburn, Noble Park etc. With Australia's population boom, the surge will be in apartments, units and townhouses. "Houses" will become a commodity. As is, a lot of people are selling up for developers to drop their house and build 3 or 4 townhouses on their blocks. The almighty dollar...

I've been trying to buy these last few weekends and will be trying again this weekend. A mortgage at 21? We are crazy.


Have to agree here. A small place in the inner west will set you back 900k+.


It probably will, but don't discount the power of inflation.

Maybe it's time for your country to experience inflation at last - it's been mostly immune because it's the world currency, but your government has been spending like mad. (sorry, was thinking about the US, but I guess it applies to Australia too !!)

I've seen HUGE inflation rates in my country, so while I also think a million will still be a lot of money in 15 years, it's not a foolproof bet.

That said, the spirit of the question is understood (it's not about an arbitrary sum of money, it's about being wealthy enough to pursue other things).


While there's been some noise from the opposition about government spending in Australia, the problem isn't nearly as bad as in the US. (And I say that as no fan of the Rudd government.)


> It's also enough to fund a startup.

That's the thing. You don't need $1M to fund a startup. Even one that ends up making millions for you, or that can be acquired. Try not to let the money act as an excuse for not starting. (I know, it's hard! :)

You can actually start the life you want at 35, now.


I don't think there is any value in the Melbourne housing market at the moment. There is talk that house prices could stop heading up or even dip, not like America though we have enough population growth relative to housing that the prices seem to go up even when buying conditions are terrible.

Maybe housing affordability will never get better but at the moment I would rather rent.


I don't really believe in coincidences, but I might make this an exception.

I'm a senior software developer in Australia who have spent the last 4 months searching for talent at the junior level. I believe that experience is less important than attitude; particularly enthusiasm and initiative. If you have both--and it sounds to me like you do--and are smart enough, we can teach you the rest.

Please do me a favor and send your resume to me: sebastian@e-channel.com.au--make sure to reference this HN thread. While my team is currently full due to recent hires, we're growing rapidly and could be in a position to put on another full or part-time developer soon.

And even if I can't give you a job, I can hook you up with other budding entrepreneurs to collaborate with on projects. I might be available to give you a hand myself.

You'll get there. I've seen quite a few of your peers lately, and you seem to be way ahead of most of them in the areas that matter (at least to me). Trust in yourself and your drive will take you where you want to go.


Thanks. Your putting yourself out there for meric made me thankful HN is such a great community to be part of.

Because you are doing exactly what ecaradec said:

> Be indulgent, help others, if they have lesser capacity than you do (on some things, they'll be better than you on other things ).


Thanks for the opportunity. Will do. :)


If I were your age and in your position, I would not focus on amassing wealth. Work on building your confidence.

Quote from George Foreman about longshoremen. Longshoremen are the people who work on docks, loading and unloading giant container ships.

Mr. Foreman, who stared down financial collapse as an adult despite a troubled, impoverished childhood, said he knew real wealth when he saw it. "If you're confident, you're wealthy," he says. "I've seen guys who work on a ship channel and they get to a certain point and they're confident. You can look in their faces, they're longshoremen, and they have this confidence about them...I’ve seen a lot of guys with millions and they don't have any confidence," he says. "So they’re not wealthy."


Agree, don't focus on money until you're at least 30. Your 20s are for experiencing life and learning.

Confidence is best gained by mastery: get good at some things.


FYI, the average longshoreman in the US makes $50k-$100k annually. It's an incredibly hazardous job.


My goals are some what similar to yours. And this is how I do it:

1.) I found out that it's easier to impress people if you have some portfolio that's related to the job you are applying. So write code. Opensource projects or personal projects.

2.) Spend sometime doing #1. Say 6 months? You'll be surprised how much you'll learn in that very little period. I'm in this stage.

3.) Don't bother about how bad the code it for a while. Just write it. It should just work. Should just solve the problem it intends to solve. Doesn't matter if you write in php or ruby. It might even be a simple shell script that helps you setup Adobe AIR projects quickly (http://gist.github.com/306363)

4.) Show it off! Flaunt it everywhere. You'll be surprised how a simple application can be useful to people. ex: I found myself lazy to signup for an invoicing site to create invoices. I wrote http://billmebob.com It's dead simple. But I still see some people use it (a few regular users).

5.) Do variety. Write a shell script, android app, rails app, then hop to tryout Arduino... whatever... it's upto you. just remember _variety_

6.) Once you find out what you like at #5 get back to that and do similar things (say writing android apps).

7.) Stop reading this and write code.

P.S: $100 bet! Try this and you'll enjoy it :)


Good post.

1. Things chance. It's fine to have a rough goal, but don't think you'll be able to plan to road there for the next 15 years now. Things change, often.

2. Sounds like, apart from this long-term goal, you have an initial goal too: get a job. You mentioned you don't know the latest version controls? I assume git? Just learn it. You just found out using tables for layout isn't hip? Learn css. It sounds like you have a lot to learn, to be quite honest, I wouldn't hire someone who didn't know those things. Learn and study.

3. Because things change, what seems very hard now will seem very easy later. So keep things into perspective :)

If I was 20 years old right now, I'd take any crap job for 3 months, live with my parents, save the money and then take off with a cheap ticket on a trip around the world going as cheap as I possibly could, no return date. While oil (= tickets) is affordable :)


I had a similar goal when I was your age. I am now 27 and if things keep going like they are, I guess I'll reach the target even before I'm 30.

Some tips from my small experience so far.

(1) Don't take life to seriously. When I was in college, I started a simple business that kept very good pocket money flowing in - like your textbook business _might_. I spent every single cent that business brought in. I reckoned that after I graduated, my first couple paychecks will probably cover 3 years worth of pocket money savings. They did.

(2) Being a billionaire by 30 requires something extraordinary. Being a millionaire doesn't. The best way to do it is by working hard, saving money and being really good at something most companies will pay you for doing. You don't even need to be excellent - just really good, That, combined with a disciplined saving mentality will get you there quickly. It helps to live with your parents for as long as absolutely possible.

(3) When you start earning real money (after graduating - or maybe before if things go well) then save up a nice little bit. Invest in shares and so on, like you are doing now, but as soon as you can, buy a little house and start renting it out. Then pay it off and get another. And another. You'll hit that million mark pretty quickly that way.


I don't really see much of a question. What would people do if they were 20?

I'm 20, Australian and finishing a Bachelor of IT degree. I've worked part time at a small marketing agency (developing websites, managing servers) in Brisbane. Getting the job was easy, they needed someone that had an idea of how MVC worked and how to program PHP. There's so many low barrier programming jobs around, I don't understand why you haven't been getting much attention.

I contribute to and start open-source projects as much as I have time to. I have a tiny portfolio:

http://github.com/pufuwozu

A month or two ago, I applied for a Graduate Developer position at Atlassian and got asked for an interview. I think my open-source experience had a bit of influence, there (many Atlassian employees are open-source developers). I studied up on algorithms, data structures and Java. I was able to ace the interview and I'll be working at that really nice company next year.

My naive advice, get some work experience at any small business, contribute to open-source without being embarrassed and study hard for interviews.

Then again, do the opposite of what I do if you think that's best. I'm just working on instinct and it's possible I'm not going in the right direction.


"I've just found out using tables to layout pages is a bad thing"

Because it harms your application, or because you read somewhere that is a bad thingt? Hacker News actually uses tables for layout... Don't worry about what you are supposed to do. Maybe a layout without tables would be better in a way, but to the end user it doesn't matter. Just focus on launching.


This is vital. If you consider something as small as using tables for layout to be a "fatal architectural flaw", then your project will always have a fatal architectural flaw. Tips like "don't use tables for layout" are suggestions. They are best practices. You can probably find mutually exclusive best practices, so it's not a big deal if you don't fulfill every "best practice" tip out there.


Flickr used (still uses?) tables for layout, when css and semantic html was all the rage. And they did fine (until they got bought that is).


GMail too. And 37s, etc. [Of course I don't . . . ;)]


That's a relief :)


Meet people. Lots of people. Especially in the field you want to be in. The connections you build now can last your whole career.

Go to developer user group meetings (Java, Microsoft, etc.). Join the IEEE and ACM and go to local meetings. Look for interesting techie Meetups or even ones that aren't technical but are likely to have software developers there.

Take one of your projects and build up a neat talk about it. You'll be "the guy with the neat textbook site" or something. That includes just talking at the pub or even giving a presentation somewhere.

Build up your LinkedIn, Twitter, and maybe even Facebook connections with people you meet. Stay in touch with them all and let them know that you're looking for work.


Honestly, if you want to make a difference in Africa, getting $1M is the least of your problems.

If you are serious about that dream, talk with people who are or has been working in Africa, learn what are the real issues and figure out how you would overcome them. Learning CSS layouting won't move you an inch toward that dream.

On the other hand, if you want to make money as a programmer, learn to program. It has nothing to do with particular techniques - during the next 15 years, you will learn a lot different ones, which themselves will become irrelevant, but your generic programming ability won't.


If I were 20 now, and I wanted to be financially independent by 35, I would be doing the following:

1) Building an asset base that provided me with an unearned income equal to whatever my needs are at the time (e.g I need $1000 per month to live, I make an asset that generates $1000 per month without any significant effort on my part)

2) To achieve 1) I would be investing my time and energy in learning web based technologies. Specifically: Java 1.6+, Ruby, RESTful web services, XML, JSON, AJAX, Spring, Maven, GITHub, SVN and so on.

3) To achieve 2) I would spend my evenings writing code for my own medium sized project (e.g. travel review site) with no intention of selling it. My work would involve learning how to make things work efficiently on the web so that my own involvement was kept to zero, with the system continuing to work perfectly.

4) To achieve 3) I would work closely with people who really know how to code for the web. I wouldn't worry about how "cliquey" or anal they were. I would ask them questions and listen carefully to their answers - particularly if I didn't understand them.

Hopefully this will help you, but if you'd like more information then feel free to contact me via www.gary-rowe.com.


"Progress is chugging along but I have no one to guide me" "I've razed the project and rebuilt it half a dozen times after finding some fatal architectural flaw"

Sounds a lot like you're designing a system to have a good design by your internal metrics, then measuring it by how much money it's bringing in, which is giving mixed results.

Your guides should not be some idol programmer person but your customers. What do they need? What do they want? What value can you/your site add so they can't not use you? What deals can you work towards - e.g. getting your site in the freshman handout literature, getting it endorsed by the student union, finding which textbooks are needed for which courses, adding amazon links for textbooks for particular courses that you don't have used copies of, buying the textbooks yourself and reselling them? Escrowing the transaction somehow? Are you solving this as a problem which scratches an itch for yourself?

Your architecture will always have flaws - leave them alone. Go find some people wanting to trade used text books and put some adverts up around you (not on the site).


You are too young to worry this much.

You should aim to get a good software job within a year. For this, I recommend - Work on small projects or contribute to open source with the aim of lightening your resume. - Start taking part in online programming contests (TopCoder, etc) to clear those interviews. This also ligthens your resume. - You seem to be do-it-from-scratch-everything-myself guy. Instead learn technologies like Wordpress, Joomla, GWT, etc and get yourself one of those fancy personal websites. - Keep trying for a good job and get over your failures after a beer. It may take a hell lot of interviews but eventually you only need one job and it won't matter how many interviews you did fail.


Learn timeless stuff in computer science that never gets old:

1. Learn C and master pointer arithmetic. All modern computers are von Neumann machines and this is the only way to learn how a real computer works and how OS is implemented. This is the low-end of the power spectrum. 2. Learn Lisp (Common Lisp, Scheme or Clojure) and master closure and macro. This will help you understand lambda calculus. This is the high-end of the power spectrum. You will learn things you didn't think were possible. 3. Learn the good esoteric languages in between: Python - great for prototyping, web dev Perl - great for Unix system admin Ruby - great for web dev Erlang - for concurrency Haskell - for purely functional programming perspective <any other language that interests you> This will give you different perspectives on how to solve your problems. No one language is suitable for all tasks.

4. Learn to run Unix (Linux, FreeBSD, etc.). Start with an easy newbie distro then move on to advanced do-it-yourself distros like Arch, Gentoo, and FreeBSD to hone your skills. 5. Learn the Unix tools (grep, sed, awk, tr, etc.) and its editors (emacs, vi[m]). 6. Master sorting algorithms (quick sort, merge sort, heap sort, etc.) and their respective strengths/weaknesses. 7. Master data structures (heap, hash table, tree, list, vector, stack, [de]queue etc.) and their strengths/weaknesses. 8. Master graph theory and graph algorithms (shortest path, DFS, BFS, strongly connected components, etc.) 9. Understand TCP/IP (and other protocols), pipe, socket, IO file handling 10. Read source code written by top programmers. (FreeBSD/Plan 9 kernel and utilities, C Programming Language by K&R, PAIP by Peter Norvig, On Lisp by PG) 11. Work on interesting problems and challenge yourself.

Expect to spend the next 10 years developing your skills. You're only 20 so you'll be there by 30 ;-). Develop passion and curiosity for what you do. Embrace a life-long learning attitude and help those who are less knowledgeable and be humble about what you know. And the most important of all: have good taste. I wish you the best!

http://www.catb.org/~esr/faqs/hacker-howto.html http://norvig.com/21-days.html http://cb.vu/unixtoolbox.xhtml


It is great to have a 15 year plan, but beware that as you plan for the distant future you might be missing opportunities that are right in front of you in the short term because of a focus mismatch.

Concentrate on the short term. The best way to get into IT is through internships. Can't find one? Get on an open-source project. Even if you can't contribute, keep reading other people's already reviewed code (open source tends to have better code than what you'll see in school). At least it will give you some experience in distinguishing good code from bad. IT is all about patterns, some of the newest coolest technologies you see around are based on the same ideas as the one that solved a similar problem 10 years ago. You will see patterns as you get more experience in reading/writing code. Once you feel comfortable and start making contributions to these projects, it will help with your resume as well.

In the mean time, keep doing what you do today. You have a gf, going to school, learning more. Take it one step at a time and keep a positive attitude. Also, talk to people from this first group that you mentioned. You will be surprised how much of a difference connections make in getting an internship, and maybe you'll get to work with a couple of them on good projects for school.

Good luck :)


1. You don't have to work with people in your geographic area. Use HN, Proggit, Joel's Business of Software forums, Slashdot, Twitter, FB, LinkedIn, etc to network and meet people with similar interest and abilities. If you're looking for collaborates, so are others. Just need to find them. Good story about that:

http://37signals.com/svn/posts/2359-bootstrapped-profitable-...

2. Your belief that stocks will help you get to $1million worries me. Most of the West is swamped in debt, and the retirement debt bomb hasn't even hit us yet. We've pulled forward so much future demand via debt accumulation that we may not be able sustain current levels of aggregate demand, and the debt bomb (google it) hasn't even hit us yet.

That could hit stocks hard over the next 10-20 years, especially since most stocks are priced not just on the company's liquidation value but also on the net present value of 'expected' future cash flows (Wall St.'s ability to accurately anticipate the future should be by now be roundly questioned if not outright laughed at).

I would advise not relying on stocks to get you to your goal. Remember, a dollar saved or not lost is a dollar earned.


Hmm I found it a very good strategy to do what Glenn Stevens* advises people to do. :) USA grew to become a prosperous country on the back of domestic demand for 200 million people, so there's no reason 1.2 billion people in China cannot do the same.

* the reserve bank governor.


What city are you in? I'm in Brisbane and a lot of your post reminded me of myself (I'm 21). However I am studying part time whilst working as a programmer.

Let me know if you are in Brisbane, there has been a couple of opportunities for vacation/part time work at my company that I haven't been able to find anyone for previously. Not sure if there is any right now, but wouldn't hurt to know where to contact you (assuming you are in Brisbane).


One point to keep in mind: you have no idea how long a time 15 years are. You have no idea how different a person you'll be then. And you will.


Well, I'm not 35, but closer to your age. I'd say that $1 million as a goal only clouds your other actual, action items. Instead the only thing you should always keep an eye on is focusing on stuff people want! That and read this: http://www.paulgraham.com/wealth.html


"No, I'm not going back to work in McDonalds. I've worked there for three years and frankly I'm sick of dealing with the stress of waking up in wee hours and coming back home past midnight, not to mention the substantially lower academic grades that'll come with spending so much energy making burgers."

Have you ever heard of the Google Summer of Code? It is this program ran by Google every summer where you get to contribute to an Open Source project. You can only apply to this program if you are student, and I think it would be a very valuable experience for you if you manage to get in. Working with Open Source can also give you the time traveling experience that you want by receiving the advice of the most experienced developers from that community, since it is in their best interests for you to become a better developer so you can help within that project.


> If you were 20 years old today, what would you be doing?

* exercise (gym, sports, whatever I enjoyed but got me moving)

* go into engineering, comp. sci., or statistics instead of physics --> main thing is choosing a discipline with solid job prospects in a variety of locales while also aiding me in my pursuit of bootstrapped projects

* go to hacker meetups, democamps, diy clubs

* work on more personal projects

* find like-minded people that have personal projects (see going to hacker meetups, democamps, diy clubs)

* have fun with friends

As an aside: my experience is that a good deal of students in B* programs feign being smarter than they actually are. It's usually not until towards the end of a B* program that students realize how little they actually know. If you're looking for partners in the second group look for people who are clever and genuinely curious (about life, people and how things work). (where * is A, Comp., Sc., Eng., etc)


As you asked... put aside the "in 15 years I want..." and go do things that are interesting to you for the next 5 years. Travel the world (you can do it at 20, just not 5 star), meet fascinating people, do interesting things.

Most HN'ers will tend to go on about how much work you can do at 20 because you have no real responsibilities and are used to living in a single room and eating whatever is convenient. Don't waste those characteristics on a goal 15 years out -- if you are passionate about the goal, start on it now, if you are passionate about something else (mountain climbing, interesting women, photography, good conversation, travel, diving, etc) go do it. If there is no obvious passion (pretty common) then adopt travel and make it a point to talk to people wherever you go -- you'll find passion, and the next steps become obvious.


There are many comments to my post... I thank you all so much for taking the time to read it all and provide advice I'll be thinking about for a very long time. I really appreciate it. :) bows

I won't reply to everyone but here are the main points I've taken from all the comments.

Don't worry so much about money and long term goals because they change easily, working on oneself is important, e.g relationships, skills, confidence and principles.

When building a product, don't fret about internals and things on the list of "programmer's best practices"; users only care about what they want.

Keep learning and be confident; I'm making progress. Contribute to open source, participate in programming contests and keep meeting new people. Also, keep finding a job, one of these days I'll get one.

To answer a couple of people, I study at the University of Sydney and live in the same city.

Again, thank you very much. :)


I'm not yet 20, so obviously I'm reading this thread more for taking advice than giving it. I think about this kind of thing a lot - success (wealth + happiness) in the tech industry. Right now I'm one year through undergraduate in CS, and working at a computer repair store almost full time to pay for it. By next summer, I'm hoping that classes and side projects will make my skills marketable enough to get an internship at a big tech company, and then I'll move on to explore the smaller side of the field. See where I fit in, keep learning, and find something I enjoy. Unless the economy plummets again, I think pretty much any respectable job in CS should pay well enough. That's my plan from here, and my two cents on the issue (US currency).


It sounds like maybe you're being a little too hard on yourself. The only person telling you that you have to be a millionaire by age X, or that you have to get a job right this minute, or that your project has to be completely perfect is you.

It maybe sounds cliched, but I say just do the best you can and set expectations realistically. If you're not getting callbacks for jobs it doesn't mean you suck - it probably just means your resume/CV or your approach needs to be tweaked. Maybe let some other people look things over and see what they think? You're obviously motivated, so I think you're one step ahead of a lot of people already...


I'm 22, from India, have a good job and a decent degree. Don't worry - you will be just fine.

This is what I did to get a good job - 1. Play in programming contests - topcoder, codejam, etc. and get under top 20 in India, and hence learn to solve algorithm questions 2. Apply to companies

I recommend that route. Google, Amazon, Microsoft, now Facebook as well - they all look at problem solving first. Next comes Computer Science knowledge - can be gained in dedicated 2-3 months' time. Do it. It's worth the result.


I am 21 years old and working as a developer at a Lisp company. The main reason I am here now is that I have a good sense of what I'm capable of, a good sense of destination and the guts to make bold moves.

Let me copy from what I read in an article lately here on Hacker News: better beg for forgiveness than ask for permission.

You can only do substantial things if you live like it. Not even a billion dollars is going to help on water problems without vision.

And you can make a difference already without any money.


"I'm not getting anywhere."

Simply untrue. We all feel that way sometimes, but try asking someone familiar with yourself two years ago if they think you've progressed. (Hint: you have.)


"Progress is chugging along but I have no one to guide me. I've razed the project and rebuilt it half a dozen times after finding some fatal architectural flaw and recently I've just found out using tables to layout pages is a bad thing" - can you trade books with it? If so release it and start pushing it. No one who uses the site is going to care if your using CSS layouts or tables, they are going to care if it can save them money.


exactly, as someone who recently had to come to the realization that there is always a 'better' way of coding something I can tell you that really the programming community is filled with arguments on forums, newsgroups etc about how xxx way of doing something means if you do xxx you suck at programming and should just quit, but the reality is, customers don't care. Programming something in Rails as opposed to Java or whatever isn't going to get you any more customers.

Spending your time second guessing the way you have started something (if you are anything like me) based off stuff you have read is not going to get you anywhere.

Build it as best you can, but don't waste time redoing things just to make it better internally. Think of it as if you were working for a company, and you spent a month re-writing a piece of their software, how can you explain to the directors the benefits of them paying you for that last month. If you think they'll scoff, don't do it.


Read "outliers" by Malcom Gladwell and "Talent is overrated" by Geoff Colvin taking. 10 000 hours rule to be really good at something and this with deliberate practice. (I am 39, I wish I had read those 2 books and the studies that nurrished when I had your age.) And if you like Water check out Charity:Water / they may need people to work for them? Good luck with your life.


Don't get married.


The problem with weddings is: a.) mother-in-laws b.) women have been dreaming about "their day" their entire life c.) vendors change what the market bears (price gouging). d.) it's hard to say no to your future spouse

All four have caused my wedding cost to spiral out of control. I've spent 3x what I expected already, and the equivalent of what I live off of for two years.


That's not a problem with weddings, that's a problem with not being able to discuss money/agree on spending in your relationship :)


My advice would be to try to live modestly, and don't spend more than is really necessary on indulgences like weddings. Life is about the long haul, not a few hours spent in mock-Victorian costumes.


Maybe it's not programming that you're interested in. Maybe it's just making money? If that's the case, consider changing studies.


I love programming; Been learning by myself since I was in high school, its just now that I'm in university I figure out there are much better people out there who would be hired before I am. I wouldn't give up programming for anything!


Don't be afraid to start small. Companies aren't always necessarily looking for the best and brightest. My first programming employer was specifically look for entry level. They didn't have the resources to hire a top level programmer, nor did they want to undermine the current staff in IT, none of which I would have considered top level at the time. I didn't have a degree, never stepped foot inside a college except to deliver pizzas and they hired me. I still don't make anywhere near what I would assume a "good programmer" would make, but over the course of 4 years my income at that job went up 150% from my starting pay.

Which made getting my 2nd (and current) programming job much easier and more lucrative.

Point being, there is always someone smarter than you out there in the world. It's also highly likely there is someone smarter than you in your current town looking for the same work, but that doesn't mean you count yourself out immediately. As a few people said above, be confident.


Cool. If you love it: learn git. Learn css. You can likely learn git in a day. css in a week. Just get really good at it. Also, learn all the hip web stuff. Amazon web services. Python. There's no reason you couldn't learn a lot of that in a year or so, and then you'll be much more employable. (if you already know all this stuff apologies I misread the post)


While learning, try to tuck away concepts and patterns (not necessarily Formal Design Patterns), idioms. Those things will translate across language barriers and offer new perspectives of doing things in other languages. Learning that way (while doing the practical stuff) will make you much more adaptable. You'll be learning Language X and you'll be like, "Oh, that's just like such-and-such in Language Y... I wonder if I can flex it like... cool."


Besides python and a bit of html & css I know nothing else in that list. Thank you, nice to see I could have a chance of finding a job in a year or so. :)


I'm sure you can get a job meanwhile, but learn more and you'll get better jobs :)


I feel like I was once where you are. Find your passion. For me it was realizing that broken things that make me angry also can imbue me with the passion to fix them. Once you realize your passions, you only have two options. Do something you are passionate about, or don't.


"I am 20. My goal is to amass $1m (Australian) by 35 so I can do some substantial things later in life"

Raise your aim higher. Aim for $1.5M by 30 to start with.

The amount you raise to will call for different things for you to do in life relevant for that aim. If you are %50 successful, its %100 for a lower aim.


You're way ahead of the game. Don't worry so much and just keep going--life is long. Learn to use your self-awareness to your advantage.

Did you see vonconrad's post?

http://news.ycombinator.com/item?id=1438718


Live your life now, try to do the things that you want instead of waiting for the future to come. 35 May never come and you would waste a big part of your life. That doesn't mean don't plan for the future, but rather don't put much pressure of it.


Agreed.

Focus your 20s on personal growth, relationships, skills. The money is a distraction and not a very inspired goal, it will come.


You sound like an OK, if somewhat over-thinking guy. I'm studying Software Engineering at Monash (first year, some credits from a similar course), and just today got a programming job.

Where are you studying? Email me if you'd rather not reply.


Lots of good advice here. I think it boils down to:

Execute and Iterate.

At 20 you lack experience, the 10,000 hours, to be really good. Don't dream of things, do them -- even if they 'fail' in the traditional sense. Learn from the experience and try again.


1. Have fun

2. Don't take life too seriously, there's plenty of time after 20 to do that

3. Meet girls and learn how to date them

4. Learn something useful that can help you later in life, actually just learn as much as you can about anything and everything

5. Have fun


Start running. About 5k a day should clear your mind and fix your focus.


JFDI


I'm 23, and you remind me of my self a couple years ago. I was taking classes but not really learning anything, so I decided to start learning on my own instead. It only took a year or two for me to become a pretty good. You seem to be doing something similar, so you're on the right track. You just need to optimize your learning process. Here's what you can (and should) learn:

1. Web Design Web design, from a coding standpoint, involves HTML and CSS. Using tables for layouts is bad: use CSS instead. There are plenty of tutorials online, but I recommend getting started at http://www.w3schools.com and checking out their HTML and CSS articles. Then get involved in some communities, read blogs, etc. Look at how other people are laying out their websites, and imitate. Get tons of practice. Your goal is to make websites with very simple, standards-compliant HTML and CSS. The other part of web design is, well, design. I think the more websites you make, the better eye you'll have for design (you might also need some Photoshop skills), but this can take years of practice.

2. Web Programming Once you can build static websites, you need to learn about the code that runs behind them. Start with JavaScript (start here: http://www.w3schools.com/js). After that, you'll need to learn about some back-end languages. I recommend starting with PHP (http://w3schools.com/php/default.asp). Use it to build a functional web application. It'll teach you a lot about how a back-end language can interface with the HTML you write. Chances are, however, your code will be a horrible mess all contained in a single file. Move on to Ruby on Rails, which will teach you a better way to organize your code in what's known as the Model-View-Controller framework. Heroku is a good place to go to host your Rails app. (If you want, you can use Python, Java, etc. I just recommended PHP and RoR because that's the path I followed.)

3. Database Administration Most decent web apps rely on a database to store information. Learn SQL with PHP, and put some database functionality into your app. I recommend learning SQL before using Ruby on Rails (RoR tries to hide SQL from you, so it's good to know what's going on behind the scenes). There are also some NoSQL solutions, which to be honest, I haven't spent much time playing around with. I recommend sticking with the basics.

4. Server Administration All the apps you write will run on servers, so it's good to know what's going on there. Again, this is an area where I myself am relatively weak, but here's my advice anyway. Go to Slicehost.com, buy the cheapest server they have ($20), and spend a couple days going through their articles. They are extremely helpful. Try to get a database running, and a Ruby on Rails app. You'll learn a ton about server administration, and about using Linux, too.

If you want, you can become an expert in any one of these 4 fields. Or you can be a jack-of-all-trades and become "good enough" in all 4 at once. I think this is really the way to go, because that "good enough" bar can be pushed pretty damn high. If you spend your time making real web applications that people can use, then you're bound to learn everything on that list.

Remember that Google is your friend. If you run into a problem, chances are someone else has run into it, solved it, and put the answer on the net. And communities are your friend, too. For example, spending a few hours in online web design communities would have taught you to use CSS instead of tables, and saved you weeks of time. You need to be persistent and resourceful, you need to both work intelligently and work hard, and you will learn a lot.

If you become a good web developer, finding a well-paying job won't be a problem. And unlike 99% of professions, a programmer can sit down at his computer and literally create wealth out of nothing. Hone your skills, put out a few projects, and you will have financial security AND personal freedom for the foreseeable future.

As for the rest of your post... The stock market is a loser's game; I think you should worry about investing later. And call me cynical, but there's truth to the phrase "money is power". Make money, put it to good use, and pat your self on the back. No matter what anyone says, at the very least having money will give you the time and security to do what you want. And Paul Buchheit's advice is good, too... without above-average drive and commitment, you won't be successful.


I think it's dumb that you want to go and make money so you can work with water. If you want to make money, make money. If you want to work with water, work with water.


Good point. But I'm better at software engineering than I am with water, so my plan was to save up a million dollars and become an MBA with a startup involved in water projects, instead; That way I'd only need money, no need for actual love in water engineering... It might be worth reconsidering it all, however...


You will be happy if you use your strengths in action. Go to http://www.authentichappiness.sas.upenn.edu/Default.aspx and take the VIA survey of character strengths. It's 240 questions long but worth the time investment. Then figure out how to apply those natural talents to your real passion.


Everything else aside, why $1m? It seems like a bit of a coincidence that a well-researched costing of a well-thought-out plan just so happens to be the same as the first number people generally pull from their arse when they think of being rich...

In other words: you're doing a lot of thinking about how to achieve a goal, but have you considered that the goal may have been hasty and not give you what you want, or may not give you what you want efficiently? You don't necessarily need $1m to do substantial things, or to run a company that can make a difference to African villages. You might do, sure, but I'd want to be certain that I wasn't making an assumption before drawing up a plan that will rule a significant portion of my life.

If $1m does turn out to be vital to your requirements, do you need to raise it yourself? Could you instead raise a small amount, launch a startup that helps African villages, and get someone else to invest the million?

For example, there was a couple who appeared on Dragon's Den (UK investment-based TV programme) a while back, who had invented a water carrier that used the rolling motion to filter the water inside as it was being carried back from dirty creek to village. It's in use now, and has doubtless saved lives already. It could quite conceivably still be a pipe-dream if they'd have decided to raise all the money themselves.


No comment on whether the $1M AUD goal is reasonable (other than you have to start where YOU are and don't let the perfect be the enemy of the good). But, since you mentioned your age and other posters are also commenting on it:

1. Ignore those who say "don't be so serious at 20." You're VERY WISE to consider the path that you're on: you're not going to magically become experienced when you reach a certain age, and it's a competitive job market, and brutally so for the younger and less experienced. You're facing the classic dilemma of how to get enough experience to be employable...one which I'm also struggling with and I'm older than you. I wonder if some of the "superstars" in your program had parents or older siblings who were in software, to provide them with "tribal knowledge" and connections.

Anyway, it's your life, and I commend you for examining its direction so that you can do something about it.

2. Consider reading "Seasons of a Man's Life" by Levinson. It starts very slowly, and is somewhat dated (life today is a little more flexible and fluid, but not that much), but it's an interesting guide to the different stages of adult life. Again, if you're like me, you had some idea of what was expected of you in childhood and teens (Prepare For University!), but not so much after that. It turns out that for most of us, life is both richer and less predictable than "secondary school, university, job, marriage, gold watch retirement, death."


If I were 20 again I'd be doing the exact same shit I was doing the first time around, finishing school, drinking with my friends and trying to get laid.

I learned how to code and build UNIX systems before I went to college. So did most of the people you're going to be competing with to make any real money, so you should probably be patient, you already missed the first bus.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: