TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

I'm 19 and I need advice

52 点作者 Yzupnick将近 15 年前
Hi,I'm a nineteen year old student who lives in NY and about six months ago my parents, who own an eye care practice, needed a program to help analyze the efficiency of their employees and the different Nursing Homes that they visit. I've never done any programming before and so armed with Google I tackled the program. I ended up with an Access Database written in VBA, that barely functioned, and how I could not have completely said.<p>I loved the process. The problem solving, the designing of the interface, the whole thing was just extremely fun. After that I started learning vb.net and rewrote the whole program. It still needs a lot of work and I am now learning c# and planning on rewriting it again. This whole thing has inspired me to become a developer. Technology and business was something I always enjoyed, I've been reading Gizmodo and TechCrunch for a while now, but now I see the creative process and analytical skills that software developers use, and I really want to do this as a career.<p>I have been reading Hacker News and talking to people who work in the field as to what it is that I should be doing now, and the general consensus is to just go out and do something. While this is something I would love to do, (I have a ton of ideas I would like to work on) and on some level I feel like I need to do it, (i need to make some money, nothing major more like 1000 a month, and I want to keep motivated to keep learning) I run into two main problems:<p>1) I do not have knowledge required to execute my ideas. I have been programming for only about 6 months, (at most, depending on what you consider programming.), and the languages that I know are limited to vb.net and c#. These are not exactly high level languages themselves, and my knowledge of them is mediocre at best. I don't have the knowledge to execute any of the ideas I have.<p>2) I do not have any friends who share this particular interest. I don't know any code gurus or anyone I can rely on for advice or as a co founder, and I have no way of meeting anyone who would fit into that category. And if I did meet someone, I don't know enough to be able to tell if they where actually good or just better than me.<p>I have the opportunity to switch to Columbia University's engineering program on a 3 - 2 program with my college. Which means I do 3 years at my college, and will major in math and get a degree in mathematics, and then do two years in Columbia and get a CS degree from there. I feel like this would solve both my problems, but it will take 4 more years of school, and I will have to pay Columbia tuition.<p>I really want to start something but I feel like I can't. I've seen other people ask this before on Hacker news and most of the responses are "Just do it anyways." but that is really not helpfu in any way.<p>I was wondering if you can please give me advice on what to do. Thank you very much

21 条评论

barrydahlberg将近 15 年前
"...the languages that I know are limited to vb.net and c#. These are not exactly high level languages themselves..."<p>Not only are these very good high level languages but there is lots of well paying and reasonably easy to get work around for competent users.<p>You sound a little overwhelmed which is normal, confidence is only going to come with experience. Whether or not you decide to study formally, write a lot of different code in your own time.<p>Imagine big problems, then break them down into smaller simpler problems that you can actually solve. Building Facebook must feel like an impossible task right now, but I bet you could build a database to store a list of friends. The more you do this the more you'll find 'big' problems are suddenly easier to understand.
评论 #1434785 未加载
rmundo将近 15 年前
Go to Columbia. Two degrees in five years is a bargain. You'll only be paying two years of Columbia tuition, while studying there in the later phase of your college life, which hopefully means more focus and insight into how to access the resources a college can provide.<p>Start looking into summer internships. Good way to establish contacts, find mentors, and get a guided introduction to the field.<p>Take a look at Hartl's Ruby on Rails tutorial. The book is free, online, and walks you through the stages of building a simple twitter-like client. It's amazing the things you can do with high-level tools these days. There are some good books on Python as well. I recommend O'Reilly's Head First series to my friends who are considering getting into programming.<p>Start small, bang out code, even if it's just following a book. The act of writing code seeps into your muscle memory and it gets easier and easier, until you start expanding your skills and then it gets easier and harder both at the same time.<p>Your first efforts are going to seem amateurish and trivial. Don't let that discourage you. With practice you'll only get better and the feeling of creating something with your own mind and hands is awesome.
btilly将近 15 年前
Unlike most here I began learning programming in my late 20s.<p>On the recommend of my first mentor, the second programming book I picked up was <i>Code Complete</i> by Steve McConnell. It did a LOT to improve the quality of my code, and enable me to write better code.<p>Be warned that it is a fairly heavy tome. And it is the kind of book which you want to not just read, but to actually absorb into your programming and thinking habits. But if you have the discipline to actually do it, I can't recommend it highly enough.
评论 #1435744 未加载
评论 #1436883 未加载
ryan-allen将近 15 年前
Everyone's said this, I'll say it too: Awesome!<p>I fell into programming by accident at about 21, and I remember what it was like, it's much as you described. Fun times!<p>All the advice here is good, but nobody has recommended you read "The Pragmatic Programmer", which I found to be a bit enlightening. I still go back to it years later to read and ponder.<p>Good luck! You sound like you wont need it. It's a damn good career for those who enjoy it and are willing to put in some effort.<p>EDIT: I never did a CS degree, but considered doing it many times (if work dried up, it never did). I believe though that the people you meet and work with is a major part of doing a degree, so that'd be why I would go. I get to work with good people anyway. This article was posted on HN recently and I think is relevant:<p><a href="http://sheddingbikes.com/posts/1275258018.html" rel="nofollow">http://sheddingbikes.com/posts/1275258018.html</a><p>I admit there are CS-type stuff I can't do (but I know where and who to ask) because I never did a degree. Saying that though, I have worked with people who have had CS degrees and couldn't code themselves out of a paper bag. If I were to go back in time to when I was your age, I'd do the degree, though.
jph将近 15 年前
Go for Columbia.<p>I went there as an undergrad and learned much about computer science, as well as how to connect with smart students, how to find mentors, advanced engineering research, and more.<p>And best of all, the friendships you can make at an excellent, intense, diverse school can be a lifelong treasure.
评论 #1434806 未加载
mbenjaminsmith将近 15 年前
Dude, you're lucky. I took me 10 years post college to figure out what I'm truly passionate about. If you don't take the plunge now you'll end up leaving a perfectly good career at 31 to do it anyway (most likely after reading a pg essay like myself).<p>1. Hackers learn by doing. If you enjoy tackling problems you're 3/4 of the way there. If you have ideas, you're 3/4 of the way there. Combining those two will fill in the other blanks for you. What language you use would depend on the problem space. When you pick a problem, you could always poll here for suggestions.<p>2. Don't worry if they're better or worse than you, just seek out people who love doing it. They'll eclipse everyone else in short order anyway.<p>My only add on advice is I would assume you have more college options than what you've stated. If you do like programming, you really can't go wrong at this point in history with a degree in it. I would look for less time consuming options.<p>Seriously, start your new life today. Pick a problem and start hacking away at it. Start hacking away at college options and start seeking out hacker meetups (you'll have plenty of options in NY).<p>Above all, enjoy it. Good luck.
peteforde将近 15 年前
Congratulations on being awesome, 19 year old dude. You're at the perfect age to start and your attitude is dead on.<p>My advice is that school is good for lots of things but project experience is not one of them. Please, go sign up at GitHub and make it your new home. It's like Facebook for open source development. Start checking out cool projects (it doesn't matter what language, they are all the same - that's the punchline) and learn to read other people's code. Pretty soon you'll find opportunities to contribute.<p>You know the easiest way to contribute? Leave positive and encouraging messages thanking developers for their hard work and let them know you're following along.<p>Next advice: stop reading blogs and spend that time practicing coding. Blogs are interesting but you'll find that your memory retention is less than 10%. Try to limit yourself to checking HN twice a day and otherwise, focus on the task at hand.<p>Final advice: make sure that you have a life. The best coders are interesting people with diverse interests. Develop an appreciation of music and try to expand your artistic whims. Get a camera, travel, read fiction, take pictures, travel more, write fiction.<p>Take chances. Get the guy. Get the girl. Get both at the same time. Don't be afraid and always try to listen twice as often as you speak.
cheald将近 15 年前
First off, that's awesome! It's so gratifying to see someone else discover that same spark that made me fall in love with programming. Keep it up - you'll love it.<p>Some suggestions for you:<p>* Find a community based in your interests. You'll find VB and C# communities around the web, and any number of IRC channels (look at irc.freenode.net - most development-oriented projects end up there). Find a channel and idle in it. Soak up tidbits of knowledge. Try to answer others' questions. Just participate in a community of developers, and you'll find yourself being spurred along.<p>* Find an open source project that interests you, and try your hand at contributing. Fix a bug, provide art resources, something to connect you to the project. There are lots and lots of people working on really neat things that could use help, and there's no better way to learn than to do.<p>* Build lots of toys. An apprentice doesn't end up building a cathedral his first year in the trade. Small projects - like your dad's need - are a wonderful way to practice. Each project will expose you to some new concept, and help you learn some new technique.<p>* Don't expect a CS degree to teach you about programming. CS is just that - the science of computers. You'll learn algorithms, compiler design, how processors work, and all sorts of stuff like that, but any actual development experience will be incidental, more likely than not. That's fine, as long as you realize that a CS degree is not a trade degree. It will augment your prowess as a developer, but it will not immediately make you one. That's up to you to cultivate.<p>* Don't expect to support yourself with it financially for a little while yet. I don't want to be discouraging, but once you enter into the business end of development, standards and expectations get much higher, and it can be very crushing if you don't have the tools in your belt yet to deal with them. If you can pick up small jobs here and there, do it, but don't look to make a career out of it with 6 months experience.<p>* Never stop learning. When you find yourself becoming comfortable, find something new to learn. A colleague of mine held the goal of learning and using a new language or technology stack every year. I've adopted that for myself, and it's wonderfully beneficial (this year is Android development). You will keep yourself exposed to new ideas, and continually widen your vision of the field.<p>* Just start running with it. An artist only develops their skill by drawing and drawing and drawing and drawing. A runner only develops endurance by running and running and running. A cook by cooking, a pilot by flying. There is no better teacher than experience. Some ideas to start yourself out might be an address book, an RSS reader, or a music player. Try your hand at a web application. Pick up a scripting language, like Ruby, Python, or Lua (you can use Lua to script .NET apps, so perhaps it's a good fit!). All you have to do is start <i>somewhere</i> and start doing it. You've started that with your dad's project - just keep it up now. You don't get to revolutionize the world on your second project ever, and that's okay. Your second project is a stepping stone to your eventual world-dominance app.<p>Good luck with it!
andreyf将近 15 年前
You should really put an e-mail in your profile in case people want to get in touch with you privately (or e-mail me at anfedorov@gmail.com) ;)
siculars将近 15 年前
Good for you for having the courage to ask questions. This is definitely as good a place as any to ask.<p>As for what to do and how to do it, I would definitely tell you to go ahead and do the 3-2 program with Columbia. Besides the education, the connections you will make will last a lifetime.<p>I actually work for Columbia and live by the campus, if you want to talk drop me a line. But that aside, NYC has a great tech community with all sorts of programming/developer oriented events going on virtually every week (check out meetup.com).<p>Most importantly, hold on to that spark that got you interested. It will keep you going when you feel you are banging your head against the wall.
kls将近 15 年前
Join a local users group and go to meetings religiously. You will come to know who is who by attending these. Start small, take your smallest idea and work on it. it is going to be atrocious but that is a good thing, being able to design an iterative plan to get out of a poorly designed systems is one of the marks of a good developer. Resist the temptation to scrap it all and rewrite once you figure out what you are doing. Force yourself to encapsulate the system and modularize it so that you can replace it a piece at a time. The skills you will develop by forcing yourself to clean up your old work will be invaluable.
ewams将近 15 年前
Glad you found something you are passionate about. It is an amazing feeling isn't it?<p>I ran in to something similar with web development (PHP, apache, mysql, and perl) and felt overwhelmed immediately. But, found that it was so much fun I stuck with it and just started small. "Ok, how do you get the data to sort this way?" "What is this md5 thing?" "How do I manage cookies and wtf are they?" etc. etc. etc.<p>Starting small, reading other peoples' work, take your time, don't get frustrated for more than 5 seconds, and find some online communities that share your interest.<p>Good luck and don't ever say "I can't" again ;)
dmfdmf将近 15 年前
Start an "ideas" folder (write them down or they drift away) and get your degree (from anywhere, not necessarily from Columbia. Once working, most fields do not care about the pedigree of your degree unless you want to be a Supreme Court judge or advisor to the president, etc.). A degree opens doors that are closed without one. And getting one after you move forward and start you career and LIFE (esp the wife and kids) is just not possible for most people. It seems like an onerous diversion now but in the end you will look back and value the time spent learning and the people you meet in college. While you are getting your degree you can probably pick up consulting work like you did for your parents and continue to practice and learn what is taught in school (and think of more great ideas). When you near the end of school you can break out the ideas folder and see how many are done and how many no longer make any sense and mold the remaining ideas into viable business/action plans. Your friends from college may want to join you too.<p>tl;dr: A lack of degree will limit future options; learning is easy when you are young and harder when you are older; get your degree now, the world will still be there when you are done; write down your ideas.
vnuk将近 15 年前
I was in your situation at 15 (needed to develop something for a family friend). It was a total failure but kept going thinking up stuff on my own, reading and learning. Three years later I finished high school and got a job. Havent looked back since, ten years later started my own development/consulting company now running for three years.<p>My point is, if you bite hard enough, your education doesn't matter.
Yzupnick将近 15 年前
Thanks everyone, the comments were really helpful.<p>I didn't realize how fast responses will come in.<p>I am now currently looking for conveniently located Hacker Space (preferably in queens if anyone knows of any), and for an Open Source project to help out on. Plus I now have several books to look up and websites to join.<p>My email address is chazup@gmail.com. Weird because it is in my profile
评论 #1435898 未加载
jayruy将近 15 年前
From how you describe your experience of teaching yourself to not only create a working program via independent research, but also recognize it's flaws and refactor afterwards, I have no doubt you could find some level of success in the industry. Not being able to "execute on your ideas" is not that important in many micro-managed niches of the industry, which are not great gigs in the long run, but are good if you are starting out and need to develop perspective on "getting shit done". Be humble and look to learn - you'll be fine.<p>I'm a bit confused on the Columbia thing - if it's 5 years instead of 4 - go for it, education is the best investment you'll ever make. If it means 4 more years after undergrad: just go work, it's probably not worth getting out-of-sync with your age cohort.
CyberFonic将近 15 年前
People have different learning styles. Some learn best by doing, others by being shown how and yet others can study and learn from books. Doing CS at university is only a good option if you learn well in that environment. As many others have pointed out, CS degrees teach you a lot of stuff you will never use. On the flip side, the risk of being a self taught hacker is that you pick up lots of bad habits, could end up with a limited world view.<p>Instead of going to Columbia and racking up a huge student loan debt, seek out a startup or open source project where you can be an apprentice to some masters who have a verifiable track record (majority of professors are lousy programmers if they do any at all). And never stop learning and seeking out ever better masters.
robotempire将近 15 年前
This thread is packed with awesome advice. I'm in the exact same boat as the OP, but 12 years and one child older. Get your educational pedigree now while it's natural and expected. Going back to school with a million other things going on as an adult is unrealistic, period.
auston将近 15 年前
Do you have an email address where you can be reached? I would like to email you privately but you dont have an email in your profile.
iterationx将近 15 年前
Look at the programmer job sites, see what they are looking for in a candidate, use that to inform your next steps.
drivebyacct将近 15 年前
No offense, but you need to read and write a lot more. I know that your post is not the most important writing in the world, but there are many poorly constructed sentences, misspelled words, completely missing words, etc.<p>It makes a huge difference in how people perceive you and it's also reflected in your speech patterns and your speaking ability. This in turns affects how people perceive you face to face. Poor verbal communication can make even the best resume useless.
评论 #1436891 未加载