Non-technical questions with hints
The open ended non-technical questions discussed below can reveal a lot about your passion and career aspirations.
- Enjoyed the people I worked with.
- Enjoyed solving technical and business problems.
- Enjoyed identifying gaps in the business requirements and technical designs and getting them rectified collaboratively.
- Enjoyed pro-actively identifying and fixing issues relating to non-functional requirements like performance, security, concurrency and memory leaks. These issues don't surface under normal scenarios and can be very challenging and satisfying.
- Enjoyed writing unit tests and initiating other code quality measures like automatic code reviews via tools like sonar and peer to peer reviews, and continuous build and integration tools.
- Main reason for leaving is that I felt that I was not challenged enough at my current job. The company offered a great opportunity as someone with 2-3 year experience and appreciate the skills I acquired there, but now I am ready to face more challenges and take my career to the next level.
- I am looking for more potential to grow in my next job.
- I am also looking for an opportunity to get more involved with the hands-on design decisions in my next job.
- Successfully completed a high profile Java/JEE based online trading system that handles 100+ concurrent users and integrates with 4 other systems.
- Designed and developed a Java based non-blocking server that communicates with 240+ retail outlets, and integrates with 6 other internal systems.
We all learn more from our mistakes or failures than from our successes or achievements. When you mention your mistakes or failures, make it a point to mention what you learned from them. You could say that these are classified more as mistakes than failures.
- The team was using a cut down database in the development environment and the technical solution I provided worked well for low volume of data, but when was moved to production like data, it caused some performance issues. Learned a valuable lesson of validating the solution with more production like data set early on in the SDLC. I subsequently revised the solution within a week and got the the big thumbs up from the users.
- Wrote some JUnit based integration tests that were bit fragile due to data fluctuations. The failing tests were causing the builds to fail. Took the initiative to fix this problem by performing the integration tests via more stable data sets that are populated via DBUnit during the set phase and the data are removed during the test tear down phase. Also, introduced other strategies for integration tests by using in memory databases like HSQL DB as opposed to actual database.
1. Through online job portals and off line advertisements to understand what the prospective employers are looking for.
2. Through industry specific forums listed above to see what the experts are tipping.
3. Through some research via http://www.google.com/trends
4. Through personal experience and networking with fellow professionals.
5. Based on requirements searching for a right tool for the right job at
STEP 1: Get started with good online tutorials. Generally Google for relevant tutorials, but there are a number of good tutorial sites like
STEP 2: Read online articles, blogs, and books about a particular framework, technology, or tool to understand its high level architecture, core concepts, best practices, and potential pitfalls. Google is your best bet, but there are sites like
STEP 3: It is a best practice to always keep the Java Docs handy.
STEP 4: If you still have any doubts to be clarified, check with your mentors and networked fellow professionals. Join popular developer forums to network with the wider community.
STEP 5: Find a way to apply or use a particular framework, technology, or tool in a commercial, self-taught, or open-source project.
STEP 6: Add this particular framework, technology, or tool to your resume's or CV's skills and experience section. Also, feel free to blog about your experience as you not only learn by blogging, but also increase your employ-ability by building an online persona.
- Good programmers hate repetitive and monotonous tasks. They find the right tools and ways to automate these monotonous and repetitive tasks.
- Good programmers don't reinvent the wheel. They will first look for the right tool, API, library, and framework to get the job done without requiring to write their own.
Q. What do you understand by the term "hidden experience"?
A. Good programmers are mainly self-taught and they acquire lots of so called "hidden experience" through proactive and continuous learning and helping others solve their problems. If you just rely only on your experience alone, it can take a lot longer to learn the key areas and concepts of programming. Do you have real 4 year experience or 1 year repeated 4 times? It is imperative that you bring out your "hidden experience" in your CV and at job interviews.
2. The relevant reference manual and home web sites bookmarked for the relevant technologies. The home sites can be Googled with right keywords like "Spring framework home", "jQuery home", etc and the reference manual can be Googled with keywords like "Spring framework 2.0 reference",etc.
3. Often not knowing the key terms for a particular piece of technology is the major challenge for the beginners of a particular technology. This is where the "cheat sheets" come in very handy. You can find a number of handy cheat sheets from cheat sheets
4. Sites like Java Practices provide good working examples.
Labels: Java career