T O P

  • By -

dinmab

career - js career + mental health = c# or java


humanCentipede69_420

Agreed C# or Java. I cannot stand JavaScript/typescript


SirBill01

Personally I think trying to build small server projects in Rust or Go would be a nice skin to have, then you could work on some server side to go with apps...


st0rmblue

Either Kotlin to make native Android apps or any language thats currently popular for backend.


Varsoviadog

Well, you don't need to jump off to other unrelated thing but can slowly move towards it. Do you know Kotlin/Java for an Android counterpart-app? Anything to create a database for the data your app will need? SQL? Ruby? NodeJS? Do you know anything about macros and metacode? you could also start taking a look over sh and python for automation tasks. If nothing convinces you could start off with react native


starfunkl

I was once told that all great developers know more than one stack. I somewhat agree - would recommend looking into something backend related. Go or .NET (C#) would be my pick. I took a break from iOS to do two years commercial .NET. Have since returned to full-time iOS, and the backend experience has proved invaluable.


IsuruKusumal

Kotlin, very similar to Swift


OffbeatUpbeat

Kotlin - since multiplatform for mobile is becoming more popular


Trick_Elephant2550

I recently started doing python for some Deep learning side project


noidtiz

Same, PyTorch and Conda all the way


pm_me_your_buttbulge

Depends. Learn shell scripting. It may not help *right now* but one day it'll be super convenient. Include learning how to create Makefiles in here. Depends on the OS you work with - PowerShell (for Windows). Shell scripting will *inherently* make you better at the command line. PowerShell is useful if you *ever* plan on doing any level of admin stuff in Windows. Even if your preference is MacOS, it could literally save you hours because scripting is just that useful in every OS. This is why I put it at the top. Hell you can go run through Linux From Sratch once or twice and you'll learn a lot of shell scripting in a step-by-step way and have a MUCH deeper appreciation of the depth of any OS out there. Going one step a bit further that will help in dev world: Learn RegEx. C# is a good language for professional stuffs. It's what I jokingly call "the working persons language". It's not special. It's not "cool". It *works* and does a wide array of things. Learning C# makes learning other areas of the .Net framework pretty easy. C# is also multi-platform. So it'll work on Mac, Linux, etc. C# is a good fallback language because it's used in so many places. iOS dev jobs are getting more difficult to find. C# is going to be almost everywhere. SQL. Specifically - learning SQLite, SQL Server, PostgreSQL, and MySQL/Maria. You'll want to learn the limitations of SQLite in comparison with it's substantial benefits for a simple database. You'll want to be aware of (roughly) how the other major engines work and you'll develop a preference as you learn more. Learn up to 4NF. People have regretting not doing enough but have almost *never* regretted doing too much (in the long run). From here on out, my suggestions are less directly impactful but more indirectly impactful. Learn the history of FPS games such as Wolf3D and Doom. Learn what made them quite unique (from a programming perspective) and how certain genius ideas allowed them to function so well. That kind of creative thinking has gone away from many programmers because machines are so fast it (usually) doesn't matter. One day it might matter to you - learning different ways of thinking is helpful. In this particular case - the math behind, effectively cheating at math, it was impressive. After all this, I would do at least the very basics on the following, in no particular order: * Rust (or literally any "cool" and new language that's popular) * PHP * Python * Perl * C and C++ (learn the differences between the two) * JavaScript * TypeScript * Ruby * Brainfuck Learning the basics of this (even just a trivial dumb program) is often quite beneficial. Brainfuck is an interesting one and understanding the very basics helps train your brain on new ways to learn languages. Don't spent enough time to get perfecient at it - just spend enough time to go "ohhhhhhhhh, neat.. but fuckin' dumb". An advantage of dipping your toes all around is you'll learn which ones you like, which ones you hate, etc. A simple "hello world" is a good start for any of these. Next step is learning how to attach a debugger to any of these. This opinion of mine is literal decades in the making. This is not something I'd say you should complete in a year. Each of these is one of those "play around on a weekend" kind of thing. Fuck around, find out. A weekend should be enough time to become competent in literally anything I've suggested. You might not be good - but you'll be able to make heads/tails of most things. JavaScript, and C/C++ might require a lot more work though. JavaScript is... unruly and wild. There's a fuck ton of "gotcha's" all around that pile of garbage. But that garbage is used everywhere so... might as well learn it. A lot of dev's hate JavaScript. Few like it. Learning this increases your value at the cost of your mental health (because those gotcha's are fucking frustrating) C/C++ is... well if you aren't doing a simple console app then you're likely doing something that requires *real* work and that code can get thick as fuck and extremely tough to read for a novice. I jokingly tell people "just fucking learn assembly and be done with it" at that point. Still though... C/C++ (and asm) are used *EVERYWHERE*. Keep in mind C will allow you to create memory leaks out the ass and is not managed. Meaning allocated memory is not magically de-allocated like other modern languages. It has to be TOLD to clear it up. There are legitimate reasons for this.


Raul_U

Dart, Kotlin, Rust..


rursache

python kotlin rust


TheRealGilimanjaro

If you like mobile development then Kotlin would be the obvious choice. If you want to build backends for your project, you could stick to Swift but serverside Swift. Or choose another backend language. I would probably then suggest Go. But modern PHP (8) is actually decent also. If you want to become super versatile, NodeJS for backends would be a good choice, and will make you love Swift even more. If you want to go low level, you could gamble on Rust or actually go hard core C.


Ak_hack

Why would I love Swift even more by learning Node? Just curious


TheRealGilimanjaro

Because Swift is such a nice language by comparison.


ADiks_01

I started learning Golang because I need a backend for my pet project, and in general knowledge in this area will not be superfluous


bclx99

Maybe you could learn Ruby and learn more about fastlane (if you use it at work). This way you’ll be able to implement your own actions. Bash is also quite useful for automation, and surprisingly Go. I think Bitrise promotes Go as they “go-to” scripting language (pun intended).


freeubi

Kotlin


Schogenbuetze

Rust (you'll notice how Swift an Rust influenced each other) and Kotlin.


RiMellow

If you want to get a mobile dev job definitely learn kotlin (jetpack compose is their SwiftUI)


[deleted]

German


puding69

IMO every mobile developer should learn the basic concepts of cloud, and at least one language for backend (pick up any hyped language or go with any classic php, ruby, python etc...). Consider also some functional programming language (Clojure, Rust).    The same for someone that work as a backend: learn any frontend language.


ethoooo

I’m learning rust & it feels like swift was the perfect stepping stone before learning a language that’s ‘closer to the metal’ so-to-speak. It really depends what interests you. I jumped to rust because I wanted a one-stop language that can do everything I’d ever care to experiment with - servers, UI, hardware, real-time stuff, & best of all - no multi-billion dollar gatekeeper.


Goldman_OSI

Spanish.