Some Interesting Web Sites for enthusiast Programmers!!

1 )  www.hackerearth.com   – Code Practice , Solve the Puzzles and get hired.

2 ) www.codechef.com   – Code Practice , Win The Challenges , Solve the Puzzles, and get hired.

3 ) www.geeksforgeeks.org  – Learn The DS (Data Structures) and Algorithms, Learn the Programming Languages , Practice The code, Participate the  Quiz’s, And get the Interview Experience.

15 Characteristics of a Good Programmer.

Here are 15 characteristics that can signal an applicant would make a great addition to your programming team.

1. Impressive technical skills.

One mistake many hiring managers make is hiring from a checklist of requirements. Instead of requiring three years of C++ and one year of Java, look at the big picture. A programmer who has worked mostly in an older language but has recently added a new language to his certifications may be the perfect fit, since his years of experience give him a great foundation in other areas of programming.

Sample interview question: Describe your experience with different programming languages.

2. Willingness to learn.

Technology is always evolving and the skills and abilities a programmer has today will likely be outdated in a few years. It’s important to find a programmer who has an interest in following the latest trends and is eager to participate in any continuing education opportunities that are available.

Sample interview question: What do you do to keep your programming skills current?

3. Debugging skills.

Creating code is only part of a programmer’s job. When software doesn’t work as expected, a programmer is expected to get to the root of the problem quickly and effectively. Instead of spending hours blindly making changes, search for a programmer who prefers to carefully investigate his code and research possible issues until an answer is found.

Sample interview question: How do you handle bugs in your code? (next, I would give them a trial run to debug code)

4. Work environment match.

Some programmers require complete silence to concentrate, while others thrive in chaos. A worker’s personal preferences are an important part of his productivity, so it’s best to be clear about your office environment up front to avoid problems after the person is hired.

Sample interview question: Describe your ideal work environment.

5. Problem-solving skills.

For those who have never attempted to create an application from scratch, programming can best be compared to solving an extremely difficult math equation. A good programmer thrives on finding ways to make something work, despite the odds. Otherwise, you may be hearing the phrase, “That can’t be done,” every time you propose an innovative new project.

Sample interview question: How would you create (insert near impossible task for your organization)?

6. Passion for the work.

While some programming staff can simply serve as nine-to-fivers, many hiring managers are interested in finding someone who will gladly put in long hours when the situation merits it. Often these employees can be found during the interview process by their outside interests. True programmers are self-proclaimed “computer geeks,” spending their time gaming, building servers, or creating apps for friends. While this passion isn’t a necessity, it’s often a way to find top-shelf candidates.

Sample interview question: What are your hobbies?

7. Grace under fire.

It may not seem like it to the outsider, but programming can be an extremely stressful profession. When deadlines are tight and nothing seems to be working, it’s easy to freeze up. The ideal programming candidate will be able to handle even the most stressful situations calmly and, most importantly, be able to continue working.

Sample interview question: Describe a time when you were under extreme pressure and your application wasn’t working. What did you do?

8. People skills.

Programmers generally aren’t expected to have heavy-duty customer service talents. It seems to be understood at the outset that they’ll mostly be sitting in front of a computer all day. Yet programmers are regularly expected to interact with managers, co-workers, and clients, so the ability to work well with others is a must. This is especially true if your programmers are occasionally asked to participate in client meetings and explain how a system works.

Sample interview question: Explain how your favorite application works in a way a layman would understand.

9. Laziness.

Larry Wall, the original author of, The Perl Programming Languages, describes three good qualities in a good programmer: laziness, impatience and hubris. Laziness may sound like a bad trait for any employee to have, but IT managers have said that if you want to find the best way to do something, ask a lazy person. Chances are, that person will have found the quickest, most efficient way to do it. A company’s programming staff can often find a way to automate processes, saving time and money.

Sample interview question: Tell us about a time when you saved time by automating a process.

10. A business perspective.

It’s easy to lose sight of the big picture while focusing on creating one piece of software. The ideal programmer has a business focus that allows him to move beyond the current application. A business-focused programmer will suggest ideas for new applications that can improve operations.

Sample interview question: Have you ever made a suggestion that improved a business’s processes?

11. Ability to plan.

Rather than jumping into a new assignment, a good addition to your programming staff will first learn as much as possible about the desired end product. Once he’s completed that analysis, the programmer will first design the program structure before typing the first line of code.

Sample interview question: Explain your approach to a new design. What do you do first?

12. Ability to handle failure.

Programmers rarely get everything right on the first try. In fact, failure is almost a certainty. It’s important to find programming staff that sees errors and bugs as a challenge rather than a sign of defeat. Persistence is important, as well as the ability to start over if necessary, even after hours of work.

Sample interview question: Have you ever spent hours on a code, only to find it was the wrong approach? What did you do?

13. Teamwork mentality.

A programmer rarely works alone, even if he’s the only developer in a company. The ability to work with programmers, business users, marketing and sales staff, and fellow programmers is essential.

Sample interview question: Share a rewarding team experience.

14. Willingness to research.

A programmer’s language is only part of the picture. A good developer must learn about specific industries in order to design programs that work for its employees or customers.

Sample interview question: Tell us about a time you had to learn about a particular business? How did you do your research?

15. Respect for deadlines.

Most programmers work on projects with deadlines. While it’s important that managers understand a reasonable turnaround time for coding a new application or repairing an existing one, programmers should also show respect for deadlines. It’s important to determine that an applicant will do everything possible to meet assigned deadlines.

Sample interview question: Describe a time when you had to meet a tight deadline.

It isn’t easy to find the right programmer, especially if your knowledge of programming is limited. One way to improve your hiring experience is to invite a member of your programming staff to participate in the interviews. They help to ask the questions that you won’t know how to ask.

 

A article from :

http://www.devbattles.com/en/sand/post-603-15+Characteristics+of+a+Good+Programmer

REST vs SOAP Web Services

I am seeing a lot of new web services are implemented using a REST style architecture these days rather than a SOAP one. Lets step back a second and explain what REST is.

What is a REST Web Service

The acronym REST stands for Representational State Transfer, this basically means that each unique URL is a representation of some object. You can get the contents of that object using an HTTP GET, to delete it, you then might use a POST, PUT, or DELETE to modify the object (in practice most of the services use a POST for this).

Who’s using REST?

All of Yahoo’s web services use REST, including Flickr, del.icio.us API uses it, pubsub, bloglines, technorati, and both eBay, and Amazon have web services for both REST and SOAP.

Who’s using SOAP?

Google seams to be consistent in implementing their web services to use SOAP, with the exception of Blogger, which uses XML-RPC. You will find SOAP web services in lots of enterprise software as well.

REST vs SOAP

As you may have noticed the companies I mentioned that are using REST api’s haven’t been around for very long, and their apis came out this year mostly. So REST is definitely the trendy way to create a web service, if creating web services could ever be trendy (lets face it you use soap to wash, and you rest when your tired). The main advantages of REST web services are:

Lightweight – not a lot of extra xml markup Human Readable Results Easy to build – no toolkits required SOAP also has some advantages:

Easy to consume – sometimes Rigid – type checking, adheres to a contract Development tools For consuming web services, its sometimes a toss up between which is easier. For instance Google’s AdWords web service is really hard to consume (in CF anyways), it uses SOAP headers, and a number of other things that make it kind of difficult. On the converse, Amazon’s REST web service can sometimes be tricky to parse because it can be highly nested, and the result schema can vary quite a bit based on what you search for.

Which ever architecture you choose make sure its easy for developers to access it, and well documented.