4 ms·
Getting better at programming?
I just started grad school in Physics a month ago, but I have recently considered quitting since I have gained an interest in the entrepreneur/startup world. Or I could just try to work as a programmer for a non-startup
The main problems at the moment are that I have poor programming skills and only know the basics and a little OOP(To give you an idea of my current skill level, the most recent concept I learned in C++ was Vectors a few months ago.). My only programming experience consists of taking a C++ class 5 years ago, using C++ for a physics research project, and using Matlab a bit for HW problems
I have interviewed for a few programmer positions in the past, but I failed all of them. How can I get better at programming? Should I try working through O'Reilly's book? The only programming book I have with me is a "Learn C++ in 30 days" or something like that. Should I just try to work through the exercises in it?
- nycs 15y agojust start making something.
- 5hoom 15y agoSeriously, this. It sounds like glib advice, but you don't know what you don't know until faced with a real problem that has to be solved. Good programmers aren't the ones who know everything already. Good programmers solve problems. Trying to learn to code without a problem to solve will feel slow, painful & forced (like boring homework with no practical application). Set a goal, and suddenly there is a point to all this crazy stuff. You will research programming techniques because you need them right now to make this thing work. As for the specifics sure work through the relevant exercises in the book. Then go online & find some tutorials & work through them. Just remember that you don't need to master C++ (or any language, for that matter) before you can make something useful with it, so don't be intimidated if there's lots that goes over your head. Look for what you need, note the stuff you don't understand & move on. Best of Luck :)
- deleted 15y ago[deleted]
- suivix 15y agoYou get better by working on projects. You don't get good at making sand castles unless you make them.
- palish 15y agoThe advice is: "just make something"; so of course your question is then, "what shall I make?" http://shawnpresser.blogspot.com/2010/10/how-to-become-game-programmer.html http://shawnpresser.blogspot.com/2010/10/how-to-become-game-... ^ That's an ordered list of projects, sorted by increasing difficulty. Basically, start with "guess the number".
- cjfont 15y agoFrom my own experience, the fastest way to learn is to think of some project you can be passionate about and start getting your feet wet. Start with something simple, and don't worry if it's already been done, go and do it your own way. When you have a vision of how you want something to work, that becomes the driving force you need to go out and find the resources you need to get it done, rather than stumbling through exercises with no end result. To me the difference is like riding my bike outside on a nice day to get a workout, and riding a stationary bike indoors.
- xdev1010 15y agoProgramming is just one aspect of being a software developer, You already are touching on design by your mention of OOP, the syntax, data structures, etc should come fairly naturally after some experience but learning proper design patterns is also very important to progressing as a developer. Also, I'd recommend really delving into some projects on your own, if you are applying to programming jobs and haven't spend (at minimum) hundreds of hours programming on your own projects you can't expect to succeed in the interview. When I decided to pursue dev as a full-time career I spent about 3 months doing nothing but writing code all day, for my own projects, they were just stupid things I thought would be cool at the time but it taught me a lot and led to getting hired. Also, in my work experience, the ability to just get things done (or elegantly explain why something is not possible given current constraints) is what matters. Get the basics down, get some self-projects under your belt and then go into a job with the mindset that you are going to get things done, even if you have to go home and spend extra time at first, its worth it as you will keep learning and progressing. Overall, its not about knowing every possible aspect of a language or having everything memorized, its being able to take resources you have available (which includes search engines) and finding a solution to a problem. Even experienced developers (people I work with who have 10, 15 years exp) still spend plenty of time doing research on given topics, in software development its expected that you can do research productively to learn to solve a particular problem, if you haven't already encountered it, no one would, or at least should, expect you to have every possible solution memorized.
- tobylane 15y agoKnowing physics and C++ would open a lot of opportunities, as it is a pretty important pairing. Only move away if you are bored of being very good at both together and separately.