Sign in to follow this  
loachman

Reality of a job after schooling

Recommended Posts

I started college this fall for computer science. I'm taking c++ this semester and advanced in the summer. Then fall is vb.net and java. Anyways It seems to me that c++ is not a very useful language as I thought it was. We are never going to leave the console in this course during college. How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app. Or am I wrong there. Can you go straight out of school into a job? I really don't even understand how all these applications are made with c++. It does not have all the drag and drop "components" like vb does.Or does it? Anyways if someone could shed some light on these questions. Thanks.

Share this post


Link to post
Share on other sites
I think its up to you to learn how to get beyond simple console applications. C++ is the main language used in game development. Pick up simple graphic libraries or game engines and use C++ to build games. I guess it really depends on what type of programmer you want to be. But college and learning the basics of C++ ARE VERY IMPORTANT.

You can go from school to a job without a doubt. I'd look for internships and try to get in while your in school.

Share this post


Link to post
Share on other sites
Quote:
Original post by loachman
I started college this fall for computer science. I'm taking c++ this semester and advanced in the summer. Then fall is vb.net and java.

Anyways It seems to me that c++ is not a very useful language as I thought it was.
We are never going to leave the console in this course during college.

How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.

Or am I wrong there. Can you go straight out of school into a job?

I really don't even understand how all these applications are made with c++. It does not have all the drag and drop "components" like vb does.Or does it?

Anyways if someone could shed some light on these questions.

Thanks.


I am still in college dont have any degrees yet just a highschool diploma. I got a job at a travel software company as a php developer/bug fixer. You will probably start off in a similar situation making 13-15$ per hour and then work your way up. After a year or two of bugs then you will be able to find a new job as a full fledged devloper making 18-20$ per hour. There is hope :-)
-durfy

Share this post


Link to post
Share on other sites
VB programming isn't REALLY programming, imo. It hides a lot of stuff from you, thats why you can blindly do a lot of stuff knowing very little about what is really going on. C++ forces you to learn more behind the scenes.

There is a big step from console projects to Win32 apps, since you have to know some Windows API to get a window running....and then know some graphics API, most likely OpenGL or Direct3D. After learning the console basics, with online tutorials you can learn the Win32 and graphics API's, but it takes a lot of time and practice.

I'd imagine it is extremely difficult to get a job in the game industry without knowing how to make a window, and at the very least some knowledge of 3D graphics, and some OpenGL or D3D.

Share this post


Link to post
Share on other sites
Quote:
Original post by loachman
How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.


1.5 years in embedded development I not only used only console, I used 8-12 at the same time... Not to mention it was all C/C++, including kernel, driver and application hacking.

Yes, C++ takes time to learn. It's a tool that can do anything - but even with lots of experience and knowledge, the concepts it offers will take long to master.

Will you use C++ (MVS2005, console app with stdafx.h and Debug mode) in your job? Never. You'll be required to develop, maintain or administer software and systems. If C++ is part of that, then you better know it, or know how to learn what you don't know.

But knowing how to develop a console application isn't a marketable skill - just like knowing how to display a .jsp isn't. Of course, you're more likely to be hired if you have written one single .jsp than if you had written one single console app. But that's just temporary market fluxes.

What your application is is irrelevant. Software engineering is anything but such details.

Learn the syntax, the pitfalls, the general characteristics. Knowing 5+ different languages helps a lot. Learn different types of applications and their characteristics. Console is one type. Web services, MFC, .Net, ASP, JSP, Struts, QT, the list goes on and on.

The more you know, the better. Not just because they'd get you a job, but because you'll realize how similar all of these are, and how much easier it is to transfer between them.

But it all starts with console application.

Share this post


Link to post
Share on other sites
Quote:
Original post by Antheus
Quote:
Original post by loachman
How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.


1.5 years in embedded development I not only used only console, I used 8-12 at the same time... Not to mention it was all C/C++, including kernel, driver and application hacking.

Yes, C++ takes time to learn. It's a tool that can do anything - but even with lots of experience and knowledge, the concepts it offers will take long to master.

Will you use C++ (MVS2005, console app with stdafx.h and Debug mode) in your job? Never. You'll be required to develop, maintain or administer software and systems. If C++ is part of that, then you better know it, or know how to learn what you don't know.

But knowing how to develop a console application isn't a marketable skill - just like knowing how to display a .jsp isn't. Of course, you're more likely to be hired if you have written one single .jsp than if you had written one single console app. But that's just temporary market fluxes.

What your application is is irrelevant. Software engineering is anything but such details.

Learn the syntax, the pitfalls, the general characteristics. Knowing 5+ different languages helps a lot. Learn different types of applications and their characteristics. Console is one type. Web services, MFC, .Net, ASP, JSP, Struts, QT, the list goes on and on.

The more you know, the better. Not just because they'd get you a job, but because you'll realize how similar all of these are, and how much easier it is to transfer between them.

But it all starts with console application.


A note about that. Once you learn how to program learning a language is just a matter of syntax. The more you know the better but its not impossible to get a job knowing just how to program rather than specific languages as did i. I didn't know php i was a beginner/intermediate c++ programmer but it didn't matter because I know how the programs work and I can fix things I see wrong with logic. Just this week I am writing my first set of classes for the company going to revise some of the procedural code for payment types and turn it into a bunch of classes :-)
-Durfy

Share this post


Link to post
Share on other sites
Quote:
Original post by loachman
I started college this fall for computer science. I'm taking c++ this semester and advanced in the summer. Then fall is vb.net and java.


And then the other 3 years will be the actually useful stuff [grin]

Quote:

Anyways It seems to me that c++ is not a very useful language as I thought it was.
We are never going to leave the console in this course during college.


Yes, most people tend to think a little too much of it. Then again, most people tend to think a lot too much of user interfaces too...

Quote:

How many jobs, will actually want you to make programs using the console?


A good number. The presentation layer is only a piece of any system, and there's far more programming than just standalone PC apps for Joe Consumer.

Quote:

I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.


That's why there are teams of programmers. And yes, you'll need to know a lot more. Personally, I've dealt with more than a half-dozen different languages in just the first few months of my current job (c, c++, perl, C#, java, lisp, bash script; add sql and regexes used by various things...). Add to that the various other non-syntax things required by the job: the industry specific terminology and practices, how to interact with people in business, QA, documentation, how to effectively use and program for 3 OSes, how to plan effectively, manage your time, work with others, read ancient code made by 3 people no longer with the company, deal with archaic compilers, unreasonable requirements...

But if it makes you feel any better about 95% of my assignments so far were console only. That distinction is perhaps the least of your worries.

Quote:

Or am I wrong there. Can you go straight out of school into a job?


Sure people can and do. Remember, you're one semester and a little out of 8. You're seeing the super basics so that the professors can teach you useful stuff in the other 3 years.

Quote:

I really don't even understand how all these applications are made with c++. It does not have all the drag and drop "components" like vb does.Or does it?


If they're made fairly recently, they're probably not made with C++. And the built in components in vb and the such will only get you so far.



Quote:

VB programming isn't REALLY programming, imo.


How completely off base...

Quote:

I'd imagine it is extremely difficult to get a job in the game industry without knowing how to make a window, and at the very least some knowledge of 3D graphics, and some OpenGL or D3D.


You'd be wrong...

Share this post


Link to post
Share on other sites
I think it all comes down to picking your specialty. If you want to be a graphics engine programmer then your going to need a lot more than just a good grasp of C++. If you want to be an AI/gameplay programmer mastering C++ and using already developed graphic libraries would be more than enough to get you in the industry.

Share this post


Link to post
Share on other sites
Quote:
Original post by loachman
Anyways It seems to me that c++ is not a very useful language as I thought it was.
We are never going to leave the console in this course during college.

How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.


The reason you are learning C++ using only text input and output is because it is easier to learn that way. There are much more powerful interfaces and you will learn them eventually.

Share this post


Link to post
Share on other sites
I made a few games in high school using VB, Pong and a volleyball game (clone of slime volleyball...). Then, I went to DigiPen, and found out I really didn't know how to code. I knew what an if statement did, and I had a vague idea of a function. I honestly didn't know why you would use a struct for anything, nor did I know why passing by reference was different. Obviously, I didn't know what pointers were, or how classes worked.

There's a big difference between "drag" and "drop" of a command button with an if statement, and REALLY coding. But, that is just my opinion, and I know there are professional VB programmers, so I have no intentions of starting a flame war....Point is you can get by on VB without really knowing anything, and if you figure out BitBlt like I did, you could possibly think you are a great coder (like I did), although, I was absolutely clueless.

There's no reason somebody should limit theirself and not learn the basics of Win32, and OpenGL or D3D. Sure, ya MIGHT get in the industry without, but then you have A LOT to catch up on; doesn't sound fun to me...

Share this post


Link to post
Share on other sites
I work at a place that does alot of GUI work and I personally use Java on the project I'm on, but most of our projects use C++ combined with either Motif or QT.

In C++ your graphics are going to be mostly an extension of the language (where as java has alot more built in stuff).

Find a graphics library you like and read documentation on it.

Also realize that if you try and learn coding strictly for graphics stuff (like you set out to learn a graphics library and only learn what is necessary to put that stuff on the screen), you are severely handicapping yourself (in my opinion).

If you take someone that knows C++ inside and out, they can pick up different GUI packages fairly quickly.

Learn the language -- that's your foundation -- the gui stuff is just something that builds on that, but if your foundation is shaky, you'll never be any good with the GUI stuff.

Also realize that once you really start learning a language, it makes each subsequent language easier.

Typically you'll know the kind of approaches that you can take to accomplish a task, it is just a matter of finding the right way to do it in that language.

Programming is like anything else -- it just takes practice. When I first started, I did lots of things that I would later think "That was the worst possible way to accomplish that. Why did I ever do that?" -- then you start getting better and better and you get to the point where 90% of your time is spent on the best overall design and not on actually figuring out HOW to do what you want to do.

It's just like verbal communication -- as a child it is hard to actually create words -- to actually make the right sounds in the right sequence with the right intonations -- but as you grow up, it is less and less about HOW to say the words and more and more about which words best convey your point.

Just keep it up and you'll be fine.

Share this post


Link to post
Share on other sites
Quote:
Original post by loachman
I started college this fall for computer science. I'm taking c++ this semester and advanced in the summer. Then fall is vb.net and java.

Anyways It seems to me that c++ is not a very useful language as I thought it was.
We are never going to leave the console in this course during college.

How many jobs, will actually want you to make programs using the console? I'm not saying c++ is not powerful. It just seems to me like you would have to know alot more than just how to program a "console" app.

You would have to know how to program in C++. Once you can do that, all you have to do to open a window is #include <windows.h> and then call a handful of functions defined by Microsoft. (Assuming a Windows platform, anyway). Learning how to use the Windows API is no harder than learning how to use iostream or the other standard C++ headers. (Well, it might be a bit harder in that the API is bigger and there's more to learn. But there's no big conceptual difference. Whether you create a window by calling the Windows function CreateWindow, or use the C function printf to print stuff to the console, well, it's the same thing. It's just a function call. In both cases, you're going to have to look up what arguments it takes the first times you use it, but it's still just a function call.
In other words, console, graphics, GUI, text. It doesn't matter. The reason you aren't leaving the console during your course is that the programming language is the same, and there's no point in bogging you down with having to worry about GUI stuff now. You're supposed to learn C++ programming.
Not "Drag and drop MS Windows components".

Quote:
I really don't even understand how all these applications are made with c++. It does not have all the drag and drop "components" like vb does.Or does it?

Those drag and drop components are implemented simply by the IDE creating a few function calls behind your back. You can do the same in C++. Visual Studio does have such a graphical drag & drop kind of editor, but you can also just create your window + gui in straight code. There's no magic involved.

Share this post


Link to post
Share on other sites
Thanks for all the replys. Yeah I guess learning the language is the most important thing right now.

I was just out in left field about it. Because I have been doing actionscript for quite awhile. And I was used to "seeing" something happen. I guess it's all in due time. Like alot of you said, I've still got a few years left in schooling to "see" something. Better to learn and get a good foundation now.

Thanks

Share this post


Link to post
Share on other sites
Many jobs you will never get to work on the actual visual components at all. At my job I work on the server side software mostly, doing database stuff, fixing reports, etc. I do get a chance to make changes to the client every once in a while, which uses Borland C++, which is always a real treat.

I think many people get into C++, start learning on a console, and don't see C++ as any more than a console language. I know tons of kids in my classes at school who thought that, and that C++ was "very old and out of date" because it only used console windows. The reality is that it can do anything you want, you just have to know where to look. (*ahem* google).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this