I have my computer science degree and I am fairly good at programming, now what?
-
I feel lost now that I finished college. I was quite good in class, but I feel like I attended a bad college and the exams were too easy :( I have a computer science degree and I am the best at programming in my class ( where the level is kinda low ) and I feel that something is missing from my skills. Is it normal to be "textbook-good" at the end of my studies ? What should I do next ? I watched so many movies about computer guys ( ie: the social network ) who started projects that made them millions while in college but I feel that I am nowhere near their level :/ Is it uncommon to feel like me ? Please help ! :( I know I could have learn much more and I feel lost now about what I should do next.
-
Answer:
I kinda know that feeling. I'm gonna throw some stuff you can try: You should start by learning a new programming language and paradigm. You learned about Object-oriented design at college? Learn functional programming. Start following people and open source projects. Learn about Version control systems if you don't know already. If you do, start learning how to use github/bitbucket. Stay up to date with your favorite programming language. Read the news, reports, tweets and comments relevant to your language. Start to create your own profile for companies to work at. Don't randomly shoot your resume at every tech company out there. You wanna be a web programmer? A game developer? An enterprise-grade programmer? What's your goal in terms of programming? Learn about NoSQL and data processing. Start to attend to meetings about upcoming technologies you are interested in. Start your own 'start-up' for resolving a problem I know this all sounds kinda generic, but thats how i started to "close on that gap" i felt at the moment. Of course, don't get discouraged if you don't make/are making millions of dollars just out-of-college. Most people don't and it takes a great lot of effort to accomplish what they did.
Pablo Peraza at Quora Visit the source
Other answers
Read Eric Raymond's http://www.catb.org/esr/faqs/hacker-howto.html. To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.
Nelson Ferraz
Practice! Pick some interesting project, and work on it. You could try to build something all by yourself, or join an existing (open source) project. Either way, after having learned programming, you can start learning the important skill: Getting stuff done.
Tobias Hoffmann
I think it is fairly common to get out of school with a degree and feel like you can't do much. I personally would ignore most of Pablo's advice. I think his advice is geared a lot further down the learning curve. There are a few things you should do: Write code every day. Try to build small apps. Push to github every day. Blog about what you learn. Try and get into the best learning community you can. Try to meet smart people. Try and get a good job (and that is a job where you will learn a lot) Read a lot. But mostly you just need to write code. There is a saying that every poet has 10,000 bad poems in them. You probably have 10 or 100k bad lines of code in you. Write as much code as you can, and be very deliberate about learning as you go along. The book I recommend is Code Complete.
Jade Rubick
I find being 'textbook-good' is great for further education in grad school and the like, but doesn't necessary translate to industry competancy. Those kind of movies are gloriously embellished the lives of extreme outliers. I'd recommend working on more projects rather than reading more textbooks. Normally students either work full-time, work as a contractor, start their own company (with people), or take some time off to travel and chill. It depends on your financial situation and what opportunities you have. Working as a contractor may be interesting because you won't get stuck with a shitty job if that is what you get full-time. Working full-time at a nice company is a good idea; you would have the opportunity to meet a lot of smart people to learn from and always learn new technologies/skills on the job. If you're really ambitious, have the guts, ideas, and business sense, then find some like-minded individual and try starting a business. Whether it succeeds or not, it'd be an excellent learning experience that most people lack (your attempts show initiative on your resume as well). If I were you, I'd focus on growing my skills and networking more..especially at a 'top tier' tech company. Afterwards, either pursue your own personal project and sell it to a company or dedicate it into a business. Regardless of what choice you make, I'm sure you'd learn a lot and hopefully have fun along the way.
Cody Zhang
I think it's not only you have this feeling. Maybe you should have a dream or a goal, then you can use your computer to achieve it. I think the problem is not you ability, is your goal, and how to get it.
Orangle Liu
I can't help thinking you're wondering whether you even made the right decision in your degree. Whilst a degree in a subject like Computer Science can lead to a career in that area it doesn't have to. You also have proof that you have certain abilities by completing your course and graduating. There are all sorts of jobs where employers will simply specify "educated to degree standard". So, sit down and look at your options. The advice you've already been given is relevant to remaining a programmer. Now, what else can you do? Even within computing being a programmer isn't the be all and end all so consider other paths within the computer industry. Hardware design? Program management? But also think about your more personal interests. I started out as a travel agent and enjoyed 10 years doing that then switched to working for companies that supply computer systems to travel agencies and airlines. My experience as an agent was what they wanted, the fact that I never wrote a line of code wasn't an issue. They wanted my knowledge of how the industry they were selling into works.
Graham Harrison
Software development is SO much more than being able to cut code. Simple design, pragmatic delivery, test driven development as a design skill, domain driven design, soft skills, estimation skills etc. Belive me when I say that it's fantastic that you feel that you're good, but also that you don't yet know the things that turn a gifted developer into a really successful one. To do that you need to learn more in different areas of the overall discipline, and that means getting a job where you are exposed to a lot and also that you need to practice ALL THE TIME. Try to find areas that you're not comfortable in, and practice until you are. Become familiar with cloud providers and what they offer. Build something IoT-like using services which they provide, for example. Read "The Software Craftsman" by Sandro Mancuso and Eric Evan's DDD book.
Qerim Shahini
Related Q & A:
- What should I do with my Computer Science degree?Best solution by Quora
- Career in programming without a computer science degree?Best solution by techrepublic.com
- What kind of jobs can I get with a computer science degree?Best solution by Yahoo! Answers
- What can I do with a computer science degree besides web development or IT?Best solution by worldwidelearn.com
- What type of jobs can I get with a computer science degree?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.