October 24th, 2012, 09:51 PM
Career tips for a first year CS student, future developer
Here is my situation:
I am currently in a remote location in the midwest for school. It is NOT the place to be for technology, even though it has a reputable program (there are still better ones I could transfer to). Because of this, and a few other problems I have with my school, I am looking to move to California and submerge myself in the development community. This will not be done until the summer. I have some family there and I am going out there to network this winter (either LA area or most likely San. Fran). By the time the summer comes around, I will have over a year of experience programming in Python. Granted, that whole time I wasn't focusing specifically on Python, but also things in classes like (database management /Java and C++/Excel+Access/etc).
Here is my question/goal:
I know I just asked a lot of questions, and I am mainly just looking for some tips so I can get where I want to be, given my situation. So any help would be wonderful, thanks for the help in advance!
October 26th, 2012, 08:42 AM
You could set a goal to have a simple portfolio showing what you can do. For example, you could plan to have one working website up on the net somewhere that looks nice or does something interesting. It doesn't have to be complicated; just illustrate that you know how to make a Django site. You could supplement that with a few other code snippets, could be stuff from class projects, or bugfix patches you submit to some open source project, or just an implementation of an algorithm or fun exercise. You just want to show that 1) you are interested enough in development to have done some, 2) you have some basic ability to work on a website.
Then you'd want to work this into your resume or cover letter so potential employers see it.
Re: whether to focus on Python or Django or HTML/CSS or what, I think I'd say: work on building stuff (such as a demo website to have in your portfolio) and learn what you need to learn to build it. The way I still approach new technologies after many years of development is: 1) read about the basics to get an overview then 2) try to do something and let that guide what else to learn.
Internships may be one of the harder-to-get ways to get experience; two approaches that may also work are to freelance or to help out with some reasonably-sized open source project. Many projects have tasks (such as docs or bug triage) that are educational but don't require advanced coding skills. If you can't find paid freelance jobs, you could also look for things like nonprofit organizations or schools (or whatever you're involved with) that could use some free technical help, and offer to do stuff for them. And then of course you can list that experience on your resume.
In addition to writing code to learn, don't forget to read it. The Internet is absolutely stuffed with sample source code. Try to find code by recognized experts (such as project leaders or known authors or whatever), and dig into it - come up with a bug to fix or some behavior change to try to implement, and figure out how to do that, and how the existing code works. Another good excuse to read code is to write docs for it, so if you can find some undocumented thing related to Django for example, go figure out how it works and try to write those docs.
Or find technical questions people are asking on forums, etc., and go figure out the answer and help them out. You'll give them a fish but you'll teach yourself how to fish, so you win. ;-)
October 30th, 2012, 03:34 PM
Programming is a great field to get into with lots of jobs. Like anything certain jobs are better in certain areas, but in California there are lots of opportunities you can take advantage of. There are lots of resources for getting internships, I will leave all that for other people.. but as far as how to become more deeply invested in programming, the #1 way is always to do more programming. If you like python and django then go make something. Do you have any interests other than programming? if so the best thing to do is to combine your hobbies. Find ways to integrate programming into them.
Using myself as an example.. back when I was a kid I used to do a lot of online gaming, so my first treks into programming were FPS clan websites and MMORPG guild websites.
As for the technology you use. Use whatever you are comfortable with. If you aren't quite ready to delve into Django then just build some stuff in Python. Once you are done with your freshman classes you are going to probably spend a great deal of time working on projects for class and not as many personal projects. Once you get past that phase of school you'll find Django easy. Trust me.