Software Development Advice

<p>Hey guys!</p>

<p>I'm looking for advice/guidance on what I should learn/do to get my foot in the door for software development. I'm still in a community college (non-traditional) and waiting for the responses from the universities to arrive. I am currently pursuing a degree in computer science and/or computer engineering, but I have only taken a couple courses in C++ (Intro and Advanced). I will be taking a Java course in spring, but I feel like its not enough... I would like to learn as much as I can in order to obtain an internship soon after I transfer next fall. Any advice would be greatly appreciated.</p>

<p>Thanks in advance!!!</p>

<p>Typical CS degree programs have a lower division curriculum of:</p>

<p>Introductory CS course(s)
Data structures
Computer organization / machine structures / introductory computer architecture
Discrete math
Calculus
Linear algebra</p>

<p>After completing those (try to include as many of the above as you can in your CC schedule), the upper division courses most likely to be helpful in industry software jobs are:</p>

<p>Algorithms and complexity
Operating systems
Networks
Databases
Security
Software engineering
electives in particular areas of interest or application</p>

<p>Try coming up with a few projects and build them for practice and to use for a software portfolio of some sort (I heard this is beneficial to have). You could try making a video game by learning the Allegro API for C++. It would be fun and a good learning experience. You could also use Allegro for other applications if you desired, but I think it is best for that. You could try learning OpenCV API and do some image processing work or even make the game use some image processing methods to work. </p>

<p>Anyways, those are just ideas, but you should just practice C++ for now by building some complete software you are interested in. That will make you stand out for sure.</p>

<p>Algorithms and Data Structures.</p>

<p>Web development and mobile apps are probably the two domains that are the easiest to get into. If you’re trying to get an internship, I think those are your best bets.</p>

<p>Learning Java will be valuable if you decide to pursue this route. If you feel like you want to do more with your time, I have 2 suggestions. First, you can join an open source project. Employers like to see that you’ve worked on projects outside of school. Second, you can take free, online courses. I just recently bought an IPad Mini and I’ve been using it to watch lectures on ItunesU.</p>

<p>Thanks once again for the advice given.</p>

<p>I have to wait to take data structures and discrete mathematics until fall due to the cancellations of classes at community colleges, but I completed everything else on the lower division list. As for the advice given about the projects, Ill search about Allegro API for C++. Ive never heard of it before and learning something new is always fun. Ill start today on doing some of the projects that were included in the “Project Ideas” thread from cplusplus.com.</p>

<p>I just found out last night that a friend of a friend works at a small start up with his older brother (older brother owns it), so ill ask them if I can volunteer myself to help them out and gain some experience. Would that be considered an open source project? (I’m still learning the verbage in this field.)</p>

<p>If you could help out with that start up, I think that would look quite good. </p>

<p>Also, learning Allegro specifically can be very fun if you have a good game idea. Look up tutorials on youtube for help as well. Just have fun with the coding by working on something you enjoy and I think things will work out for you. </p>

<p>Good luck!</p>

<p>Thanks aero, will do!</p>

<p>An open source project is one where the code is available for anyone to look at. So that start up is probably not open source (usually companies like to keep their code under wraps), but it’s still really good experience. Go for it.</p>

<p>Thanks for that info sumzup!</p>

<p>Java(core & advance)
Operating systems
Networks
Databases
Security
Software engineering
C++
PHP & DATA STRUCTURES WILL BE HELPFUL TO YOU</p>

<p>Java(core & advance)
Operating systems
Networks
Databases
Security
Software engineering
C++
PHP & DATA STRUCTURES WILL BE HELPFUL TO YOU</p>

<p>Thanks eileen, i’ll be able to register for those classes next fall, so i’ll be sure to take some then.</p>