Julia has ruined my work experience

Ah, thank you for clarifying, and sorry for misunderstanding you. In that sense I agree with you. I guess I jumped to my misunderstanding because my situation is different: my boss also works with us in scientific computing. He’s in the nitty gritty details of code deeper than I am. Simultaneously, he is the subject matter expert leading a team of subject matter experts.

The motivation for keeping our work in MATLAB has a justification that is sound (mostly, in my opinion). Everyone in our team is already experienced in MATLAB. Funding for training, migration, and porting to Julia is not in the interests of the company. I need to write my code in MATLAB for everyone’s accessibility, and its compatibility with previous MATLAB projects we’ve produced.

The counter argument is the medium and long term gains from switching to Julia, and my company will never* make the big switch because it’s not in their interests. Heck, my company is a tech company but doesn’t even dedicate funding for their IT department - about five IT employees are meant to cater to the needs of multiple company sites of hundreds of people, balancing between phone calls and in-person assistance. If there were a choice between funding for switching to Julia or funding for a properly resourced and supported IT department in my company, I’d choose the latter.

*knock on wood

But to the point you’re making, I agree with you. If what matters is the product output then the language of choice shouldn’t matter. It’s just that I work in a team, and I believe that it’s better to be unified in a less efficient solution than to be divided by everyone’s opinions of what’s more efficient and ending up with something worse than if we were unified. It’s the saying, “If you want to go fast, go alone. If you want to go far, go together.”

My main motivation for starting this thread is the mental health aspect surrounding the difficulties of MATLAB and C++. In my early years of work, I wasn’t really aware of Julia. But the two-language problem, the poor design choices of MATLAB, and the inaccessibility (or difficulties thereof) of C++ had me open to other possibilities. I eventually stumbled upon the “Why We Created Julia” article, and was reminded of my University course introducing me to Julia in a differential equations subject. I promptly revisited Julia and fell in love with it - which I had the capacity for by then because I had experience with its competitors C++ and MATLAB in my workplace. I didn’t understand the reason Julia existed back in University due to my lack of comparisons. Having used Julia for years now, it has continued to re-prove itself as the solution to difficulties my colleagues and I experience at work.

To be even clearer, I’m willing to keep using C++ and MATLAB at work for the rest of my life. What my challenge is, is that I’m not empathised with at work, my difficulties at work aren’t understandable to my colleagues, and my opinions on Julia’s effectiveness isn’t even considered let alone investigated for its reliability. My colleagues just pat me on the back and say, effectively, “that’s cool, keep it up” or “it’s not worth it” yet they complain and struggle with the very things Julia solves.

So I guess my thread title is a little misleading. MATLAB and C++ make my work experience harder than I believe it should be. Julia is the realisation of the solution to these difficulties. And my difficult work experience is rooted in this double-prong combined with my neurodivergent mental health status. The discussions in this thread have helped me see these things and express myself on this more clearly.

6 Likes

I’m sorry that this post started to feel negative for you. For what it’s worth, I’ve been looking forward to new notifications from this thread because they have made me feel very validated.

Thanks for making it! I hope your conversations with your boss work out.

8 Likes

Thanks for the sentiment! But I was unclear. It’s not that this thread has been negative for me. If anything, like your experience, it’s also been validating. There’s so much more I’d love to discuss with so many people who’ve responded in this thread.

The negativity I mentioned is moreso the venting of my frustrations about MATLAB and C++, which for me personally has been a positive experience because here I’m feeling listened to, understood, and even empathised with via shared experiences much more than at work. I’m moreso apologising if my venting is putting people off.

Even the counter arguments in some sub-discussions in this thread have been enlightening, and I’m busy processing both sides of the arguments to formulate an opinion that understands both sides.

I might go and find a LaTeX forum and complain about Microsoft Word haha, which is used at work for the same aforementioned reasons MATLAB and C++ is used.

4 Likes

We also need to use Word at work because we interact with many people who only know or use that, but at least we can programmatically create the files pretty well now with Julia since we made WriteDocx.jl. This way you can at least automate some more things away.

3 Likes

I have started looking into automated document processing too. The current focuses of my team and projects have diverted away from documentation tasks temporarily, but one of the challenges I know I’ll face once I return to said tasks is the processing of Microsoft Word custom document properties that even in the Word GUI itself can be tricky to manage.

The… I’ve forgotten the proper names for these things… the environment variables(?) that you can insert in places, and if you edit the environment variable’s value it updates (Highlight All then F9) all its calls throughout the document. Figure and table numbering, etc. I haven’t looked into WriteDocx.jl yet but I have my suspicions that if I use it, I’ll still be using its functionalities in tandem with the Word GUI. And if I first generate from WriteDocx.jl and then make the appropriate changes, but then find something that needs to be changed by my original generation, I’ll need to generate a new document from WriteDocx.jl and make my appropriate changes all over again. Wishful thinking calls for a Word doc editing experience like for LaTeX.

It will be so nice to have some automated generations though, like lots of plots generated in a loop, each with their own figure numbering and heading. Thanks for the reminder!

1 Like

I am not a neurologist or psychiatrist, so I cannot comment on this, but IMO the frustration of using a tool when you are aware that better tools exist is perfectly normal and even a desirable trait for most people.

I didn’t know about misophonia either, but note that a lot of highly trained professionals (including lawyers, doctors, scientists, …) require a quiet environment for productive work. There is nothing abnormal about this. If your workplace expects quality work from you, they should provide a quiet environment.

8 Likes

Thank you for the validation. I do know that many feel such pain in using sub-standard tools for the job. For me personally it’s led to a gradual development of mental and body blockage where I know what needs to be done, but my mind refuses to process the task and my body would rather stare blankly at the screen for hours. This experience was also had by a YouTuber I follow, who was eventually diagnosed with inattentive ADHD and prescribed Aderall which unblocked her. I followed similarly and my psychiatrist prescribed Ritalin which has similarly helped.

At first this blockage I experienced would only apply to tasks I didn’t want to do, like programming in MATLAB. But it gradually intensified and spread to things I didn’t want to do. My psychologist identified it as executive dysfunction.

So while my prescribed medication helps, it helps for only unblocking me. The emotionally negative experience persists so I’ve been focusing on that next.

I perceive my expressions of my trait of wanting to use better tools to come across as a negative personality trait of frustration, impatience, negativity, which are unhealthy and undesirable. And I imagine a pain to my colleagues “Oh he’s complaining again.”

On misophonia, I also apparently have hyperacuity. When driving, the repetitive sound and flashing light of the dashboatd blinker for turning bothers me. The windscreen wiper bothers me. I have many barking dogs in my neighborhood that bother me while working from home which is supposed to be my opportunity to continue working while recharging my social battery for the next time I attend work. And it’s not these things that bother me, it’s the fact that my body and mind is naturally deeply disturbed by these things that bothers me. My psychologist has been helping me through this and other things. And I’m aware of other people on the internet who have similar experiences.

My workplace is actually quite fine for remaining focused. It’s actually sometimes more difficult working from home for neighbourhood noise reasons. Thank you for the concern about having an appropriate workplace environment.

This forum helps me with my desire for Julia usage. I also follow others who relate to my neurodivergence symptoms. A blessing of the internet.

3 Likes

Don’t let your work make you ill and don’t look for the causes within yourself. You are okay the way you are. If you get physical symptoms from work, then this is a serious matter and your employer should do everything they can to stop it. If they can’t, then it’s time to look for something better. My experience has taught me that it usually doesn’t get better but rather worse. The reverse is also true, a bad employee doesn’t get better after the probationary period, but worse and worse. A bad employer or a bad working environment also rarely gets better, but usually worse. Your health has top priority.

Translated with DeepL.com (free version)

4 Likes

11 posts were merged into an existing topic: On work environments and noise

Thank you @oheil.

I think I’ve seen such patterns at my workplace.

Things that have gotten better at work:

  • My passion and knowledge in the academic field of my industry.
  • My relationships and support from my colleagues.
  • My effectiveness in work output (ignoring my autistic and ADHD symptoms).
  • My productivity and understanding of MATLAB and C++.
  • My understanding of myself.
  • The number of times colleagues have approached me for knowledge and help on my specialties.
  • My understanding on where Julia can appropriately assist without restricting the experience for others.

Things that have gotten worse:

  • My autistic and ADHD symptoms.
  • My relationship with MATLAB and C++ programming.

Your comment has prompted me to make such a list, and it clarified where the line is for where the sources of trouble are.

While Julia has been a source of joy and growth, work has as well.

I agree with not letting work make me ill. I’m lucky to have a manager who lets me take as much time off as I need (of course a lot of that turns into leave without pay, which I’m fine with, but that does add to the costs of mental health). I’ve even told him that on occasion I’ll even take a day off of work escaping from MATLAB and/or C++ to code in Julia instead.

But as for why work “makes” me ill, having had a lot of root cause analysis discussions with my friends and psychologist, the conclusion has been my autistic and ADHD symptoms.

My employer isn’t bad, if anything they’re super supportive and sympathetic. They’re just not empathetic because they haven’t experienced what I am experiencing. I’ve found a lot of my friends who themselves aren’t neurodiverse get confused when I make certain decisions (e.g. to not attend their birthday event, very hard for me to justify to them without them feeling sad).

“Anything that costs your mental health isn’t worth it.” I like the saying, but I’ve found in reality that it’s not that black and white. While I do still believe in black and white, I find that the grays in life are black and white when you zoom in. On the opposite extreme of “Your health has top priority,” people have also praised those who sacrificed their lives for others. Martyrs, war victims, etc. But in the context of my workplace, I’ve gradually been able to see the value I’ve been able to add to my company’s products, and understand the investment my company and I are placing in each other. And I value it, and find it a niche corner I’m able to contribute.

Years ago I asked my boss about the impact of my leaving the company, at a time when I had spent a few years already and noted that I felt I hadn’t learnt much. He noted that they would have to find a replacement for this niche field and re-spend that money and time training them to get where I was then. And that helped me understand my value. I had a chat with a different colleague about the fact that he also didn’t feel like he was contributing for the first 15 years of his career at our company. And the reality is, I’ve grown to love my field. I don’t see MATLAB and C++ nor the company I’m working in as the source of my challenges. My psychologist has helped me see that these challenges of mine have manifested in my life even before my working life started.

Mentally I’ve held an acceptance of self very well throughout my life. Emotionally, the brain’s chemical imbalance experience can be a challenge to fight against, but self acceptance hasn’t been too much a problem. The challenge has been in dealing with the specific symptoms. E.g. I had an international flight to a friend’s wedding recently where he asked me to be a groomsman. Wonderful wedding. Worst flight of my life, my misophonia, claustrophobia, hyperacuity, and other symptoms were continuously triggered, and I vowed to never fly again. Maybe just domestic. I used to be fine with flying on planes.

1 Like

This is a good way to get it clearer and maybe you are at the right place. I still have my doubts but these are of course more general doubts, as I don’t know you and your circumstances, and my point does not apply to you.

Still it is important, to have in mind, that, in an environment with many people, it’s almost never your fault, if things seem wrong for you. This does not mean: just blame others, but it means, not starting to blame yourself. (understand “you” as a general “you”, the reader is meant, not you personal, but as a reader, you too).

You all have a nice day, and remember, you are just fine.

2 Likes

This response is to give a big thank you for the positive energy and support from this community, and particularly to everyone who responded here.

As an update, I’ve had a chat with my boss and he has granted permission to use Julia on particular conditions. Some of them are: I need to provide robust justification for why an alternative tool (Julia or whatever) is better than the current tools we use, and what it would mean for posterity; the project needs to be in a corner of our work in a way that demonstrates its higher utility with low impact in a team environment.

He and I agreed that the documentation of some C++ algorithms will be a good option. I’ll be using Symbolics.jl on my Julia port to produce equations, and use the same Julia port to produce plots, tables, and other metrics.

During the discussion, something clicked when I showed him this screenshot from this presentation:

and he noted that as a visual person, this helped make sense of the points I was trying to convey.

As noted previously, my boss is very supportive in general, which always surprised me when he would dismiss Julia without thought. To be fair, in this world where Julia has become a groundbreaking two-language problem solution, it’s easy to dismiss it as another Python - which we’ve both had trouble with because a colleague of ours used Python for something when our boss told him not to. Also to my boss’ credit, many of the points and observations he raised echoed points you guys have made:

and then brought up the point I made in response that we work in a team environment.

In our discussion, I made extra effort at the outset that the discussion wasn’t motivated by wanting to use Julia, but to discuss my mental health and the challenges related. And the reason Julia exists in this discussion is because of the multiple layers of mental health challenges being:

  1. MATLAB and C++ difficulties (two language problem, frequent unautomatable workarounds, etc.)

  2. Discovery of Julia as a solution to the above problems.

  3. Workplace colleagues complaining and having difficulties that are also solved by Julia (a kind of empathetic side of me that I can’t help).

  4. Scientific frontier advancements in Julia that are not possible/hard to accomplish in other languages such as the ones we’re using now, noting the future of my intellectual and career development, and how our current languages feel like they’re holding me back e.g. when I spend up to 2 days per week making workarounds.

That last point touches on the “business advantage” quoted above. But the point I want to make in sharing this is that this thread helped me reach the clarification and understanding of these mental health factors and dynamics, which in turn helped my boss understand me.

Anyway, he’s approved use of Julia under some conditions which I’m happy with, and we both noted our shared caution in the challenges of adopting a new tool in the workplace.

He also shared a personal pain point he’s majorly experienced with our tools at work, which I would summarise with the term as Full Stack Scientific Development. With our current tools, it’s hard for us to generate easy-to-use demonstrations of the complicated science our scientific team engages with. So for that I’ll start creating Pluto.jl notebooks, as well as look into the GUI or interactive HTML options Julia has, I know we have a few like Dash.jl, MouseTrap.jl, or even making interactives using Makie.jl.

There is now a big relief where a weight growing for many years. But taking its place is a different weight of the pressure to do this right, and nervousness, and maybe a little shock as to the change of status quo. A colleague of mine reminded me of the adage, “There are two problems in life. Not getting what you want, and getting what you want.” I mention this because I’ve had another realisation in all this: I’ve been approved to use Julia, but I still can’t get it off my mind. I’ve had some important tasks to finish up this week, and I can’t help but start on documenting my thorough justification for Julia to give to my boss. I’m also super excited to share this news with you guys. So if I were to update the the title of this thread, I believe it would be something like “I have an unhealthy addiction to the Julia language.”

Again, thank you to everyone who has in this thread and in spirit – even in “likes” – supported this discussion. There are so many responses by you guys that I could mark as the “solution” in this thread, so I can’t. You may see a future thread outlining how I’ve messed up and my boss has said not to use Julia again… jokes aside, I wish you guys all the best in your endeavours, and thanks for contributing to a wonderfully positive community. Hopefully making a post like this will help me get this off my chest and back to work. That last thing on this topic I wanted to do was provide benchmarks as per the very first response in this thread, I might offshoot that to another thread though.

31 Likes