×

Loading...

First Job: Interview - Confidence (2)

本文发表在 rolia.net 枫下论坛The first part of this article generated too many comments so I started the second part as a new topic. I copied over the first part at the end.

------------------------------------------------------------------------------

Two things helped me build confidence. One is reading books. The other is thinking. I talked about reading in the first part. Here I talk about thinking.

In the comments following the first part, one Rolian seemed to suggest that a few week's experience in EJB is definitely inferior to N year's experience. I disagree. I believe thinking makes a big difference in how good you are. Majority of people don't think much, just like they don't read much. If you think a lot about what you do, in a few weeks, you could understand a subject much better than those who've worked on it for years but never bothered to think.

Only thinking can give you ideas of your own. And you're confident if you talk about your own ideas. Recently, there's a topic about bad code on Rolia. Quite a few people insist that bad code is mostly caused by the desire for job security. I bet these people don't think much. If you think a little, you might discover other, more likely causes of bad code . Things like incompetent managers who hire incompetent team leaders who hire incompetent programmers, frequent requirement changes, new features, bug fixes, deadlines, on and on. If you think more, you might conclude that job security isn't much of a cause at all. Then next time you're asked the question in an interview, you'd be able to talk about it for an hour without stop. And with confidence.

I like software development. I used to think about it a lot. As a result, I have ideas for just about anything. From requirement gathering to design to coding to testing. From user interface to database. From source code control to editors. From Windows to UNIX. From CMM levels to Extreme Programming. From frameworks to code generation. Many of my ideas are uncommon. They may be surprising but they're all well thought out. And I talk about them with enthusiasm. With confidence. Non stop. The enthusiasm and confidence can easily convince my interviewer that I'm genuine and not fake. After that, nothing would matter, not even a few missed questions.

Thinking internalizes knowledge - it makes the knowledge your own. Years ago, I was one of the first to read the Design Patterns book when it came out. Even though the book easily drove me into sleep, I finished it and thought I understood the patterns. A year or so later, I found that I never even used one pattern since I read the book. Why? Because the knowledge wasn't my own. I didn't think enough about the patterns. So I read the book again. This time, I thought about how I could use them in my own work. One piece of my code had been very buggy. I tried to fix it quite a few times but each time new bugs would come up. I thought about it in terms of design patterns. Easily I realized it's a good fit for the Strategy Pattern. I cleaned up the code with the Strategy Pattern and it never bothered me again.

Thinking also distills knowledge. One way to test if someone really understands something is to ask him to summarize it in one sentence or two. If he hasn't thought enough about it, he'd probably have to use many sentences. And chances are he'd still miss the point. During one interview, I told the interviewer that all design patterns are really just ways to reduce coupling and improve cohesion. In one sentence, I summarized the whole Design Patterns book. Whether or not the interviewer agrees with me, it's clear to him that I thought a lot about design patterns.

I conclude this part with a good example of thinking. Recently, a real-estate agent came to see my house when I was just about to go out with my baby. "Are you the owner?" he asked. "Yes." I replied. In the car, my baby asked a strange question: "Daddy, why did you say you're the owner?" I said: "Because I AM the owner." Then my baby said: "But you're daddy!"

------------------------------------------------------------------------------------------------------------

A lot of people probably just want to make a living. They don't want to read books or think too much. Nothing wrong with this at all. In following parts of this article, I'll explore other ways to make oneself more confident during interviews.

------ to be continued ------



------------------------------------------------------------------------
--- FOR REFERENCE, I COPY THE FIRST PART OF THE ARTICLE HERE:
------------------------------------------------------------------------

I'll finish this article in bits and pieces. It's hard to find a big chunk of time to write it. I actually started this many times but never went very far.

I named this series "First Job" but I feel the points are equally applicable to experienced job seekers. More so with this article.

-----------------------------------------------------------------------------------------------------------------

I've gone through more than a dozen interviews over the years. A couple of them in Toronto, but most of them in New York. Except for two odd ones, every interview resulted in a job offer. Looking back, I feel the most important thing is confidence. With confidence, you nail hard questions. Without it, you fail even the simple ones. I was so confident that I sometimes made the interviewer feel they asked bad questions.

Confidence comes from competence. From knowledge and skills and ideas. In my experience, reading and thinking helped me the most in building up my confidence.

--------------------------------------------------------------------------------

The most efficient way to gain knowledge is to read books. A good book can teach you in a matter of days what you'll have to spend months or years to learn on your own. A great book like <<Design Patters>>, which distills decades of experience of many masters in the field, offers you what you may not be able to figure out in your life time.

Reading books is also an effective way to gain advantage over other job seekers. Most people probably don't read books. Happy with just a pay check, they have no desire to upgrade themselves. When I interviewed people, I asked everyone what design patterns they knew. Majority of them couldn't say anything beyond the Singleton pattern. This probably means they never read any books on the subject, even though they claim to be senior developers, team leaders or even architects.

It's possible to convincingly put a brand new skill in your resume by just reading a book. Years ago, EJB was a hot new Java technology. A job in a big investment bank has this as a key requirement. I never worked with EJB, but I was interested in the job and the bank. So I bought a book and started reading. About a week later, I passed their interview. What's more, the interviewer told my future boss that he'd never met a guy who understood EJB so deeply. Without the book, I wouldn't be able to understand it so "deeply" even after months of experience.

You don't need a big effort to read enough books. If you take public transit to work and spend 40 minutes each way, you can easily read one book in two or three weeks on the road. That would be over 10 books a year. Since most people don't read much, including even your interviewers, you'll be better equipped than them. And you'll be more confident during your next interview.

--- to be continued ---更多精彩文章及讨论,请光临枫下论坛 rolia.net
Sign in and Reply
Modify
Report

Replies, comments and Discussions: