JavaRush /Java Blog /Random EN /Coffee break #12. Stereotypes that a programmer should ge...

Coffee break #12. Stereotypes that a programmer should get rid of and skills that cannot be avoided

Published in the Random EN group

Stereotypes that a programmer should avoid

Source: Freecodecamp Do you have everything a programmer needs? It is very likely that your answer will be based on a set of stereotypes and misconceptions. Let's look at a few things that, according to stereotypes, a programmer should have, but in fact are not at all required. Coffee break #12.  Stereotypes that it is better for a programmer to get rid of and skills that cannot be avoided - 1

Special Predisposition

Forget about “nice to have” things. People who want to become developers don't necessarily have to be geniuses or even mathematicians. You don't need to have a special mindset or any special brain. Programming is a skill. Same as playing the guitar or being able to run a marathon. To develop this skill you need to program. Dedicate time and energy to it. You need to learn from others. This is a skill that directly depends on how much effort you put in.

Be a computer specialist

Programs are written on a computer. This is true. Therefore, no matter how you look at it, you will need a computer for work. But you don't have to know how to assemble a computer yourself. You don't need to understand its inner workings. You don't have to be the person all your friends go to for all their computer problems. Of course, the more you know about your tool, the more independent you will be if any problems arise with that tool. But you can very well be a good programmer without knowing how to fix your aunt’s laptop.

Have a degree in computer science. Have a diploma at all

Being a graduate of a university, if you are lucky enough to study there, is generally great. Being a computer science graduate is even better. But this is not absolutely necessary for a programmer. The IT field is full of amazing specialists who do not have a higher education (both specialized and any other). Having set yourself the goal of becoming a programmer, you can easily achieve it without graduating from college.

Availability of the latest computer and (or) expensive software

I used to think that since a programmer writes programs for computers, he himself necessarily needs the most advanced and powerful computer. It seemed to me that to develop programs you definitely need specialized and expensive software. Just like people involved in design or working with video. But then I was surprised to realize that all I needed to create my first website was Notepad already installed in Windows. Notebook!! The most modest and boring program. The most banal and basic text editor of all. So yes, to learn how to do the simplest things, you can use your old computer, without any bells and whistles. But then, for professional work, you will need a better car.

Good level of English

Knowledge of English will definitely be useful to you. Programming languages ​​were invented and developed in English-speaking countries. For better or worse, English dominates the software development industry. The words used in programming languages ​​are English. A significant part of the instructions and articles are also in English. So, if you have a good level of understanding of this language, it will help you. But if you don't know English, this shouldn't be a barrier holding you back from learning programming. You can study and become a good specialist with only a basic level of English.

Be a computer fan. Be a gamer

Passion for computers is good, passion for games is wonderful. But you can easily become part of a development team without being into computers in general or computer games in particular. It's not the 90s anymore, there's a wide variety of people working in this industry now.

Be an introvert

It's the same here. There is no particular personality type that is best suited for this profession. There is no need to look for any traits in yourself that will show whether this activity is suitable for you or not. Your attitude to the matter is much more important. A key component of success is the ability to survive failure and persevere. And this is an acquired skill, not a character trait.

To be young

You don't have to be young to work in IT. To become a good programmer, you don’t have to start this path in your youth either. I started studying at 39 and got my first job at 40. And besides me, there are many other people of different ages who have also successfully made a similar transition. It's never too late to learn. And change career too. Plus, companies that only seek to hire young people are still unlikely to be good places to work.

Be a man

This is kind of obvious, but it's worth saying. You don't have to be a man to become a programmer. And although men still predominate among programmers, the situation is rapidly changing. Gender has no effect on how good a programmer a person will be. There is no chromosome or special brain structure that provides an inclination to this profession. You just need to be able to solve problems. That's all.

10 skills a developer should master in 2020

Source: Dev.to If you want to succeed in development, you need to master the skills that distinguish a beginner from a middle programmer. In this article, I'll share 10 skills that I think you need to learn this year. This list is by no means complete, but it will give you a good starting point for further study.

1. Containers (Docker and Kubernetes)

In 2020, every programmer, development engineer, data scientist and even team-lead should know about containers such as Docker and Kubernetes. With their help, you will not only be able to test applications in a single environment, but also simplify the process of deploying them. With Docker, you can quickly deploy an application with all dependency support, and you don't have to worry about scalability. Containers do this automatically. If you learn Docker and Kubernetes, you will become a more in-demand professional.

2. Cloud platform (AWS, Google Cloud or Azure)

Besides containers, the cloud is another thing every developer and data scientist should know in 2020. Companies large and small are increasingly moving their data to the cloud to save money and improve scalability. Therefore, sooner or later you will still have to work with cloud platforms. In addition, it is impossible to do without them in the field of data science development, machine learning and artificial intelligence. Only the cloud can provide the computing power required for such resource-intensive models.

3. Data structures and algorithms

If you want to become a programmer, you must have a good knowledge of data structures and algorithms. There are no options here. They are always asked about at any interview. In addition, without knowledge of arrays, sets, linked lists, mapping, it will be impossible for you to write an application.

4. Version control tool (Git)

You must learn to work with version control tools such as Git and SVN. Luckily, Git and GitHub dominate the market, and with over 70% of companies using Git, you can limit yourself to learning just this tool. But don't forget that you will also have to become familiar with advanced version control concepts such as branching and merging, as well as working on the command line and using the GUI.

5. Text editor

There wasn't a single day when I didn't use a text editor at work. It remains one of the most important tools for any programmer. I've primarily used NotePad on Windows and VIM on Linux, but these days you have many options with advanced editors like Sublime and NotePad++ that have IDE-like features.

6. IDE (VSCode or IntelliJIDEA)

For Java programmers, there are three major IDEs to choose from such as Eclipse, NetBeans and IntelliJIDEA. I prefer Eclipse, but IntelliJIDEA is also quite good.

7. Databases and SQL

SQL is a classic, the language has been around for over 30 years, and I think it will continue to be used for about the same amount of time. Given the ubiquity of databases, a programmer is expected to know how to work with databases; knows also standardization and table design and is also familiar with SQL. There are many databases such as Oracle, MySQL, Microsoft SQL Server, PostgreSQL, etc. It is enough to know at least one. You should also be able to insert, update, delete data, and write SQL queries to retrieve it.

8. UNIX (Linux)

Like SQL, UNIX has also stood the test of time. Since programmers spend much of their time working on UNIX-based computers, such as Linux servers, a good knowledge of the Linux command line is essential.

9. Object-oriented programming language (C++, Java or Python)

Of course, you won't need to know an object-oriented programming language such as C++, Java, or perhaps Python or JavaScript. You can choose whatever you want, but my personal suggestion is that you at least know Java. It's easy to get started with, making it the right choice for a beginner.

10. Networking Basics

In the modern world it is impossible to do without a computer network. You will find computer networks everywhere you go, from your home where you use Wi-Fi to schools, colleges and offices where you use a Local Area Network (LAN). Most applications you write will operate in a client-server fashion, where a request is sent over the network to a server. The bottom line is that you must understand networking basics in order to develop and maintain your application.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION