These are not only useful for your resume, but also can be very useful in interviews. Firstly, you state the situation that existed in your workplace, then you describe what you did about it and finally you describe the beneficial outcome.
Situation: Performance problem where the application server had to be restarted every day.
Action:
Result: The application becomes a true mission critical 24x7 type with much improved performance.
Action:
- Turned the debug mode on to gather more log statements.
- Set up Visual VM profiling to monitor heap size and garbage collection patterns.
- Identified the cause of the problem to be a memory leak with a singleton class hanging on to short lived objects.
- Saw tooth memory pattern was observed.
- Fixed the issue by fixing the code to de-reference the short lived object graph.
Result: The application becomes a true mission critical 24x7 type with much improved performance.
In your Resume, you construct the above accomplishment in the technical key area of "performance" as
- Monitored, refactored code, and performance tuned a Websphere and JEE based online insurance application, which previously came down almost daily, became a true 24x7 application.
At the job interview, if you are asked an open ended question like
Q. Tell me about yourself?
A. [Hint:]
- Java/JEE developer with 3.5 year experience.
- Solid hands-on experience in sought-after frameworks like Spring and Hibernate.
- Experienced in finance domain, especially in "low latency" trading applications.
- Recently resolved a performance issue for XYZ Limited, where the trading application had to be restarted every day.
Now, you have aroused the curiosity of the interviewer. I am yet to work for an organization that did not have any performance issues. Employers love candidates with good handle in the 16 technical key areas. Only experience and proactive learning can skill you in these key areas. So, you can now expect follow on questions like:
Q. How did you go about identifying and fixing the problem?
A.
- Turned the debug mode on to gather more log statements.
- Set up Visual VM profiling to monitor heap size and garbage collection patterns.
- Gathered benchmarks before the fix.
- Identified the cause of the problem to be a memory leak with a singleton class hanging on to short lived objects.
- Saw tooth memory pattern was observed.
- Fixed the issue by fixing the code to de-reference the short lived object graph.
- Gathered another set of benchmarks and compared them against the pre-fix benchmarks.
There are more similar examples covered in my books. This technique is very handy to present yourself in a better light than other software engineers who have similar experience as you are or more. In many cases, clever answers like above with proper on the job examples can convince the interviewer to overlook just the "number of years of experience". Some software engineers do have real 3 year experience, whereas the others have same year repeated 3 times.
Resumes and job interviews are all about impressing your prospective employer that you can get the job done. Open ended interview questions and accomplishments section of your resume are your friends to do that. If you don't do it, someone else will do it and get the offer.
What if I am a beginner?
If you are a beginner, you may not have relevant industry experience. You can use this technique on
- Any open source project contribution
- Soft skills you had demonstrated in charity or community work.
- Soft skills demonstrated in other extra curricular activities like sports, scouts, etc.
- Skills demonstrated in any part-time job not related to IT.
sir , This is very good blog
ReplyDelete