views:

304

answers:

8

I am from Mechanical Engineering background. Then I started working as Classic ASP and HTML programmer in 99. I started working on ASP,HTML and ASP.net from the past 5 years.

I should admit that my basics are not good. wherever I worked in the past 8 years my managers were very happy with my work. I just completed my 2 year contract and am looking for new projects in this not so encouraging job market.

In some interviews I really goof up and I blame it on my lack of basics. How do I get out of this problem? I really want to be good in what I do.

+6  A: 

Learn the basics, obviously. There's no magic way around it.

quant_dev
+8  A: 

Ask for feedback during an interview. Study up on those things that you or the interviewer felt were weaknesses. Find some online courses covering material that you think you need to learn and go through them.

The bottom line is read, learn, practice. That's really the only way to get better at programming. Getting better at programming is the best way to compete against others for a particular job.

tvanfosson
The only real way to get better at anything for that matter.
Matthew Scharley
@tvanfosson, not so sure if feedback would be so forthcoming. Did you listen to the thread on SO podcast #57?
Rob Wells
It doesn't hurt to ask, though I'd probably do it after the job had been given to someone else. It's likely, though, that you'd already know what parts of the interview didn't go well.
tvanfosson
@Rob Wells, part of any interview is the give and take of asking questions, getting answers and going through a check list from each side. Some feedback has to happen or else how are you going to want to work someplace that doesn't seem to embrace communicating? Overall feedback may be a little hard to get, but there should be various non-verbal cues that one could use to see how the interview is going and how much of an interest the interviewer has in a candidate, that kind of thing.
JB King
+1  A: 

I hate to state the obvious, but if you're bad at basics you need to practice them. This is the only way you will get better.

I would start by getting some books that focus on the basics. You mentioned some past languages but didn't say much about your current ones. Can you fill us in on what in particular you are lacking and we can point you in the right direction?

JaredPar
+1  A: 

Be yourself.

I know it sounds trite - but don't pretend to be something you're not. If you're "natural" you'll be more relaxes. If you're trying to pretend you're an expert you're really not that good you will be stressed and it will come over in the interview.

A lot of what the interview is about is seeing if you'll fit in with the existing people. If you've got to the interview then the interviewer is (or should be) reasonably happy with your skills. The interviewer doesn't really have the time to see everybody who applies. If skills are vital for the job they should be tested, and ideally tested separately.

ChrisF
A: 

This is a tough one. Just as there's a correlation between school grades and work in the aggregate, grades don't predict work performance completely. Some people are better at school than in the work world, and some people are better at work than in the academic world.

Likewise, I think there are a fair number of people who are lousy at interviews but great at getting work done. I think you should emphasize how pleased the people you worked for in the past were with your work. Encourage your prospective employers to call your references. And be sure to talk about why you're good day-to-day at your job.

Nosredna
+5  A: 

Three suggestions:

Treat every interview as a learning experience. If you come out of an interview feeling like you goofed up, think about how you could have handled things better. If there is stuff that you were asked but you didn't know, go and learn something about it. Look up unfamiliar terms. Ask questions here on StackOverflow about specific things that you don't understand.

When you're at an interview, be engaged and curious. Ask questions---about the potential employer, about the tools and technology they use, about their product and market, etc. It's human nature, most people feel more positive about somebody who is interested in them and what they do. Some people worry that asking questions will make them look dumb or ignorant. But in my professional life, I find that the more senior engineers are usually folks who are never afraid to ask a question when they don't understand something.

Try to look at the interview process not as a stressful worrying time, but rather as a great opportunity. You can meet new people, learn new things, learn about a new segment of the industry. Even if you don't get the offer, the people you meet and the things you learn can be useful later in your career. Have fun!

Keith Smith
Treating every interview as learning worked for me, after a couple of interviews, notice the pattern of questions also, this channels you in the direction the interviewers are going. helps to focus your energies on these areas
Stuart
A: 

Firstly and most importantlyLook at failed interviews as a progression towards eventual success, never failure. Make sure you quantify why exactly you didn't pass the interview, and ensure that you are strong in that area for the next one...In this way you will systematically move towards your goal of passing.

Also ensure you only apply for jobs that fit your CV well. Common mistake is to apply to too many in hope. Nothing worse than technical questions regarding a technology you last used 5 years ago

Make sure you do your homework on your prospective employer

Be confident

Make suggestions, and ask questions.

Stuart
+1  A: 

I came into software from a mechanical engineering background as well.

One advantage was that I spent my career doing simulations on computers using finite element software. Not so good when you needed someone to fix your car or design a workable solution on the fly. But it did help with my sidestep into software development. I always had my fingers on a keyboard, and I was always writing software to either augment the packages I was using or tools to do calculations on the side. I learned FORTRAN, as did every ME of my generation, but then I learned C, then C++, and onto Java.

One thing that helped a lot was going back and taking fundamental classes in computer science. I don't think it's possible to be successful without an understanding of fundamentals like the relationship between hardware and software, data structures, parsers and compilers, relational databases, etc. I got 3/4 of the way through an MS in computer science. I did not complete the degree, but the course work has been invaluable.

You couldn't practice as a mechanical engineer without knowing statics, strength of materials, heat transfer, fluid flow, etc. Same with computer science. Gotta know the basics.

Computer science is different from mechanical engineering in that you can practice in the former field without a degree. When I was a mechanical engineer I didn't know anybody without at least a BS degree, and most people had a masters as well. A non-degreed engineer is as rare as a non-degreed medical doctor now.

Don't rely on this quirk. If you want to be more than a coder, you'll have to come up with a plan for acquiring those fundamentals. One advantage that you have now is the Internet. There's a wealth of information available to you (e.g., MIT algorithms course from iTunes). You just have to create a plan that's as rigorous as a formal class, give yourself a deadline, and stick to it.

Good luck.

duffymo