What base is needed for blockchain development
If we are talking about the development of smart contracts on some of the platforms, for example, Ethereum, then the "base" is not needed. You just need the ability to use search engines and a little patience. The smart contracts themselves were conceived precisely so that they could be created by people who are not particularly familiar with coding. The only difficulty that may arise is the lack of training materials, because this technology is very young.
If we are talking about developing your own blockchain, then you need a serious base. But it alone will not be enough.
What knowledge is worth acquiring
To understand how to become a blockchain development company, the main thing is to understand how the technology itself works. Most of the limitations in blockchain development are related precisely to the peculiarities of the technology, which does not allow the use of some design patterns. The first difficulties that arise during the immersion stage are also connected with this. However, after you have an understanding of the technology itself, there will be no problems in mastering one of the programming languages for writing smart contracts. In addition, I would recommend carefully reading the White Paper of the cryptocurrency on the basis of which you are going to write smart contracts.
Is it possible to study on your own or is it better to take special courses
Of course, any knowledge can now be acquired independently, at least because most projects are laid out on GitHub. The main problem is the speed of acquiring knowledge. On the one hand, there is a lot of information about blockchain now, but it is very superficial, so most of the time will be spent on data filtering. On the other hand, there is a danger that you will simply repeat all the teacher's actions, copy all the code from the book, but you will not learn anything. Therefore, I would recommend taking courses where you can quickly acquire basic knowledge and at the same time engage in self-study, for example, set a goal for yourself - to implement a particular project.
What programming languages are needed
I believe that it makes no sense to separate programming languages according to the degree of usefulness for learning something new. A programming language is just a tool that is suitable for certain cases.
In large companies from Silicon Valley, there is no such thing as a developer in one language or another. Therefore, if you know how to program, this is a big plus. If you have an understanding of how to do this correctly, knowing the basic principles of building architecture and design patterns is an even greater plus.
How to become a blockchain developer: useful resources for a beginner specialist
I recommend the books by developer Andreas Antonopoulos. Also, as I said, you need to read the White Paper of the cryptocurrency on the basis of which you are going to develop. After you understand the technology itself, proceed to reading the documentation. I would not recommend starting right away by completing a thousand and one tutorials, since due to the fact that the technology is quite young, only official documentation can serve as the only reliable source.
But after studying the documentation, you can proceed to the implementation of simple tutorials. As for the code examples, there are quite a few open source projects that are easy to find on GitHub, even I have my own small repository in which I try to explain how a particular smart contract works.
Also now there are communities for developers, telegram chats, online courses, groups on LinkedIn, and so on, so there should be no problems finding a community.
Online and offline courses
The answer to the question of how to become a blockchain developer will help to find educational online and offline courses.
Video lectures "Introduction to blockchain technologies"
Aleksandr Kolotov, a lecturer at the Innopolis University of Kazan, recorded 69 lectures in which he step by step examines blockchain technologies using the Ethereum platform as an example. The video shows the first lecture, the link can be used to find the full course.
The course focuses on the practical application of blockchain: how to create a cryptocurrency and write a smart contract for Ethereum. Teachers will help you understand the technical side of the token sale. With the help of the course, they promise to teach even those who have never heard of the blockchain and have not programmed.
Blockchain Developer Courses [Moscow]
Since becoming a blockchain developer is not easy without a sufficient amount of practice, the organizers offer a 9-week intensive technical course , full immersion in blockchain development, mastering the skills of working with cryptographic tools and systems, and creating smart contracts. Classes begin on January 30, 2017. The course is paid.
"Programming Smart Contracts in Solidity" [St. Petersburg]
During the course , which consists of two lessons, all issues of programming smart contracts on the Ethereum blockchain will be considered. It is built in such a way that the student not only gets an idea of the features of programming in Solidity, but can also independently compose a smart contract that performs a specific task.