[HN Gopher] Ask HN: How to find intellectually challenging work?
___________________________________________________________________
Ask HN: How to find intellectually challenging work?
Hi fellow HN-ers, After working (mostly) as a backend developer
since 2013, I was recently burned (or bored?) out a bit, quit my
job and went on a sabbatical for half a year. Now I need to start
looking for a new job. However, I'm not sure how to find something
that feels more meaningful and intellectually stimulating to me. I
enjoy programming and also maths, but I found most of the jobs I
had before not intellectually challenging _in the ways that
mattered to me_. I 'm someone who really likes doing deep dives
into a topic and thinking carefully about problems and to me it
feels as if the industry isn't rewarding that most of the time -
instead, you have to work with 20 different technologies, most of
which you barely understand and you never get enough time to really
become an expert in anything, and requirements are changing so
often that designing an overall architecture of your system seems
like an exercise in futility (and is often ridiculed, maybe
rightfully so given the constraints). The best job I had was when
I worked on a mathematical problem solver for two years. It was
something I have never done before or since, it was very
challenging (and rewarding), given that it was something very few
other people were doing, and I had a great team full of very smart
people. Unfortunately, we were all let go in the end. I'm still not
sure whether that was just a once in a lifetime opportunity or
whether there is a change that I could find something similarly
challenging (and off the beaten track). When I quit, my boss told
me that I would maybe be happier in an R&D type of job. I'm just
not sure how to find such jobs, given that I don't have a PhD in
anything (I merely have a BSc in mathematics and a MA in a totally
unrelated field). Another idea of mine would be to look for a job
in a typed FP language (like Haskell, Scala, etc.), as I feel that
the engineering culture could be a better fit (and I do enjoy type
systems and FP languages), but I guess these jobs are also few and
far between (I'm also in Europe with no intention to relocate,
which might affect the number of open positions significantly).
I'm aware that I'm in a privileged position as a developer, and of
course, if push comes to shove I'll just take a "regular" dev job
(and maybe work on an attitude adjustment?). But I feel as if I
should at least try to see what's out there. I'm looking for
opinions of people who have felt similarly. What did you end up
doing?
Author : Tainnor
Score : 11 points
Date : 2025-03-10 19:38 UTC (3 hours ago)
| markus_zhang wrote:
| This reminds me of Cameron Zwarich, who created Rosetta 2 and
| went on to work on something Math related.
|
| Have you looked into shops that use Haskell? I know some trading
| firms use lispy languages and some game studios (Naughty Dog?)
| also use them. But I could be wrong.
| spondyl wrote:
| > I know some trading firms use lispy languages and some game
| studios (Naughty Dog?) also use them.
|
| Naughty Dog had somewhat famously written Crash Bandicoot and
| Jak and Daxter using Lisp although they don't appear to use it
| these days
|
| https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
| lemonwaterlime wrote:
| I was going to recommend you look for a Haskell shop and the saw
| that user markus_zhang mentioned the same thing in this thread.
|
| I'm actually just starting my own company using Haskell so I can
| think deeply about what I want while making the product how I
| want.
| Tainnor wrote:
| That might be a good idea, yeah. My worry is that I haven't
| really ever used Haskell commercially (I used it a bunch for
| things like Advent of Code, etc.), so I would have to learn a
| lot on the job - which I'm willing to do, but companies might
| look for somebody who's more proficient.
| lemonwaterlime wrote:
| Then I would not recommend starting a company with Haskell as
| the language.
|
| If you do want to eventually get a role using Haskell (which
| are rare), it is a good strategy to pick some commercial
| thing and implement it in Haskell. For instance, do a CRUD
| app using a postgresql app like Esqueleto/Persistent,
| Opaleye, etc. Or make a web app with Yesod (or even Scotty or
| Servant).
| karmakurtisaani wrote:
| It's always said that you should worry about customer needs
| before even thinking about technology. How do you see that with
| your company?
| lemonwaterlime wrote:
| In my case, I am already proficient in Haskell, so I do not
| have to learn it. Using the technology I already know means
| not blowing my "novelty budget".
|
| As for benefits, I get the following:
|
| - strong, static typing via the Hindley-Milner type system
|
| That means any changes to my logic and type signatures have
| to be addressed immediately everywhere.
|
| - type-safe, composable everything
|
| I want as many issues as possible to be caught at compile
| time. Ideally, I would have no runtime errors. It is possible
| to get close to this ideal with Haskell.
|
| - terse, expressive language
|
| Less code to read per concept expressed plus a strong type
| system means that maintenance and refactoring is a breeze. In
| fact, I can fearlessly refactor. That means once I get
| everything up and running, the codebase is stable even when I
| change things. Thus, I can actually focus _more_ on the
| product and customer needs.
|
| Combining all of the above with other stable and maintainable
| technology choices makes the entire app architecture easy to
| maintain over time as well.
|
| You always have to consider the technology so you can
| properly architect your application and its dependencies.
| almostgotcaught wrote:
| Language of choice has nothing to do with it (people responding
| to look for Haskell shops lol). You need to work at a place that
| has problems that are deep enough to warrant deep dives.
|
| Speaking from experience, the much reviled FAANGs have ample
| depth and reward correct solutions.
| lemonwaterlime wrote:
| It is not implied that using Haskell is the only way to find
| deep problems. The other way around is that shops using a
| language like Haskell are likely also invested to thinking
| deeply about problems. So the causality is the other way
| around.
|
| The recommendation to look for Haskell shops is exactly a
| heuristic for the thing you recommend:
|
| > "work at a place that has problems that are deep enough to
| warrant deep dives."
|
| There are many ways to find such places. Filtering by tech
| stack is one possible way of many to search for signal.
| almostgotcaught wrote:
| > So the causality is the other way around.
|
| Yes and I'm arguing there's exactly zero causal relationship.
|
| > There are many ways to find such places. Filtering by tech
| stack is one possible way of many to search for signal.
|
| You're just wrong. Deep problems come with scale and also
| cost money to solve. Small-medium shops have neither no
| matter the "tech stack".
| tyronehed wrote:
| You need to start looking for big problems to solve. It was once
| said by a guy named Bruce Williams who knew what he was talking
| about that the way to get rich is to solve a problem.
|
| So what you need to do is start looking for big problems. Not big
| problems that are only seen by developers, but big problems that
| are seen by the general public. People will pay for solutions.
| You will be motivated by solutions, something that you need to
| research the hell out of. Something you need to make connections
| that no one else has made before to solve. That's it
| sshine wrote:
| I only have a BSc in CS, and I've worked with algo-trading,
| compilers, defi, zero-knowledge crypto, firmware for EVs and
| drones. And I only relocated once.
|
| I've also been unemployed longer than I wanted to twice and had
| to swallow my pride and work on someone's legacy to pay the
| bills. Switching the rockstar mentality with more humility and a
| sense that I've been very lucky was important.
|
| Sounds like you could find a Scala job or a Rust job in your
| capital. They're less rare than Haskell jobs.
|
| As for advice: get obsessed, get good at something, don't wait
| for people to pay you to excel at the tools you eventually want
| to master. I toyed around with Haskell for 10 years in my spare
| time before using it in production.
| Tainnor wrote:
| > I only have a BSc in CS, and I've worked with algo-trading,
| compilers, defi, zero-knowledge crypto, firmware for EVs and
| drones. And I only relocated once.
|
| Where did you find those jobs?
| kyawzazaw wrote:
| Database gotta be it
| sexyman48 wrote:
| _I 'm aware that I'm in a privileged position_
|
| Why? You're a 21st century plumber without union protection. Sort
| out your company's plumbing, then do wtf you want on your own
| time.
| Tainnor wrote:
| What I meant by that was complaining about boring work is
| privileged compared to those people who can't find any jobs at
| all (at least not ones that pay well).
|
| Still, I feel like I should at least try.
| sargstuff wrote:
| Wouldn't recommend starting of with a <insert item of interest>
| standards committee. Do learn way more than ever thought possible
| / would want to know about <insert item of interest> that people
| feel are relevant to given standard committee is in charge of.
|
| One approach: Pick something that was at the time 'state of the
| art' and envision what would constitute 'state of the art' today.
| 1800's good for steam punk approach. Describe what existed at the
| time of 'original state of the art' and how that changed to
| current state of the art aka standards, techniques (black smith
| to all digital chip/embedded laser scan). Learn quite a bit about
| how things came to be & underlying abstractions/standards that
| 'simpify'/'unify' things.
|
| Keep open mind about Alexander Fleming approach to 'bugs' in an
| experiment. (did that old ME design bug faithfully get
| replicationed in the software, intentionally or unintentionally?)
|
| ### ** 1800's telegraph engineer solution to
| needing multiple telgraph wires vs. current version of usb
| 1800's fax : https://www.damninteresting.com/curio/the-fax-
| machines-of-the-1800s/
|
| ### ** K&R C vs. Published C standards (iso or
| otherwise) always fun way to find intersting things to explore
| (applied to hardware or not hardware applied). **
| RFC's bit less 'wordy'.
|
| ### ** awk progam(s) to use/interpret BNF in
| real time to provide "modern" constructs for awk programming. (or
| impliment way to read/interpret lambda expressions in awk to
| extend awk) ** ( as a learning tool/approach a
| scaled/toy awk scripted version of dbos ) dbos :
| https://www.google.com/search?client=firefox-b-1-d&q=dbos
|
| ### ** Nipkow mechanical tv 1920's vs. python/pi
| implimentation! (or Philo Farnsworth's take)
| mechanical tv : https://www.youtube.com/watch?v=R-wbfP1pmVw
| Farnsworth : https://en.wikipedia.org/wiki/Philo_Farnsworth
|
| ### ** foucault's measurements vs. LIGO vs.
| Fizeau Apparatus https://en.wikipedia.org/wiki/Fou
| cault%27s_measurements_of_the_speed_of_light
| measuring speed of light :
| https://www.youtube.com/watch?v=R-wbfP1pmVw LIGO :
| https://en.wikipedia.org/wiki/LIGO Fizeau Apparatus :
| https://www.youtube.com/watch?v=YMO9uUsjXaI
|
| ### ** MUMPS vs. current 'concurrent' databases
| (postgres). MUMPS :
| https://en.wikipedia.org/wiki/MUMPS
|
| ###
|
| How to loop in a loopless language might be useful for going from
| "spinning disks" to 'trees' :
| https://www.youtube.com/watch?v=qzsxO79zxS8
| pxeger1 wrote:
| Have you read "You don't need to work on hard problems"? I don't
| entirely agree with it, and it's more targeted at early-career
| people, but it might be interesting to read.
|
| https://www.benkuhn.net/hard/
| ipunchghosts wrote:
| Feel free to reply and we can chat more as I've thought deeply
| about this topic. Here are some cliff notes though if you want a
| quick answer (say for calibration).
|
| 1. Dod labs and defense contractors are great places to dive into
| topics pending you are inexpensive. You will likely be paired
| with other people who can sit and thinking deeply with you. As
| you progress though, you will be pushed into management, forced
| to being in money, and pulled many ways preventing your deep
| thinking. This is when most good scientists leave.
|
| 2. Be confident in your job search about what you are looking
| for. Don't be afraid to say you want 85% deep technical work and
| 15% reporting to stakeholders. This will be polarizing to a lot
| of employers but those who want you will quickly scoop you up
| when u get connected to them.
|
| 3. The market is terrible for r and d right now across almost all
| sectors. Most r and d labs are looking 3-6 months out which means
| they want people qoth a specific background to build prototypes
| amd fail quickly. This will be existing scientists in the company
| but rarely any new hires. i interviewed at Amazon and found this
| to be the case as an example (I turned down the role).
|
| 4. Wait until the market improves but keep looking while doing
| item 2.
|
| Good luck.
___________________________________________________________________
(page generated 2025-03-10 23:02 UTC)