Lesson 5

Topic: Qualities of a successful programmer


Get ready!


The focus of this lesson is "Qualities of a successful programmer".

Click the underlined words in this lesson to see the translation. Learn these words.

Watch the video

"Characteristics of a Good Programmer"

Characteristics of a Good Programmer

Successful programmers have a number of personal traits which make them different and better from the rest of the programmers. To become a great programmer, you also need to possess a variety of qualities that can help you stand out of the crowd.


So, without any further ado, let’s take a look at these 5 characteristics to become a good programmer:

1. Endless patience

Patience is the most important trait to become a great programmer. There might be a situation where you while programming, the only way through it is to stick with the work. It is also true that you can’t forcibly learn patience but you can develop it if you have an interest in programming.


2. High degree of creativity and problem solving

Programmers are considered among the most creative people in the world. Their work includes seeing a problem from a different angle and implement a creative solution by using code. If you want to be a successful programmer, you need to have the problem-solving attitude in you.


3. Desire to learn

A great programmer should be curious and should have the desire to learn everything possible. In a field like software development that’s changing and advancing every moment, you should grasp knowledge and information from everywhere. And it is equally important to adapt to the change. Most programmers like to solve problems and take up challenges that others would not. This is what keeps them up all night to find the right solution. Not all the programmers do it for money but for the passion they have.


4. Logical thinking

Being a logical thinker is one of the most important virtues we see in a good programmer. If you have logical thinking, you will easily be able to find answers to the problems. All it requires is for you to think about the solution with a calm mind and use all your knowledge and logic. The ability to handle a problem in a logical, analytical way is what makes a great programmer different from others.


5. Self-discipline

As a programmer, you will be spending a lot of time working alone. Even if there’s no one in the room, you need to keep yourself in the working zone for quite a lot of time. This brings us to self-discipline. You need to stay focused and dedicated to the work you’re doing. You need to keep yourself motivated to work for long days.


source: https://content.techgig.com/5-personal-characteristics-of-successful-programmers/articleshow/76118246.cms


EXERCISES (click here)

Ex.2. What do the following people in computing do? Compare answers with your groupmate.

1 Webmaster

2 Help-desk troubleshooter

3 Applications programmer

4 Security specialist

5 Systems programmer



Ex.3. Work in groups of three: A, B and C. Read your text and complete this table.

You may not find information for each section of your table (Table 1).


How to become a programming expert

The primary requirements for being a good programmer are nothing more than a good memory, an attention to detail, a logical mind and the ability to work through a problem in a methodical manner breaking tasks down into smaller, more manageable pieces.

However, it’s not enough just to turn up for a job interview with a logical mind as your sole qualification. An employer will want to see some sort of formal qualification and a proven track record. But if you can show someone an impressive piece of software with your name on it, it will count for a lot more than a string of academic qualifications.

So what specific skills are employers looking for? The Windows market is booming and there’s a demand for good C, C++, Delphi, Java and Visual Basic developers. Avoid older languages such as FORTRAN and COBOL unless you want to work as a contract programmer.

For someone starting out, my best advice would be to subscribe to the programming magazines such as Microsoft Systems Journal. Get one or two of the low-cost ‘student’ editions of C++, Visual Basic and Delphi. Get a decent book on Windows programming. If you decide programming is really for you, spend more money on a training course.


How to become a Computer Consultant

The first key point to realise is that you can’t know everything. However you mustn’t become an expert in too narrow a field. The second key point is that you must be interested in your subject. The third key point is to differentiate between contract work and consultancy. Good contractors move from job to job every few months. A consultant is different. A consultant often works on very small timescales - a few days here, a week there, but often for a core collection of companies that keep coming back again and again.

There’s a lot of work out there for people who know Visual Basic, C++, and so on. And there are lots of people who know it too, so you have to be better than them. Qualifications are important. Microsoft has a raft of exams you can take, as does Novell, and in my experience these are very useful pieces of paper. University degrees are useless. They merely prove you can think, and will hopefully get you into a job where you can learn something useful. Exams like Microsoft Certified Systems Engineer are well worth doing. The same goes for NetWare Certification. However, this won’t guarantee an understanding of the product, its positioning in the market, how it relates to other products and so on. That’s where the all-important experience comes in.

Here’s the road map. After leaving university you get a technical role in a company and spend your evenings and weekends learning the tools of your trade - and getting your current employer to pay for your exams. You don’t stay in one company for more than two years. After a couple of hops like that, you may be in a good position to move into a junior consultancy position in one of the larger consultancy companies. By the age of 30, you’ve run big projects, rolled out major solutions and are well known. Maybe then it’s time to make the leap and run your own life.


How to become an IT Manager

IT managers manage projects, technology and people. Any large organisation will have at least one IT manager responsible for ensuring that everyone who actually needs a PC has one and that it works properly. This means taking responsibility for the maintenance of servers and the installation of new software, and for staffing a help-desk and a support group.

Medium to large companies are also likely to have ! an IT systems manager. They are responsible for i developing and implementing computer software that supports the operations of the business. They’re responsible for multiple development projects and oversee the implementation and support of the systems. Companies will have two or three major systems that are probably bought off the shelf and then tailored by an in-house development team.

Apart from basic hardware and software expertise, an IT manager will typically have over five years’ experience in the industry. Most are between 30 and 45. Since IT managers have to take responsibility for budgets and for staff, employers look for both of these factors in any potential recruit.

Nearly all IT managers have at least a first degree if not a second one as well. Interestingly, many of them don’t have degrees in computing science. In any case, the best qualification for becoming a manager is experience. If your personality is such that you’re unlikely to be asked to take responsibility for a small team or a project, then you can forget being an IT manager. You need to be bright, communicative and be able to earn the trust of your teams. Most of this can’t be taught, so if you don’t have these skills then divert your career elsewhere.


Ex.4. Now share information orally about your text with others in your group to complete the table for each of the occupations described.

Ex.5. For which of the careers described are these statements true? More than one career may match each statement.

1 You may work for only a few days or a week for a company.

2 It’s a good idea to buy books on languages such as C++.

3 You are responsible for developing and implementing the software a company needs to run its operations.

4 You need to be able to break down a problem into a number of smaller tasks.

5 It’s worth paying for a training course if you get serious about this career.

6 Microsoft Certified Systems Engineer is a useful qualification for your career.

7 Your objective is to become self-employed.

8 It’s important you have the right personality to lead a team.

Ex.6. Put these five stages of programming in the correct sequence.

A Design a solution

B Code the program

C Document and maintain the program

D Clarify the problem

E Test the program


Ex.7. To which stage do each of these steps belong?

1 Clarify objectives and users

2 Debug the program

3 Write programmer documentation

4 Do a structured walkthrough

5 Select the appropriate programming language

Ex.8. Study these job requirements. Then try to match the requirements to the list of jobs which follows.

1.

  • at least 5 years (2 at senior level) in: Unix, SYBASE or ORACLE, NT or Windows 2000, Terminal Server, TCP/IP, Internet.

• strong project management (2 years)

• willingness to travel abroad


2.

  • able to manage, lead and develop a team

• knowledge of C, C++, Delphi

• experience of object-oriented design within a commercial environment

• ability to deliver software projects against agreed schedules and within agreed estimates


3.

proven track record in the delivery of e-soiutions in banking environment

• knowledge of Unix, NT and Oracle

• willingness to travel internationally


4.

minimum 4 years lifecycle development experience

• demonstrable skills using VB, SQL, RDBMS

• able to develop core s/w

• excellent communication skills


5.

• minimum of 18 months commercial experience of Web development

• knowledge of HTML, Java, ASP

• full portfolio of URLs as examples


6.

  • experience of NT, Exchange, SQL Server, Monitoring Software, Verta, TCP/IP

• solid grasp of networking

  • 2 to 5 years experience in a network environment

_______________________________________________________________


A Visual Basic Developer

B IT Engineer (Network & Database) c Web Developer d Network Support

E E-commerce Consultant

F Team Leader


Grammar

Requirements: need to, have to, must, be + essential, critical

Note how we described requirements for particular jobs:

  1. You need to be able to empathise with the person at the other end of the phone.

  2. IT managers have to take responsibility for budgets.

  3. You must be interested in your subject.

  4. You must have worked for at least 3 years in data analysis.


We can describe things which are not requirements like this:

You don't need to have a degree in data science.


We can also treat need as a modal verb and use the negative form needn't:

You needn't have a degree in computing science.


Have to is an ordinary verb. Its negative form is made in the usual way:

You don't have to be an expert in everything.


Mustn't has a quite different meaning. It means it is important not to do something. It is used for warnings, rules and strong advice.

You mustn't make unauthorised copies of software.


Fill in the blanks with the appropriate form of the verbs, need to, have to and must, to make sensible statements. More than one answer is possible in some examples.


1 Technical qualifications................ to be renewed at intervals to ensure they do not go out of date.

2 You.............. become an expert in too narrow a field.

3 You.............. to have good communication skills to become an IT Manager.

4 You.............. be an expert in hardware to become a programmer.

5 You.............. have worked with IBM mainframes for at least two years.

6 You.............. be able to show leadership.

7 You.............. have a degree but it............... be in computing science.

8 You.............. to have experience in JavaScript.

9 You.............. be able to use C++.

10 These days you.............. study BASIC.

table 3.xlsx

Table 1

Revision: If X, then Y


In this section, we will revise structures commonly used in programming.


Study this decision table. It shows the rules that apply when certain conditions occur and what actions to take. Using it, we can make rules like this:


1 If a guest stays 3 nights in January and if one night is Sunday, then charge 2 nights at full price and 1 night at half-price.

2 If a guest stays 3 nights and one night is not Sunday and it is not January, then charge 3 nights at full price.

table 1.xlsx

Now make similar statements about this decision table.

table 2.xlsx

Revision: Do until, do while

Study these extracts from a program flowchart.

They show iteration or loop structures in which a process is repeated as long as certain conditions remain true.

while.docx

Link these statements with while or until, whichever is most appropriate.


1 Calculate all sales. There are no more sales.

2 Search for records containing the term. There are still records containing the term.

3 Total extra items. Extra items remain.

4 Search member records. There are no more records.

5 Print all addresses. There are still addresses available.

6 Display client names. There are no names remaining.

7 List all guests. There are no guests left.

8 Total monthly sales. There are no more sales for the current year.

Challenge your English in this quiz!

Qualities of a successful programmer