How do you tell if a programmer is a "veteran" or "novice"?

Source: Internet
Author: User

In addition to years of programming experience, what can distinguish a programmer as "veteran" or "novice"? Programming skills are, of course, part of it, but it's definitely not all.

Smart programmers may have better programming skills than their peers, but that doesn't mean they are "old hands." Similarly, just because you have 10 of programming experience does not mean they are a master. In the workplace, having many years of programming experience does not explain the problem. Even if you are not fired, it will not improve your value.

The following are the things that most senior programmers will do.

1. Mastering at least one programming language

I believe that some good programmers only know (and are proficient) in a programming language, but in a way it can actually limit one's mind. Like when you're holding a hammer, everything looks like a nail. I think that knowing and successfully using at least one programming language is an important step for programmers to move from novice to veteran. I would say that, like JavaScript and SQL, auxiliary programming languages are valuable only if you have actually developed a complete application and used those programming languages in it.

2. Programming often in addition to work

I complained about open source as a requirement for hiring, but that's just because many passionate programmers spend their time elsewhere. In addition to contributing to open source, you can also be a part-time consultant, start a part-time business, develop your own products or start your own micro-software company. Of course, you can also try to pick up some part-time projects from outside, you can refer to Bole online This "successful project to pay attention to several points."

Note: MISV is MICROISV, is a software company with only one employee, is a kind of micro-company.

3. Experience a complete software development process, from concept design to product realization to product maintenance

Some programmers want to get detailed design instructions without having to do their own, and then hand the defect code to the test/maintenance team, which is a microcosm of mediocre programmers. Any competent programmer will work closely with the client to develop the requirements analysis, and then encode the implementation and, of course, maintain it. If you are lazy in the coding implementation phase, you have to pay the price in the maintenance phase.

4. Continuous innovation

Innovation is doing something that people around you haven't done to improve your process or product. You don't have to be the first person in the world to do this, just find a problem, find a solution and then implement it.

5. Software written to solve real-world problems

There is a fictional scene: A hacker, just out of love for technology and what he does, is writing code all day. But it's hardly a good developer. In fact, I've seen some developers and customers arguing about better technologies that are less helpful to customers. This is counterproductive. You can use your time to improve. But when it comes to work, it's best to write code that actually improves and solves the problem, rather than using unusual algorithms or interfaces.

How do you tell if a programmer is a "veteran" or "novice"?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.