top | item 1438489

Ask HN: I'm 20 and I need advice.

70 points| meric | 15 years ago | reply

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.

96 comments

order
[+] kloncks|15 years ago|reply
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.

[+] quickpost|15 years ago|reply
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.

[+] ecaradec|15 years ago|reply
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.

[+] jodrellblank|15 years ago|reply
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.

[+] scott_s|15 years ago|reply
Add to that the fear of social rejection by people who you perceive to think they are better than you.
[+] meric|15 years ago|reply
You seem to understand all my worries. :)
[+] agentultra|15 years ago|reply
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.

[+] cromulent|15 years ago|reply
> 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.

[+] astrec|15 years ago|reply
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?

[+] rodh257|15 years ago|reply
What is Jelly? I'm intrigued.
[+] meric|15 years ago|reply
Good thoughts/points. I study at Sydney University.
[+] taitems|15 years ago|reply
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".

[+] meric|15 years ago|reply
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.
[+] robryan|15 years ago|reply
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.

[+] vonconrad|15 years ago|reply
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: [email protected] 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.

[+] wallflower|15 years ago|reply
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 ).

[+] meric|15 years ago|reply
Thanks for the opportunity. Will do. :)
[+] wallflower|15 years ago|reply
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."

[+] petervandijck|15 years ago|reply
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.

[+] famfam|15 years ago|reply
FYI, the average longshoreman in the US makes $50k-$100k annually. It's an incredibly hazardous job.
[+] SingAlong|15 years ago|reply
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 :)

[+] petervandijck|15 years ago|reply
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 :)

[+] davidwilson|15 years ago|reply
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.

[+] pufuwozu|15 years ago|reply
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.

[+] Tichy|15 years ago|reply
"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.

[+] DanielStraight|15 years ago|reply
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.
[+] ja27|15 years ago|reply
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.

[+] dirtyaura|15 years ago|reply
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.

[+] GaryRowe|15 years ago|reply
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.

[+] jodrellblank|15 years ago|reply
"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).

[+] jarsj|15 years ago|reply
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.

[+] soiryx|15 years ago|reply
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

[+] sourc3|15 years ago|reply
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 :)