A Guide to Essential Skills and Technologies
I was recently asked, both on the micON podcast, and by various friends, about the opportunities offered by the IT field and where one might begin if they have intermediate or advanced development skills.
This topic is sufficiently intriguing to share my views with readers, though my experience necessarily shapes them. Over the years, I've programmed, used, and written applications of all kinds (for commercial products) in Pascal, C/C++, Delphi, Java, Visual Basic, C#, PHP, JavaScript (vanilla, jQuery, Vue), Objective-C, and Swift. Thus, the opinions here reflect my knowledge (garnered over 26 years of development) and the demands we've discovered based on the projects at our firm.
Lately, our projects have focused on C# with Microsoft SQL Server, PHP with MariaDB, and Swift for iOS/iPadOS and macOS.
Selecting suitable programming languages and technologies can open doors to a successful career in IT, whether you are in Romania or looking towards remote collaborations. To qualify in this dynamic field, here are some essential learning suggestions.
C# (and .NET MAUI): C# is a robust, modern, and object-oriented language developed by Microsoft, allowing you to create nearly any type of application - from video games to iOS applications, through .NET MAUI. As part of the .NET ecosystem, you benefit from a vast community and multiple resources for learning and development.
JavaScript: This language is ubiquitous in web development and crucial for creating interactive websites and front-end applications. Thanks to Node.js, JavaScript has also expanded into server-side programming, allowing for the development of complex and complete applications. A proverb in the IT world goes, "If an application can be written in JavaScript, it will eventually be written in JavaScript."
HTML5 and CSS: While considered lighter technologies, HTML5 and CSS are fundamental for any web developer. Understanding these allows you to build and style web structures, marking the first steps in creating responsive and attractive websites.
SQL (and Databases): Regardless of the application domain you develop for, understanding database systems and SQL is crucial. From MariaDB to Microsoft SQL Server or PostgreSQL, SQL principles are universal. SQLite can be an excellent option for smaller desktop or mobile applications.
Cloud Native and Cloud Technologies: Learning C# and other technologies can orient you towards developing native cloud applications. C# is robust and, with the power of .NET, opens extensive possibilities for mobile, web, desktop, and cloud-native development.
Armed with these skills, you will be equipped to create applications of any size and for any domain. Whether you dream of building financial applications, video games, or solutions for multinational corporations, these technologies provide the necessary foundation. Moreover, familiarity with these languages and technologies will make you competitive in the global context, working remotely for international companies, and in the local/national environment (albeit at a different level).
With passion and dedication, you can successfully navigate the vast and ever-changing world of IT.