giusdp

giusdp

Hi folks,

This post is just to have a chat and share some opinions.

I’m one of those people that liked the idea of staying in academia and working underpaid to do research. I’m still enjoying it, but I understood that I’d like to move on from here after it finishes, and get a job in the industry. The problem with people coming from PhD is that usually they don’t have real “work” experience to be considered senior, but also not so young and unqualified to start as junior.

This 2022 was my first year and I found out quickly that I can have a lot of free time some months, and other months papers deadlines and what not just keep piling up. So, when I manage, I’ve been working with Elixir, Go and Rust for my hobby projects, cause they are my favorite languages, but I’d really love to work as an Elixir engineer after my academy journey.

I’ve been thinking that I should dedicate my free time of the following years (two) in uni to just making fairly big projects in Elixir. I’m afraid, though, that it will never make up for the lack of real companies on my curriculum.
Perhaps having a good portfolio of Elixir projects could help for a freelancer/consultancy type of work, where I go help companies. In that case I would also have the problem of finding clients, so I need to start networking a lot and should focus on this as well during the PhD.

I’d like to know more from you, what you think about going from an academic position into the industry, but also from who actually transitioned from the academy into an Elixir job, and how did you do it.

Showing Posts 1 to 7

derpycoder

derpycoder

Why not contribute to Elixir while doing PhD?

Checkout, what Jose Valim has in mind for future of Elixir, for instance his vision on Set Theoretic Type and Machine Learning:

He has formed a team to research Set Theoretic Type as well as, to get them implemented for Elixir!!

He also asked for opinion on Live Programming Ideas:

https://github.com/livebook-dev/livebook/issues/1351

Coding, Example, Documentation & Testing all in same place next to code!!

Most of the ideas he mentioned are research based. And if those researches materialises into something solid, Elixir will enter a new realm of Developer friendliness!!

So bye bye Static Type Checks, and linear Code - Build - Run - Debug cycle!!

Perhaps you can help where we can’t even think how to do it!!


P.S. I am really excited to see how the Real Time Coding will be implemented!!

derpycoder

derpycoder

Few other things you can explore:


  1. GraphBLAS for Fast Graph Database
    “GraphBLAS provides a powerful and expressive framework for creating graph algorithms based on the elegant mathematics of sparse matrix operations on a semiring.”

https://redis.io/docs/stack/graph/

https://github.com/gunrock/graphblast


  1. CRDT - (Conflict-free Replicated Data Type)

Using this to not only do collaborative editing, I was thinking if it’s possible to have seamless deploys to running Elixir application, i.e. better or stress free hot code reloading.

https://irisate.com/crdt-for-real-time-collaborative-apps/
https://github.com/yjs/yjs
https://github.com/derekkraan/delta_crdt_ex


Horde. Horde is a distributed supervisor and a distributed registry, built using the magic of delta-CRDTs.

Introducing Horde – a distributed Supervisor in Elixir


  1. WebRTC

Peer to peer communication between browser is possible with WebRTC, however when clients are hidden behind NATs, a server is required for signalling.

Perhaps a STUN & TURN server implementation in Elixir, for peer to peer communication.

https://github.com/coturn/coturn
https://github.com/membraneframework/membrane_core


  1. Resumable File Upload & Downloads:

For instance Tus is great for resumable file upload similar to multipart file upload for s3 object store!

Torrent is great for resumable file download, so something like that for elixir.

https://github.com/webtorrent/webtorrent
https://github.com/tus/tusd


  1. Peer to peer secure file transfer

Like Magic Wormhole or Croc, they use PAKE for end to end encryption of files.
We have to use a Relay server, similar to TURN server in WebRTC to send file across.

They are command line tools, perhaps a web based tool would be great!

https://github.com/schollz/croc


  1. Cross Platform LiveView core

LiveView code that goes into the front end, has been reimplemented for Swift, Android.
And they are planning to separate the core into Rust, so that it can be used across platform.


  1. Web Authn & Fido 2

It would be awesome to have biometric authentication along with password auth on Phoenix apps.

Maybe even YubiKeys.

https://github.com/tanguilp/wax

giusdp

giusdp OP

Woah, fantastic collection of projects! Thank you I will take a look. :grin:

kanishka

kanishka

I am curious why you don’t want go into your phd specialty at applied companies, such as a distributed systems expert going in to distributed system companies?

giusdp

giusdp OP

I think it’s mainly for 2 reasons. The first one is more personal.

As a student I worked on a lot of hobby projects changing languages and frameworks everytime to try new things. I think it made me a better programmer but now I want to become effectively “senior” in at least 1 programming language (mainly Elixir, but also Rust).

The other reason is that looking at jobs I kinda lost confidence. From where I’m from the majority of the job market is polluted by body rental companies where they hire anyone and they throw them on projects for other companies, while under-paying them. I started to look at startups and remote companies but everyone wants senior software engineers.

I still have years to go before getting out of uni but at least I wanna be able to look for good positions as a programmer besides my field of expertise.

kanishka

kanishka

I was curious about people like this - https://informal.systems/ - but those companies seem to want a PhD in their exact topic.

slouchpie

slouchpie

Better than company experience is to have an actual app running in the real world that people use every day.

If you approach a local business, e.g. a food takeaway, and offer to improve their website or build a simple ordering system, they are likely to agree, especially if its free.

I did this a few years ago - I made an ordering system for a burger-n-chips place on my street. I did it for free. The hosting cost me $20 per month but that is a small price to be able to point to https://burgers.ie and say “I made this, by myself, at home”.

In my case, I copied a lot from the “Crafting Graphql APIs” book.

Before I had this site running, I could not get an Elixir job.
With this site running, I was able to get job offers.

TL;DR for free, make a real app for some honest hardworking business. This is 100x better than normal industry experience.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews