# Identifying potential candidates for GoLang + Julia role

**URL:** <https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825>\
**Category:** Jobs\
**Created:** [September 24, 2024, 5:51pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825 "2024-09-24T17:51:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![bernie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bernie/32/221353_2.png) [@bernie](https://discourse.julialang.org/u/bernie)\
**Post date:** [September 24, 2024, 5:51pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/1 "2024-09-24T17:51:53Z")

</div>

A role may be opening up at my company that involves translating prototype code developed in Julia into operational code implemented in Go. I’d like to identify, in advance, candidates who are both proficient in Go, and familiar (at least) with Julia. The role will require a balance of software development, programming language, and people skills.

Note that this an unofficial/informal pre-posting inquiry. I’m just trying to identify potential candidates in advance, at this time. I will not be subjecting anyone to a formal interview/hiring process until that posting comes out (date is TBD). With that understood, please feel free to contact me to discuss (informally) further.

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [September 24, 2024, 6:05pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/2 "2024-09-24T18:05:20Z")

</div>

Hi, I’ve translated code _to_ Julia (from MATLAB, it’s one way to avoid licencing cost). I must ask, why translate _from_ Julia?

Meta/Facebook has done this, prototype their new audio codec in Julia, and port to C, for embedded, likely to avoid the GC (you can also do that within Julia…, even easier now), and/or for speed (in a small memory environment). [If wasn’t really done to get rid of Julia, or so I understood, the Julia and C codebases are kept in sync. Maybe at some point only the C code maintained?]

Since Go has a GC (and not used in embedded) why translate at all? You can call from Go to Julia (though maybe not done much?). Is it to clean up the (prototype) code too? It can be done in the same language, and all the speed achieved you need, faster than Go, most probably.

---

<div class="post-metadata">

**Author:** ![bernie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bernie/32/221353_2.png) [@bernie](https://discourse.julialang.org/u/bernie)\
**Post date:** [September 24, 2024, 6:14pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/3 "2024-09-24T18:14:31Z")

</div>

You raise good questions. I’m not in a position to justify the decision. The best outcome I can hope for is that the Julia and Go codebases be kept in sync.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [September 24, 2024, 6:35pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/4 "2024-09-24T18:35:42Z")

</div>

More favorable GC latency in Go might be one explanation

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [September 25, 2024, 1:04pm UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/5 "2024-09-25T13:04:30Z")

</div>

> [@bernie](#):
>
> translating prototype code developed in Julia into operational code implemented in Go

two language problem infecting Julia?

---

<div class="post-metadata">

**Author:** ![bernie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bernie/32/221353_2.png) [@bernie](https://discourse.julialang.org/u/bernie)\
**Post date:** [October 11, 2024, 5:11am UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/6 "2024-10-11T05:11:52Z")

</div>

The official job posting announcement can be found in this post:

> [@Staff/Senior Software Engineer, (Space) Mission Planning](https://discourse.julialang.org/t/staff-senior-software-engineer-space-mission-planning/121178):
>
> There are two job postings for Staff and Senior Software Engineer, (Space) Mission Planning. The company is BlackSky, which IPOed in 2021. The job listings call for (among other things): “working knowledge” of Go or Python “familiarity” with Julia The job is centered on implementing space systems mission planning software, both space and ground segments, including tasking & scheduling of satellites and ground antennas. The need is for a software developer who can take “development quality” co…

---

<div class="post-metadata">

**Author:** ![Benny](https://avatars.discourse-cdn.com/v4/letter/b/49beb7/32.png) [@Benny](https://discourse.julialang.org/u/Benny)\
**Post date:** [October 11, 2024, 8:10am UTC](https://discourse.julialang.org/t/identifying-potential-candidates-for-golang-julia-role/119825/7 "2024-10-11T08:10:32Z")

</div>

> [@xiaodai](#):
>
> two language problem infecting Julia?

With a very loose appropriation of the term, sure, but the two-language problem is actually an opinion specific to the state of [scientific computing](https://julialang.org/blog/2012/02/why-we-created-julia/) at a specific time, albeit one that ages well. It’s not about all usages of multiple languages, and it’s not a fact of life that using multiple languages is a problem.

Take [Ousterhout’s Dichotomy](https://wiki.tcl-lang.org/page/Ousterhout%27s+Dichotomy), for example. At first glance, there is a nearly identical distinction between static, compiled, systems languages for basic computational components and dynamic, interpreted, scripting languages for descriptive abstractions that glue those components together. However, the [problems](https://web.stanford.edu/~ouster/cgi-bin/tclHistory.php) John Ousterhout ran into were very different, so his programming language Tcl is very different and doesn’t aim to replace two languages, just be one of them.

Different contexts will have different needs and approaches from scientific computing, so the way Julia approaches the two-language problem could easily be irrelevant. There are many things that other languages are better for.

> [@baggepinnen](#):
>
> More favorable GC latency in Go might be one explanation

Compiling smaller executables might be another important consideration. People were complaining that Go’s hello world executable was “too large” at 1.9MB [almost a decade ago](https://stackoverflow.com/questions/28576173/reason-for-huge-size-of-compiled-executable-of-go), the reason being that the Go runtime with all its language features is taking up space. Meanwhile, PackageCompiler executables easily run into the 100s of MB, and juliac is still in development.
