To begin your journey to a career as a programmer, it is worth answering the question, do you need programming at all? This question does not apply to those who are studying or have studied a field similar to programming. If you liked mathematics at school better than the humanities, if you like to spend a lot of time at the computer, if you want to learn something new and earn good money at the same time – then programming is for you.
To start you need to go one of the following ways
- Self-education. This option can be used both independently and paired with other methods. The Internet is full of sites, books, and applications that help you learn different programming languages and technologies. But this is the hardest way for beginners.
- University. If you’re graduating high school and want to be a programmer, then go to university. If not for knowledge, then for a degree. It may be a bonus when you get a job. But you will also get some knowledge. But do not forget to engage in self-study. To the choice of university should approach very responsibly. Carefully study the programs of study and choose the best technical universities.
- Mentor. It will be very good if you find a person who agrees to help you and direct you in the right direction. He will suggest suitable books and resources, check your code, and give useful advice. You can look for a mentor among your fellow programmers, at IT hangouts and conferences, in online forums, and so on.
- Specialized practical courses. Try to look for courses in your city, where you will be trained in a programming language or technology. I was pleasantly surprised by the number of such courses, including free and with subsequent employment.
What language, technology and direction to choose
When you become a programmer, after a year or two you will be free to choose any language you like. But when choosing your first programming language a beginner should consider the following criteria:
- Availability in the job market. The ultimate goal of this path is to find a job as a programmer. And this will be hard to do if no one in the job market is looking for developers in your programming language. Check the job sites, see who’s looking for whom more, write out a dozen languages. And move on to the next criterion.
- Low entry level. If you have to spend a long time learning a language, it can discourage you from programming at all. Look at the literature you’ll need to read to learn these languages. And pick the ones they say are easy, or that you find easy.
- Get high from the process. If you don’t enjoy writing code in your chosen language, you’re not going to enjoy the process, the work or the life. Do you want to? Make the right choice.
You will also have to decide on the direction of programming. Mobile, desktop, games, web, low-level programming, and so on. The most popular and relatively easy industries – development for the web, mobile and desktop clients. For each area can fit one language and not quite another. That is, when choosing a programming language, you should also be guided by this factor.
How to get a basic experience
Without experience you won’t get the job. Without work, you won’t get experience. It’s a vicious circle of real life. But that’s okay, we’ll get out of it.
First of all, don’t wait, start writing your first lines of code as soon as you open the book. Do all the exercises in the book, retype the examples, figure them out. Use your own ideas to make the examples and tasks from books more complicated.
Second, you need to find your first projects. This is probably the most difficult option, but it works. You will have to look for orders yourself, to do them. For a beginner, this is difficult. Completed projects can be written down in experience and shown to your future employer. Real projects are a big plus on your resume.
If you know English, it is better to register on the English-language exchanges(marketplaces ). The market is bigger there. If you don’t know English, learn it. In the meantime, Russian-language freelancing exchanges are available to you. Look for small projects that match your level of knowledge, or slightly above it. Apply for a couple of dozen of these jobs. And be prepared to get a sea of rejections. But if one or two applications will shoot, you will have a chance to get real experience.
Another option to gain experience is to help programmers you know. Ask them to give you small, uncomplicated tasks. If something does not work out, you will always have someone to turn to. And in this case you will be involved in a real project.
The last method is your own projects, various hackathons or work in a co-working space. It is difficult to start your own projects by yourself, it is better to find friends or acquaintances.
You can also get a job “for food” for 1-2 months in order to gain real experience.
Is English Important
Important! Don’t know? Learn. Know? Improve. Learn to read, write, listen, and speak English. Focus on technical literature. Listen to English-language podcasts. Read English-language programming textbooks. Pay more in the European or American market.
What you need to know other than the programming language
Additional skills for getting started
In addition, you need to know the programming patterns and data structures that suit your choice of programming language. It is mandatory to know the version control system, called Git, which is the most popular. Use it to get acquainted with repositories of code. At least one. You need to know the tools with which you work, the operating system and the development environment. And the main skill of a programmer is to know how to google. You won’t get by without that.
You need to prepare a resume. Not just a resume, but a good resume. Do not write unnecessary information on it, but do not keep quiet about your skills either. After you are invited to the interview, you should prepare for it. Go over the material on your resume. You need to be confident in your knowledge. Review the projects you’ve worked on, recall the techniques you’ve used. And go ahead – to a bright future with your new profession as a programmer.