Software engineering is one area of technology that is currently being needed by many companies/organizations. For now, where almost all businesses are entering digitalization, the need for software to support sustainability is an obligation. Because almost all of mankind today is never free to interact with digital devices such as mobile devices, desktop devices, etc.
In the world of software engineering, in general there is a scope for the division of work, including Front-end Engineers, Back-end Engineers, DevOps Engineers, and Quality Assurance Engineers. In some companies/organizations there may be differences. Front-end Engineers focus on how the product looks when used by users, Back-end Engineers focus on managing data, DevOps Engineers focus on managing product architecture, and Quality Assurance Engineers focus on controlling product functionality.
I have an interest in exploring and following Back-End development trends. I am a person who has a high curiosity about the development of technological trends, feels challenged to solving problems, and likes to expand social networks through the community. That way, I feel that the field of Back-end Development suits me.
In Back-end Development, there are fundamentals that must be mastered, including git, database, SQL, authentication, authorization, HTTP protocol, and containerization. By mastering these things, it will be very easy when jumping into real-world projects. For now, companies/organizations have back-end needs such as REST API, GraphQL, etc.
For programming languages that can be used, you could say quite a lot, and each language has its own advantages and disadvantages. Examples of programming languages that can be used to build back-end projects are Go, Node.js, PHP, Java, Python, etc. I have studied PHP, Node.js, and Go. For PHP I've used native PHP and Laravel. While Node.js I've used Node.js native, Express, and Hapi. For development using native Node.js and Hapi, I got quite comprehensive material on Dicoding Indonesia. And for Go, being the language I'm learning right now.
Go is a programming language developed by Google. According to the official website, Go is a reliable language that can quickly and efficiently develop products. Go also has an ecosystem that continues to grow through partners and communities. Go is also a language that supports concurrency (asynchronous). Go builds the application by compiling the project, then running it through a binary file. With a compile method like this, you will be able to produce executable files that are much smaller than their development. Go also has a fast execution speed because it uses a low-level language (similar to C) and functional programming paradigm. Several companies/organizations have also started migrating using Go such as Tokopedia, OY!, cmlabs, etc. These things made me very interested in learning the Go language.
I have also worked on several projects as a back-end developer, among others are Hyponic Project which was an idea proposed by my team in lectures, and working on an internship project related to Sidoarjo's employee data records at PT Gema Solusindo Utama. Not only that, I also took part in online learning at Dicoding Indonesia. Until now I have received a scholarship in the Back-end Developer Learning Path, and I have completed 3 classes, there are Cloud Practitioner Essentials Class (Belajar Dasar AWS Cloud), Belajar Membuat Aplikasi Back-End, and Architecting on AWS, on time and with great scores.
Regarding what I'm learning now (using the Go language), more specifically I'm studying the GDP tech stack (Go, Docker, Postgres). Why GDP? Because based on what I heard from several people who have worked either through communities, webinars, or workshops, that now the use of containers has become an obligation in building product architecture. And Postgres is also one of the DBMS that is being widely used for now. It made me even more interested in continuing to learn.
In the future I want to continue to study the field of back-end development. With a fairly rapid development for now, there will be many technological developments in the future, and this makes me even more excited to continue to explore it. Not only that, I will also continue to look for information on technological developments in general, so that I can also understand the interrelationships of existing technologies. Cheers!