All: Just wanted to relay my job search experience & story. My resume can be viewed at:
http://www.javajobs.com/javajobs/resumes/johncoxey.html I am located in Philadelphia, PA and have spent the past 2 months trying to find work in the Denver, CO area. Finally accepted a job offer in Denver, CO as a Java Programmer / Developer. I began my job search on Oct 15th and signed yesterday. I start the 2nd week of Jan 2001. The only sites I posted to were dice.com and javajobs.com. I ended up considering 5 serious offers. Unfortunately, the company that I really wanted (Ft. Collins, CO) to work for ended up having a 6 month hiring freeze. Was surprised, since they had spent around $2K to fly me out to CO, cost of rental car for a week (I wanted to look at apartments, etc) plus hotel costs for the week. I ended up flying out to Colorado for 2 different companies. Also had an offer from an outfit in San Jose, CA. even though they only did 3 phone interviews. Also had 2 offers from Philadelphia area companies, but I really have my heart set on Colorado. Bottom line is, the jobs are out there - but you need to have either verifiable experience or SCJP (or both). Regarding interviews. Every company I interviewed with had a 2 or 3 hour technical interview session. I would have to say that the preparation work that I did for the SJCP (even though I never passed it), helped me out tremendously. Basically, the question and answer sessions turned into in-depth discussions regarding Java. I tried to turn what seemed like a confrontational situation into both a friendly discussion as well as a learning experience. My goal being to create a friendly (yet professional) atmosphere with the recruiter(s). This tactic seemed to work, as I received offers from every company I interviewed with. Most of the questions centered around applets (complete applet life cycle along with demo applet HTML & Java source code), the access modifier tables (private, protected, public, etc.), data structures (such as hashtable, queue, stack), and extends versus implements. Most of the interviewers had me write a dynamic stack or queue in Java - and then based further questions off of my implementation. Overall impressions of the job search: - I was totally swamped with about 200 useless calls from recruiters who promised everything but never delivered. I have a new rule now; if the recuiter does not have an 800 (toll-free) number, they do not get a call back. I ran up over $150(US) in phone bills in the past 45 days. However, I will still respond to all e-mails from recruiters. - The serious job offers were all from companies who contacted me directly. Again, 2 from CO, 1 from CA and 2 from Philly. I did not pursue any leads from Pittsburgh, PA (had 6 or 7 leads) and did not pursue any leads from Atlanta, GA (again, 6 or 7 leads). - Definitely, do not post your resume to all of the job boards at one time. I was literally overwhelmed with calls, and I had only posted to two boards. Expect to do a lot of "weeding out" of recruiters. I can see why they get so much bad press. - Is the SCJP worth it. Absolutely, no doubts. It defintely focused my thoughts to what was important in Java. Even though I did not pass the SCJP (did not realize File I/O was such a big part of the exam), the preparation work was a major asset during the technical interviews. - Will the SCJP by itself get you a job. I would say no. All of the employers wanted to see some type of project work. Fortunately, I have about a year (even though it was in the college environment) of hands-on Java programming, as well as 8 months teaching experience. So now what: I am now in the process of making moving arrangements and making the 2000 mile hike from Philly to Denver. I am hoping to still take the SJCP again sometime next year. Also am hoping to learn UML and EJB (these are my personal goals) by the end of next year. Also, hope this job lasts more than 6 months (unlike the Lucent Technologies job I had, see resume). Hope this post encourages others out there. Good luck, John Coxey (firstname.lastname@example.org)
[This message has been edited by John Coxey (edited December 05, 2000).]
Hi John and congrats! Your success story is really inspiring! Would you help me in getting prepared for job hunting? I have teaching experience of about 4 years, in C++,VB,Oracle,PL-SQL. I am preparing for SCJP. I want to do some really good project in Java,but am really confused. Where should I start? Could you give some ideas? Can you elaborate on what projects you did? What is really counted in the job market? I saw your resume too. I am now in CA. Thanks.
Swati: This is a long post - basically two sections (one for job help and one for project help). Regarding your request for job search help: - I would hold off posting your resume until after the holidays, due to vacations, year end activities within companies, and budget finalizations for next year. I would recommend posting your resume to www.javajobs.com and www.dice.com sometime around the 8th or 9th of January, 2001. - The javajobs webmaster will post your resume to the board about 2 or 3 days after you e-mail it to him. The dice board posts your resume immediately - expect to get calls within 2 or 3 hours of posting to dice. - You are in California. The job market seems to be extremely hot right for Silicon Valley. - Again, start slowly with the job search. You definitely should get slammed with 10-15 calls a day. Most will be a waste of your time - but this is the game you have to play. However, you will get 2 or 3 definite leads per week. Out of a pool of 10-15 definite leads, you will get 4 or 5 invites to visit companies for on-site interviews. And out of this, you should get 2 or 3 job offers. - Again, this was my 3rd time in 5 yrs looking for a computer job, and the above scenario has played out 3 times in a row. The time frame is usually 2-3 months from the day you post your resume to the day you start. - Regarding interviews. ALWAYS ALWAYS ALWAYS wear a suite a tie to the interview (dark - pin stripe grey or black suite - white shirt (conveys honesty) - dark leather shoes (wingtips preferrably - goes back to IBM rules for interviewing). I know it sounds corny/etc having to wear suite&tie/etc, but that is the game. Violate the rules - and you're out of the game. It's that simple. Even if the company has a casual dress policy. A suite & tie shows respect. This suite & tie thing has been a great deal of contention with my students and I have been in some heated discussions with them at Lehigh regarding the suite & tie bit. Yes, I have had recuiters come to Lehigh with just jeans and a t-shirt. It's the game, you as a job-seeker still must wear a suite and tie. I go as far as saying that if I was interviewing for a job at a nudist resort - I would still wear a suite and tie to the interview. - Yes, print up your resume's on good paper. I know some books now say that you should just use copy paper. I disagree with that. - During the interview, it is perfectly legal (and recommended) that you have a copy of your resume in front of you as you proceed through the question/answer session. Also, keep one next to your phone - as you may be expected to do a 10-15 minute phone screen during the intial phone call. Even if it's just a fly-by-night recruiter - it's good practice for you to go through the resume. The more times you go through the interview process - the more you can fine tune and polish your presentation. - Recommended books. "Dress for Success" by ???, "Knock 'Em Dead" by Martin Yate. Contains lots of interview questions. You are going to get technical interview questions, but you are also going to get the managerial type interview questions - such as "How would you deal with a difficult customer", "How do you solve a difficuly task - and give me an example", "Tell me a story about a time that you failed - and how did you recover", "Where do you want to be in 5 years". The Yate book give great answers to these managerial type questions.
- I see you have VB and C++ experience. What types of projects did you do there? You may want to mention these during your interview. Do you know about stacks & queues (data structures)? Regarding projects: - I wrote two stand-alone demo projects (Java) for my classes at Lehigh University. I kept working on the projects after the classes were over - with the goal of using them as demos for the job search. All I did at the interviews was talk about them - no one ever asked me for source code. Both projects were stand-alone (instead of applets). Project #1: Was a multi-threaded chat room client server application. Basically, you would telnet from the client machine to the server machine. The server machine would maintain a separate queue (each managed by a separate thread) for each client. This way, if one client had a slow connection as compared to the others, that one client could have its messages queued up. In this way, the slow client would not hold up the pace of conversation. This was initially a text based application that I expanded into a swing GUI format. The thread idea is straight from the mailbox - producer/consumer model explained in the Sun Microsystems Tutorial (www.javasoft.com). Project #2: Again a stand-alone application. Background for project #2: Penn State University maintains a web site containing US Georgraphic Maps of the entire state of Pennsylvania. Every little road/building is on these maps. There are approximately 70 maps covering the entire state of Pennsylvania. These maps are especially useful for cross-country bikers/hikers, fishermen, and general outdoor recreating users. However, it is a major pain to go from one map to another. The goal of this project was to have a user connect to a server, and download a map. Then while the user was looking at the map, a behind the scenes thread would download and buffer the other 8 maps (North, South, East, West, NorthEast, NorthWest, SouthEast, SouthWest). Then the user could automatically scroll from one map to another. In theory, this was the idea. Design issues with project #2: The original 70 maps had to be converted (via Paint Shop Pro) to jpeg format (as this was the only image format Java could handle at the time). Unfortunately, each map had a size of 8-10 meg. When using the Java image classes - the Java JVM would actually maintain 4 or 5 copies of the same image in memory. This was verified using KLGroup's JProbe Analyzer. With just one map in memory, I ran into space problems. The solution was to divide each of the original 70 maps into 9 equal sections. So now I had (70*9) 630 maps to deal with. Then I had to create a text-based database (could not use Oracle, or other commercial database for project). The database (basically a flat-text file) had the name of the map, and the names of the other 8 surrounding maps. If the map was a border map - a special notation was made in the database. Next step was to create a viewport (Swing Component), and buttons so the user could move from map to map. ------------ Overall result of project #2: The preparation of the maps and the database was the time consuming part of the project. The viewport section was easy to code. Unfortunately, the maps still loaded too slow, and the screen movement was very choppy. The project seemed to work, but you had to have lots of patience, expecially if you wanted to go from screen to screen across the state of PA (about 150 of my "mini-maps" or so to go across state of PA east to west) ------- I see that a company has taken this idea and actually commercialized it. Also, the project did not involve the Java 2D or 3D API. Not sure if this would have sped things up. ----- Work Experience. I participated in a IBM AS/400 COBOL conversion to a Windows NT Java platform for Osh-Kosh Clothing. Basically, we took an existing inventory management system and converted it from green screen COBOL over to a more user friendly Java GUI platform. We were able to get funding from the state of PA since we used Java (considered experimental at the time). The end result was decent, but again speed was a problem. Expecially when building large (2000 to 3000 element) tables. ---- I visited Hewlett-Packard last week, and they were using the same table components (KL Group) that we were. They seemed to have the bugs worked out with regards to speed. The system they demonstrated (metered internet usage) ran just as fast as a C++ Microsoft Foundation Classes type project. I was truly impressed with the speed. So perhaps speed is not the issue now that is was when I orignally started using Java. Also, it has been over a year since I did the above mentioned projects, so I am hoping the combination of faster computers and optimization of code on the part of Sun Microsystems and KL Group Components helped to play a large part in the increased execution speeds that HP exhibited. ----- I hope this gives you some ideas with regards to projects. Let us know how the job search goes. John Coxey (email@example.com)