The masters students at my current uni (ETH Zürich) are easily the best software engineers I have ever worked with.
120 karma · joined May 28, 2019
I used to be a researcher at the Trustworthy Systems group at UNSW, you might've heard of seL4.
I now write code at Pipekit.
https://isub.dev
The masters students at my current uni (ETH Zürich) are easily the best software engineers I have ever worked with.
Rust will get out of your way if you really want it to. It just gives you a seat belt because you are on the highway (writing systems code) but you are free to take it off.
It is a bit of a paradox. There is no right action it seems, locking up doesn't make sense but neither does opening up.
If I stay in Australia I will almost certainly be doing pretty boring CRUD work, so yeah I am doing exchange at ETH Zurich next sem and probably gonna apply for jobs in the USA or continue my studies via a PhD at University of Sydney.
The masters program was kinda intense:
- wrote a compiler
- wrote a distributed mutual exclusion/leader election algorithm
- wrote an incremental, data-parallel louvain modularity optimisation algorithm
- wrote a key/value store on top of Raft (although this was a personal project done after the Distributed Algorithms subject)
- wrote code for simulation of the Andromeda-Milky Way collision and ran it on the Universitiy's HPC cluster
- will be developing an Operating System at ETH
These US based companies should give Australia a chance, we have some good universities and even one that rivals Ivy leagues in computer science imo (looking at UNSW here)
I hope that never happens. I think opening trade schools for programming is fair enough, but compsci is not about programming it should be treated as a branch of mathematics.
I understand that there is a large amount of people that disapprove of lockdowns but the fact is that the majority are supportive.
for example `n.unbind().bind()` can convert to a different type but `inside_n = n.unbind()` will let you work with the data inside the container `n` and after you are finished you can call `inside_n.bind()` to lift it back up to the container type.
PMs don't usually care about security really, they also just want to check off boxes. Like my old PM wanted to load test the CDN (AWS) we were using just so that we could check off a DDOS proof box.
I said that load testing AWS was pointless and that we should load test our supporting infrastructure instead and he just dismissed it.
Kinda makes me feel a bit depressed about the state of the industry tbh
50% chance of a new OOP language that incorporates a stronger type system to solve the problems of Java.
Rust has been why I've come to develop this opinion, going back to C code after Rust was difficult. Going back to python after some Haskell was also difficult. Type systems are an underrated productivity tool/feature.
Remote: Yes
Willing to relocate: Yes
Technologies: Can learn really quickly so this isn't a problem, I'm definitely keen to learn for the job depending on language, languages I want to work with are OCaml, Haskell, Rust, Go, C and C++.
About: Been programming since 11ish, started with Pascal, I've done a massive variety of things since then, from Parsers with Haskell to GUIs with Qt. Currently I am a Masters student studying Distributed Algorithms(Paxos, Raft, Snapshots, Exclusion, Leader Election etc.)
I am really looking for internships that will allow me to work on interesting/challenging problems.
I find distributed algorithms quite interesting and I do my own research into these topics as well.
Our team won Unihack 2021, Australia's biggest University Hackathon
But for relational data, PostgreSQL or MySQL will be a better choice (and I can't see this changing).
This is just a note, my motivation for Masters was for specialization in distributed algorithms.
The Masters degree has opened a lot of opportunities to the people I study with, yes you need to be a good student (high distinction at least) to get these opportunities but they are there.
If you are willing to put in hours and hours of study a day, it will almost guarantee interesting work when you graduate.
Yes if you just perform averagely, it probably won't help you to break into your area of specialization right after uni.
Out of people I know, one is working at Jane Street on the OCaml compiler now. Another is working on Azure at Microsoft, another on powershell at Microsoft. A friend has managed to get internships at Atlassian, Facebook and is now interviewing with a well known database company (I will leave the name out, since its an ongoing interview) to work on distributed systems stuff there.
I've had a few interesting opportunities through my masters as well, currently I am working on a real time social media topic discovery platform.
To add to this, the skill difference of the average undegrad student I encountered and the average Masters student I encountered was quite high.
Additionally, the grad path also allows for research alongside world leading experts in their field (Depending on the university).
To do add to this, most universities allows for exchange, at my institution, students are granted the opportunity to go to universities such as ETH Zurich (4th in the world for comp sci) and Imperial College London (9th in the world for comp sci).
These will not only look great on a resume for someone looking for their first job, it will allow the students to network with other students who will likely be in the top of their fields.
To add to this so many people that are specialized have advanced degrees. It's really hard to find research papers by people who do not have an advanced degree.
I do agree universities do take advantage of international students, UoM is awful with international students, they have lower standards for them, so that they come here, fail and have to repeat subjects over and over again.
Each subject is like a small window into a deep research area.
I've become aware of TLA+, Paxos, Raft, distributed algorithms in general, branchless programming, how to implement various compiler optimizations, etc. I'm okay within these fields, I still have a lot to learn, as I said before the subjects have only been windows into much deeper fields/topics.
I'm not saying that you wont eventually come across these things without a Masters but it helps accelerate the time it takes.
I can gladly say that my programming skills have increased substantially as a result of my Masters.
For you, I cannot give any specific advice unfortunately, since I do not have that much knowledge on GPU programming. I know enough that that field is quite math heavy.
I hope this helps in making a more informed decision. Feel free to ask me any other questions.
My experience is at the University of Melbourne in Australia.
I'm sure there are some great companies out there, but they seem to be rare. I just see don't see work in this industry to be sustainable and I cant see myself working as a Software Engineer when I'm 30+ or with a family.