Hi.

Okay. Here is my situation. I am stuck in college for at least two more semesters. I have no work experience, not even internship. The primary reason has and still is my wanting to finish school ASAP. In other words, I take as many classes as I can and take a class in summer.

I posted a thread about the importance of college. I believe all responses recommend college degree as a "passport," but ultimately experience is what gets the job done. I am trying to accomplish both, but I have running behind.

I understand C++ and OOP paradigm. I understand 16-bit ASM and Windows MFC and Winsock. I am currently working on projects utilizing MFC and Winsock.

I would like to know what is the next step? I mean I have tried everything in my power to gain experience. I would like to know what real software engineers do that gain experience.

There two interesting developer tools I have no knowledge of right now. They are 32-bit ASM and COM programming. I would like to know what is more powerful in general. In other words, which tool is more extensible as C++. Both tools can be implemented into a C++ project. Both tools support Windows, however, 32-bit ASM supports Linux as well.

How powerful is 32-bit programming present in the the future?

Thanks,
Kuphryn
Posted on 2002-10-04 13:27:25 by kuphryn
'real' software engineers do anything that pays 'real' money :tongue:


COM is platform independant in reality. If you want to know what's good to learn from an employment POV (point of view) check your local jobpages and see which skills they ask for most.

1 get a degree
2 while getting that degree try getting some experience
3 once having the degree get a job (<- hardest part :( )

that's the best course of action :/


these days everyone asks X years of experience it seems, so having some certainly won't hurt
Posted on 2002-10-04 14:13:17 by Hiroshimator
Okay. Thanks.

I really perfer to learn programming tools I admire and actually use tool. I do not want, but will have to, look at what employers look for. That is sad.

I find 32-bit ASM interesting because I have some 16-bit ASM background. COM can be different without help from MFC and/or ATL. I have no knowledge of ATL.

Kuphryn
Posted on 2002-10-04 14:25:05 by kuphryn
Most universities have job placement programs designed to help seniors make contacts and possibly arrange for a job after graduation. You should check with your university. Also, those folks usually have a good idea of what skills companies are currently seeking.
Posted on 2002-10-04 16:01:56 by Berninhell
I think a safe bet would be C/C++, java and something like VB or C#
Posted on 2002-10-04 18:39:02 by Hiroshimator
#include <imho.h>

Languages:
C/C++ (the long time standard language)
VB (good and easy to make trivial applications in short time)
C# (latest hype language)
Java (another hype language)

Assembly (this will not get you the job, but afterwar will help you learn what the heck is going on in the computer, so you become a bigger asset for the company AKA keeping the job :grin:

OS:
MFC is a standard choice, but also learn the windows API, including COM.

And also familialize yourself with unix (you never know if you will need to program something for a server).

Other:

familiarize yourself with SQL and other databases. Because most programming jobs are related in one way or another to databases.

Know how to interact with people, its sad but true that your social skills will have far more weight than your programming skills. (especially if a HR persons is doing your interview, yuck).
Posted on 2002-10-05 09:18:32 by dxantos
I think Java and COM would be your most important next step. I like dxsantos list.

I don't know what the job market is like where you are. I thinkyou are non-US. I agree that one way to find out what employers want now is to look at the want ads in the newspaper. It might be difficult to get a job until you graduate, especially if you intend to carry on a load of classes to complete asap.

It might be best to just wait until your last year of school. THEN hit every potential employer with your resume listing what "you can do". NOT what you did in school. They don't care. You have to think of what you can do to reduce their risk of hiring you. So if they need a C++ programmer, they don't care if you took the class. They want you to tell them you "can program in C++" or preferably "fluent in C++" or something to that effect.

If you know an employer wants Java programmers, and you feel comfortable as a Java programmer, list it as your strength. "Strong Java programming skills" or at least indicate you are comfortable, fluent or whatever.

The main effort should be to get your foot in the door. Most US employers (at least) are reluctant to fire anyone. Especially the larger companies. It makes them look bad because they hired you in the first place. Plus there might be a lot of paperwork or justification involved. They'll frequently be countered with "Yeah, but he's right out of college. What did you expect? Give him a break/warning/chance/more time."

If you show strength in an area the employer is interested in, it looks better than having a long list of languages. This might give the impression your a "jack of all trades, master of none". Just show no more than three languages your good at. List the others as sidelines. "Also fluent in HTML, ASP, etc." Just be careful how you word it so it doesn't sound like you took them just for laughs.

Don't make any demands or have expectations on salary. Getting that first job is your top priority. If you can list three years doing ANYTHING you are in! During school, work for free if you have to. Even if you get fired for doing something stupid you can say "Well, it was my first job out of school and I did something stupid but I learned from that mistake and I'm much better now because of it." Most employers would agree with you and not hold it against you (too much).

You might have to take a job you don't like or with an employer you don't like but it's better to get the experience and tough it out than to sit home idly. When you sit down to do your first program, you'll see some familiarity, but you'll be amazed to find out most companies and programmers don't do things the way you thought or the way you did in school! That will be your first culture shock.
Posted on 2002-10-05 09:32:33 by drhowarddrfine
Start practicing code that does database work, as a lot of commercial stuff requires you to be able to retrieve info and update info in databases. By all means list your asm experience on your cv, but nobody is going to hire you for your asm skills alone. Employers don't like asm, most of them don't know what it is, and the rest are scared of it. The only people who really use asm are electronic engineering firms, and firms who make hardware.

VB6 is dying a slow death, although there is still a lot of old code out there. The .Net environment is starting to take off, so get familiar with it. Telephony/VOIP type work is also quite lucrative, and uses C++.

HTH

Posted on 2002-10-08 05:52:29 by sluggy
Okay. Thanks.

I appreciate the thoughts and will consider all aspects of all advices. I agree and intuitively understand the powerful of "real" software design and implementation in the "real world." In other words, I know the importance of programming experience to software companies. Nonetheless, I also understand that a college degree is a "passport." I by no mean think that is fair, but that is just how contemporary society works.

C++, MFC, Winsock, and 16-bit ASM have become natural to me. My current project in terms of learning new tools is software design via Modern C++ Design and horning my understanding of the STL via Effective STL.

My next goal will be 32-bit ASM, Win32 API, and COM. I have not decided on which is most important and which order I should learn them. I believe 32-bit ASM is very similar to 16-bit ASM and that I could understand 32-bit ASM in less than four weeks. Win32 API and COM will take more time and practice, especially COM. I have no problem and in fact I enjoy creating my own projects and implementing using the tools above.

What does everyone think about Win32 API. Do you mean Programming Windows, The Definitive Guide to the Win32 API by Charles Petzold and the future of Win32 API?

I definitely agree that employer are looking for programmers with knowledge of SQL. What do you think about SQL and its implementation? If I an not mistaken, SQL requires COM.

Kuphryn

Note: I live in California.
Posted on 2002-10-08 09:44:47 by kuphryn
SQL has nothing to do with COM

wether an employer will seek for someone with SQL knowledge will depend on the line of work he usually accepts :)

basically COM (Component Object Model) is a binary standard (by Microsoft) for interoperability between languages and platforms, SQL (Structured Query Language, and don't say S?quel :tongue: ) is just a language used by databases to perform operations on them.

I don't know where you got the idea that it needs COM but they have nothing to do with each other at all.

The Win32 API is just the set of functions provided to you by the 32 bits windows platform that is usuable by you by default.
Posted on 2002-10-08 13:13:42 by Hiroshimator
Okay. Thanks.

One reason I made the connection between COM and database programming is that both rely on a program to communicate with it. In other words, we use COM to communicate between processes within a workstation and through a network. I believe SQL works in a similar way. For example, we communicate between a process an an SQL server.

Kuphryn
Posted on 2002-10-08 14:46:52 by kuphryn
I believe SQL works in a similar way. For example, we communicate between a process an an SQL server.
It is not quite a simple as that, and that is the reason why you need to study it ;)
Posted on 2002-10-08 20:30:30 by sluggy
interesting. Sound valid!

Kuphryn
Posted on 2002-10-08 21:26:36 by kuphryn