Tips from the experts that will help you start a career in programming. No time to read? Go down immediately to the bottom of the article, you’ll find a pigtail portion of the info written below.
To begin with, you need to assess what knowledge about programming you already have. There are roughly three levels:
- If you have a fundamental university education, knowledge of C and OOP languages, then you can safely apply for the job in IT. It will be easy for you to adapt and understand the workflow and the processes “on the spot”.
- If there is no university specialized education, then it is worth remembering what we know from the school course of computer science. Knowing what a cycle, a choice structure, a function, an array at the start is, how flowcharts are drawn and what types of algorithms are, will be enough to create some typical things in PHP using tutorials or some courses. You should not go into more fundamental languages, but you can fiddle with PHP.
- If you don’t have this knowledge, then you should refer to the school course of computer science. For example, take a school textbook for computer science for grade 8 in Pascal. I don’t think it will cause much difficulty.
Also, it is worth remembering that courses are not the only way to master a profession. If we are talking about PHP, then there are various tutorials and web-sites.
The most important thing is to constantly try. What not a single textbook and course will teach you is willpower in mastering the material and a competent approach to learning. It is necessary not just mindlessly copy lines of code, but think of what you do.
It’s usually hard to get started. But to keep motivation high, it is better to start with something very simple. This will give you confidence in your abilities and the understanding that you are already succeeding in something. Then there will be excitement and a desire to do more and to do it better.
First, I suggest starting your IT journey with learning English. It is not necessary to know it from A to Z; it is enough to master the vocabulary on the topic “developing” and general technical terms. This is necessary because most of the articles, lectures and literature on developing are in English, and the programming languages themselves assume that all variables, objects and modules will be in English words. And when they are used illiterately, the code is greatly “cheapened”.
Secondly, knowledge of algorithms and data structures is important. Programming is, in essence, explaining to the computer what it needs to do, and the explanation can be either simple and accessible, or tricky and incomprehensible. For learning about algorithms and data structures, I recommend “The Practice of Programming” by Kernighan and Pike. This is a must have for a novice developer.
The third tip is to attend courses. They can be offline or online – the main thing is to be able to communicate with the teacher and receive feedback. It is important not to stew in your own juice and to be able to ask questions and correct mistakes before they become beliefs.
And the last piece of advice – properly organize your workplace. Learning a new language or technology is a complex process that requires a lot of concentration. Therefore, nothing should distract you – install a convenient IDE, remove everything superfluous from the desktop, organize space in Pocket or Evernote. This saves a lot of thought fuel and helps to focus only on the learning process.
PHP and Python developer
Once my friend came to me saying, “If I work at the factory for another six months, I will kill myself due to boredom.” And then I had to draw him the upstream trajectory.
First, you need to select a language. Basically, it can be any language – for this, try asking yourself two questions:
- if I heard anything about the existence of such a language?
- will I find a job at all? Because after graduation from the university, some applicants have to run into refusals hearing something close to “sorry, but there are no commercial projects in Pascal yet” (a real phrase from one HR).
Second, as P!nk’s song says, “You’ve gotta get up and try, try, try”. A friend at that time had already started watching some courses, downloaded a demo project and tried to make it without a sensible explanation. Oddly enough, this is a good way to start – poke a stick into the code in the hope that something good will come of it.
Thirdly, the main principle is practice and more practice. If you don’t know how and why this or that works, google it and look for sane answers. If you have a familiar programmer, ask him. And write down all the puzzling terms, you’ll google them afterwards anyway. And write code. And then write again.
I would like to note that you should not immediately rush into the books. And if you already rushed – do not read, write the code instead. Books can explain how to study or help when you yourself have a good understanding of the basics. But what really gives you a result is only beating your face against the keyboard in an attempt to understand how it all works.
Fourth, when you have enough knowledge, make the first demo project. And immediately start learning git: register on GitHub and post your crafts, no matter how underdeveloped they may be. It’s always better than nothing.
It is always difficult to take the first step, especially when learning something new. Often, noble impulses to engage in education, change the field, or improve the quality of life are broken by a wave of fear of the unknown, insecurity in success and laziness. A change of direction is just such a story, but don’t let it affect you. Here are my five tips to help you in your new profession.
Talk to the IT guys
If you know a programmer, ask him what are the areas of work and what are their advantages, how to join the IT community, where to start learning. A good story from a knowledgeable person will give you extra motivation.
Use learning materials
I recommend reading various articles for newbies: you’ll find job descriptions, language tutorials, tips from development experts, and more. Of the programming languages, I recommend PHP, since it does not have such a high entry threshold as others.
Take offline and online courses
It is better to start learning with courses that are free of charge so you can decide on the direction of training and further work; you will understand what is closer to you and what you would like to do. It makes sense to purchase paid courses if you have decided on a profession and a development vector.
Internships in IT companies and excursions
Take summer internships in IT companies, so you will gain experience working on real commercial tasks or you will be able to create your own product in a team in a short time. Many more companies arrange excursions to their offices, I advise you to definitely visit them, have your eye on a place for yourself 🙂
Go to IT parties
Also, follow the announcements of IT events in your city – this is a cool movement where speakers share their experience in a pleasant atmosphere, and companies talk about themselves and open vacancies.
And one more tip: always be open to new things and keep developing. You are on the right track!
Mobile and web app testing specialist
I believe that you want to start your path in programming with a clear understanding of how digital technologies mean for you personally and for everyone in general. There is a lot of basic literature on this issue which is not difficult to get.
In the process of learning the basics of programming and parsing terminology, you might find juicy a course from Haxlet (there is about psychology, an approach to studying and tricks of studying, which are rarely mentioned anywhere). And, of course, a huge number of other paid / free courses, seminars, and books.
If possible, I recommend attending all offline courses and events that you can visit. This is a great opportunity to join the IT environment, meet interesting and helpful characters.
It is also worth familiarizing yourself with all the basic knowledge in building an application, its development cycle, the process of working in a team. Here are a couple of books.
- Dan Pilone and Russ Miles «Head First Software Development» (out of print for a long time, search in flea markets).
- Dot-com testing or manual on bug abuse in Internet startups
- The Goal: A Process of Ongoing Improvement
If you plan to work within the company, be sure to start studying the work according to the SCRUM scheme, it will definitely come in handy.
And good luck!
If you are just starting to program, you will not be required to have deep knowledge of platforms, architectures or languages. It is enough that you know at least something and you are interested in this topic.
Your personal qualities are much more important. If you are capable of heart-searching, you are independent, responsible, diligent, and knack for communication and expression of thoughts, then you already know the right path yourself, so skip this advice 😉
And it will also be great if you can adequately perceive criticism, able to analyze your weaknesses, defend your position, and have read the Google manual;)
I recommend that you immediately take a shot at something, i.e. look for internships in your city: the best option is a company with a technically strong team where mentors will give you a base for development.
As to practical skills, it is necessary to change thinking, that is, to understand the basic principles of development.
Start with what you are interested in: you are fond of macrame lace, try to create a website / blog / mobile application, or at least an RSS feed.
Read specialized literature and study what interests you, whether it will be algorithmic programming or the structure of operating systems.
And of course, program constantly and regularly, rewrite the code from scratch. With practice, you will become aware and understand the applicability of patterns and templates. Always look for something new and don’t let the glare in your eyes go dark!
- Learn English! Today, most of the materials, and the programming languages themselves, are written in English. Knowing the language will allow you to better understand the terminology and write code more competently.
- Remember the basic school course in computer science. Knowing what a cycle, a choice structure, a function, an array at the start is, how flowcharts are drawn and what types of algorithms are, will be enough to create some typical things in PHP.
- Study algorithms and data structures – this will make your code easier and more accessible. A must have for a novice developer is “The Practice of Programming” by Kernighan and Pike
- Become addicted to optimize– this is the main thing that a programmer should have. It will allow you to code better no matter how well you know the programming language.
- Practice as much as possible: google it, ask, write, read and code all the time.
- Learn Git: As soon as you have at least some working project, register on GitHub and post your crafts, no matter how underdeveloped they may be.
- Start learning how to work according to the SCRUM scheme. It will definitely come in handy.
- Organize your workspace wisely. Learning a new language or technology is a complex process that requires a lot of concentration. Therefore, it is better if someone or something does not distract you.
- Practice 10-finger touch typing. It will come in handy no matter what profile in IT you choose.
- Attend courses and events. This will help you get quickly integrated into IT, communicate with more experienced developers and make useful contacts.