I am currently studying Computer Science at the University of Applied Sciences Brandenburg, Germany. We started coding in Java which led me to IntelliJ IDEA. It tempted me mostly because of the consistent design across other IntelliJ powered IDEs like CLion, PyCharm or Android Studio. This is especially useful when working with more than one IDE and you don't want to remember every keyboard shortcut for every different IDE.
Since I really like IntelliJ IDEA and JetBrains as a company, I was really pleased by the announcement at Google I/O 2017 that Kotlin is a first-class citizen in Android. Since 2019, Kotlin is the recommended way to write modern and safe Android apps. Google, as an extremely successful software company, put their blessing on Kotlin and finally convinced me to make the switch.
Kotlin is a pragmatic and concise programming language that solves real world problems by combining the best from other languages and fixes Java's biggest weaknesses. Living on the JVM, Kotlin provides high interoperability with existing Java code which makes it ideal for the rich Android ecosystem or containerized web services. One key benefit of Kotlin is that you can gradually transition your codebase to the modern language.
Accessibility is one of the main reasons I decided to contribute to the Android ecosystem by building native apps. Almost everyone has the ability to use an Android phone and is not restricted by high prices. Because of phones available in every price segment, your applications can be used by everyone. Another great thing is that it is (mostly) open source and different manufacturers can change and enhance the operating system.
The two main areas, that target consumer experiences and have the highest potential in the ever changing software market, are in my opinion the always on and always connected mobile market and the web. Considering the rise of web technologies on the desktop, like React Native or Electron, and the decline of native consumer applications, like UWP or WPF, I decided to develop native mobile applications that enable seamless and fast experiences. Phones are getting faster and faster and can do everything most people do on the desktop. It becomes even more promising when considering technologies like DeX in the future.
I use macOS as my primary operating system for a number of reasons. With macOS being a UNIX operating system, it makes things much easier considering almost every server is running a UNIX-like operating system. The Bash terminal is one of the main benefits of using a UNIX or UNIX-like operating system like macOS. With exclusive design and prototyping tools like Sketch, macOS represents the perfect all-round development machine to build applications from the idea to the final product.
Being a Windows user for over a decade and enthusiastically making the switch to Windows 10, I was not pleased by neither the software quality compared to other Windows editions like Windows 7, nor the software development and release mindset of Microsoft till today and decided to leave Windows 10 three years after release. Looking at macOS, it represented a less noisy and more polished alternative as it beatifully combines the best of consumer software and professional tools needed in software development while ensuring peak performance.
While macOS it not receiving so many new features each year, it perfects things that are already present. Additionally, things like the Retina display with its crisp and vivid colors but also perfect font-smoothing make working with text a lot more pleasant on the eyes. Additionally, MacBooks feature best-in-class trackpads that provide smooth scrolling and intuitive gestures.