Visionary Software Engineer at Wildberries | Innovator in Technology | Samsung Alumnus | 42 Programmming School Graduate ⚡
As a seasoned Software Engineer with a strong professional background at industry-leading Samsung and education from the prestigious Nicola 42 programming school, I bring a wealth of experience and expertise to the table. My passion for technology extends beyond the workplace, evident through my extensive reading and participation in a multitude of courses, constantly expanding my knowledge in Computer Science. 😄
Currently working on: gitprint 🧑🏻💻
Every software engineer should continuously engage in learning various topics from computer science and mathematics. This knowledge not only enables us to discover optimal solutions for specific problems but also empowers us to innovate and potentially bring about world-changing advancements. 😌
It is important to be able to solve any problem we face without imposing too many limits. C/C++ can provide us with control over the CPU and RAM. They are fast languages and are almost backward compatible, allowing us to write both low-level and high-level code. On the other hand, Python is a high-level language that is easy to use. It has a wealth of useful libraries and frameworks to meet various needs. Shell scripting is essential for automating tasks on Unix systems.
Every software engineer should possess the knowledge and experience to work with a diverse range of technologies, including those with which he may have limited experience. This may involve creating Android applications, developing web applications, writing client-server software and utilties, and even recording documentation.
Data is one of the most essential entities today, especially in the era of big data. Almost every development process involves working with databases. There are two most popular types of databases - relational (SQL) and non-relational (NoSQL). It is important to be able to choose and work with both, as each has its own advantages and disadvantages.
Software engineers are accustomed to working with different operating systems due to the various tasks they may encounter. Generally, there may not be a significant difference in Unix systems, but knowing the details can make it easier to troubleshoot any issues that may occur, such as when starting a container, for example.
There are essential tools for any software engineer. These include automation tools like Cron and Kubernetes, code versioning systems like Git, and build systems such as Gradle and CMake that help with code checking, testing, and compilation to build the final product. Additionally, there are frameworks like Django, Flask, and FastAPI that can significantly simplify the process of creating web applications or APIs. It's important for every software engineer to seek out and study these tools, as it prevents reinventing the wheel and facilitates efficient development.
As a software engineer, I work from the terminal, which significantly speeds up the development process. And, like many software engineers, Vim will always have a special place in my heart ❤️.
Feel free to reach out to me through email or social media for inquiries or collaboration opportunities. You can also connect with me on LinkedIn to stay updated on my professional journey.