I really hope someone can give me some advice here.
But here's the problem ... despite my beginner coding knowledge ... I read those "java interview questions" websites that I've found and I know the answers to almost none of them. They are all theory questions. More like vocab and crap like that. This is really not my strong suit. So I'm not sure I would ever get hired. I've tried studying that stuff, and I will continue to, but it takes my little brain a LOT longer to absorb that sort of boring information than it does the actual code. I pick it up, I understand it, and 10 minutes later I forget it. I'm just not interested. And apparently I forget everything I don't care about.
SO the question is ... should I go for those entry level java jobs anyway? Or should I try to find another part time job and continue to develop my skills and get certified? Do you think, at this point, that I am at all hirable? I CAN answer all of the beginner programming interview type questions ... just not the theory ones.
I'm not sure what kind of interview questions you are unable to answer. Questions that require you to memorize syntax? I don;t think you need to worry about memorizing syntax too much. Memorizing APIs is such a useless task, that no one expects you to do it. If they do, then they are probably a place of work you don't want to be working in. You should focus on how to get things done. For example, if you are being interviewed for a web development job, someone might ask you questions around how to get data from a database. You should be able to explain the steps involved, not the actual code.
In fact, I would say, what's important is what you can do, not what you can memorize. If you can demonstrate in an interview that you will be able to do all the things that they want you to do, you are hired. Different jobs have different requirements. So, what you want to do is figure out what kind of jobs you want to target, and develop the skills that those jobs need. For example, if you want to work on Google/Facebook, they might need people who are good in algorithms. So, you start learning algorithms. If you are going to be working at a bank, they might need someone who can build REST services that work with their databases, and/or build web front-ends. So, go learn that!
And here's a secret: The only way you are going to become successful at interviews is by interviewing. No one is born knowing how to interview well. You can read 1000s of java interview questions and you will never learn how to interview well. If your goal is to get a job, and your challenge is that you have no idea how to pass an interview that stands before you and the job, then go and fail a bunch of interviews. Every time you fail, you will learn what you need to do to pass the next interview. Pick a company that is sort of like the companies you want to work for, and go check them out. Just don;t get dejected when they reject you(easier said than done).
In fact, I would recommend to anyone making a career shift, to start interviewing for your next career change long before you actually make the change. It will help you understand what you need to do to make that move.
Jayesh - Here's the types of questions I struggle to answer (I am copying and pasting from another website):
1. Which two method you need to implement for key Object in HashMap ?
2. What is immutable object? Can you write immutable object?
3. What is the difference between creating String as new() and literal?
4. What is difference between StringBuffer and StringBuilder in Java ?
9. What is the difference between factory and abstract factory pattern?
This is the kind of stuff that comes up, over and over, when I google "java interview questions." So do you disagree that these are the types of questions that are asked?
Yes, these are the kind of questions that test your knowledge of core concepts in Java. I thought you were saying that they are asking you for Java vocabulary. You can answer these questions wiithout knowing the exact syntax. However, you need to demonstrate that you understand the core concepts.
SO, let's look at your strong suits. When you say you don't have trouble understanding code, what do you mean? Do you mean sample applications? What have you tried reading?
And more importantly, what have you tried creating yourself? Have you tried building something yourself?
I have a hunch here, but I think you might do better as a front end programmer than back end. Being able to read Java code is a plus for front end developers. Also, since you already have skills in creating aesthetically pleasing photographs, you might be able to transfer some of those skills into UX skills. Coursera has some really good courses on UK design. You might want to explore those.
I should note that i DO know the answers to questions 2 and 4 but not the other 3, without looking it up.
I started reading one of the training guides for the certification exam but was having a lot of difficulty. I would read it and feel like I understood it ... and then fail the end of chapter quizzes quite dramatically. It was getting really frustrating so I set out to get some real java practice instead (I learn by doing, not by just reading). That's where I found codingbat.com and went through the entire site (almost done). And I know it's basic java ... but it doesn't teach me things like hashmap and the difference between new and literal strings. I might KNOW that ... but I don't know the appropriate vocabulary. Does that make sense at all??
I have not tried creating anything myself. I'd be happy to take suggestions as to what to create that may be a good beginner project.
I would also LOVE a book that comes with explanations AND then quizzes your understanding of that information by making you code stuff. That is absolutely a book that would be perfect for me if you happen to know of one.
Regardless, you are going to need something to show you can program. It could be a certification or a website you build yourself or something on github.
Thanks Jeanne! This takes me back to my original question ... at this point in time should I seek other employment while I continue to study? I will look into UI and I plan to continue to study java but is a job in this field so far off that I need to find some other type of employment? I've never done more than some freelance work 10 years ago in the development field so I just don't know how much an entry level programmer is supposed to know.
While there's no harm in trying to get a job now, I think you are going to need more first. For an entry level job, you still need to show you can code. (hence the github advice.) You are competing with students many of which have had an internship or developed programs for fun. So you need to show you can make something. Plus it gives you something to talk about at your interview. When I interview entry level candidates, I look for:
do they know what they claim to know? (aka if you tell me you know SQL, I expect you to be able to write queries)
what evidence can I find that they learn easily and can do the job (an internship or volunteer work or github helps here)
normal soft skills - this hasn't changed in 10 years so you'll be find there
can they code - I have every candicate write simple code in front of me
Jayesh recommends interviewing to learn. I think that is risky. Some companies won't interview you for a year or more after they reject you so you "waste" a slot. If it is just practice, I recommend asking someone if you can practice interviewing with them. It could be a friend. (The nice thing about being 10 years out of college is the likelihood of knowing people.) Or you could go to a meetup or local user group and ask around there "can you spend an hour with me so I can practice interviewing and see where I stand." This also has the advantage of seeing whether you are close to hirable at this time.
I suspect you are going to be more successful in getting a different job and studying/prepping for 3-12 months. That also has the advantage of having a resume that shows you've had a job recently and leaving all the older jobs off the resume. Unfortunately, some companies won't hire people older than 25 for entry level so only showing only recent experience has an advantage.
Thanks Jeanne! I'm surprised some companies won't hire entry level over 25 .. that's kinda crazy. If I'm willing to work for entry level wages then why not? I'm actually more than willing to take a paid internship but I don't know that old people like me qualify for them.
And you're right that I do know some people who can at least get me interviews.
Your post gives me hope that I can do this! Even if it's not right now.
As an interviewer ... do you have any recommendations on what looks impressive on github?