9 ms·
You don't need to work on hard problems (2020)
- ExxKA 3y agoAbsolutely true. I do believe most engineers experience this maturing when they get access to leverage in the workplace, such as going from being an individual contributor to a leader or mentor. Try sales for a while, and you will realise that no customer has a neatly defined problem for you to solve. They have real complex problems, which you may be able to shoehorn your general solution into. But even then, there is always an alternative solution for the customer which may be simpler or cheaper, such as just hiring an intern to do the job your software can do.
- aquariusDue 3y agoAs time goes on I can only agree with you. Also I find it kinda funny how there's a whole boutique industry propped up by silver-tongued people convincing business customers with poorly defined problems what those problems "ACTUALLY ARE" and oh boy it just so happens that they have a solution for it. In a way some people are stuck with a solution in search of a problem, I suppose. But sometimes the customer doesn't want the alternative solution for various reasons, some ridiculous, a few valid. Anyway my 2 cents and YMMV, it's not all doom and gloom.
- hyperfuturism 3y agoInteresting to hear about your perspective. I’ve always been on the other side of the coin, programming has always been a means to and end, not an end itself.
- KronisLV 3y ago> I’ve always been on the other side of the coin, programming has always been a means to and end, not an end itself. This point of view is actually validating to hear. Now, on my own time, I do enjoy programming and even dabbling in things like gamedev, but at the same time I don't seek out difficult problems in particular - it's more about the end result. When it comes to professional work, I have an even more conservative perspective: to just pick well known tools to solve problems in ways that have been proven to work over the years, ideally without blazing new trails and working on stuff nobody has ever done before. In regards to technologies, that also means lots of Debian or Ubuntu, relational databases and boring back end languages like .NET or Java, with whatever is stable enough for the front end, but then again, the people shopping or submitting forms or whatever won't necessarily care whether you use NoSQL, serverless functions, or something else entirely.
- shalmanese 3y agoAs I just said in another thread, “amateurs talk about effort, professional talk about impact”. Unravelling the puzzle of how impact happens is the hardest problem.
- deleted 3y ago[deleted]
- atomicnature 3y agoAlthough an obsession/compulsion with the results, veers your mind off of the process needed to acquire great results. Especially for complex/long-range efforts, I'd argue that "quality of efforts" > "quality of results". Without such an orientation, it becomes difficult keep up with a challenging course of action.
- aleph_minus_one 3y ago> “amateurs talk about effort, professional talk about impact”. I rather prefer to talk about elegance, thus I am likely neither an amateur nor a professional, but rather suited to academia. :-) (I really liked my graduate studies, but was more suited for finding deep connections in research problems than for academic politics, which is why I left academia)
- robertlagrant 3y agoIt's true. Since starting in health tech, the areas of which are sometimes technically interesting, but not in a cutting edge sort of way, I feel a lot more motivated. Three women I know personally have used (and totally loved) the app we made for gestational diabetes, and half the NHS uses it to manage this type of patient, so the total number of people helped just keeps going up. I think of it as something to put on my "life CV"; it might not be an astounding technical achievement, but I'll remember it and be glad I did it for my whole life.
- iteria 3y agoHalf my career has been in HealthTech. I've found the problem to be interesting just because of the constraints. I've never had to use math and care about big O notation so much as when I needed something to run on these potato computers they had. Beyond the technical constraints, there's just the domain itself. I've focused my efforts in this domain of just digitizing paper processes. There's so much to know from a regulation standpoint and a quirky middle man chain standpoint. Some of my proudest accomplishments in my career is just standing anything up that replaces paper even partially. I've been praised many times for just making something that works after so many have failed. None of what I did was technical amazing. A lot of what I did was just doing a lot of reading and talking to people and I'm amazed how many engineers weren't doing that.
- robertlagrant 3y agoYup - we digitised some existing, hilariously inefficient paper-based systems. Incredible what a difference it makes. I think at least for the NHS, making procurement more effficient would actually be a pretty impactful idea. It cost us more than a year's licence fee just to onboard each trust, as they're all different.
- agumonkey 3y agoThe social accomplishment often makes small (compared to advanced mathematics fireworks) tasks a lot more valuable indeed.
- phantompeace 3y ago
- deleted 3y ago[deleted]
- whatscooking 3y agothis whole article reeks of privilege
- dappermanneke 3y agoi mean it does doesn’t it? this person worked on hard technical problems for a long time, selling himself as a solver of those, and now recommends people do not have to do that. yet if they didn’t do all that solving they would not have broken into their industry
- SiempreViernes 3y agoThe best bit is how they loudly claim to aim for directly changing the world, and yet also very clearly are trying to stay out the area most directly impacting the problems they try to solve: policy and politics.
- tayistay 3y agoSo much is bad about it: > After two weeks, I come up with some of my own tweaks that make the algorithm work a bit better. I happily add “built a state-of-the-art library for numerical integration, with novel improvements on the best techniques in the academic literature” to my resume. Ok so he's a liar. He made something "work a bit better" and then claimed to build the whole thing. Two weeks of work. Talk about resume padding. > After declaring, I finally get assigned an adviser who doesn’t tell me to take easier courses. Where I went, you barely got any such advice. P R I V I L E G E. > Math classes haven’t saved me from getting bored of college. Links to an another article "Why I left Harvard early" oh FFS > directly trying to improve the world, at Wave. As opposed to those lesser folks who aren't "directly" trying to improve the world, or just not improving the world at all. Just trying to get by and live a decent life. > For some reason, a lot of smart college students end up with the idea that “solving hard technical problems” is the best thing they can do with their life Well it's better than fucking up the world at least. > most graduates of elite schools—including me— Yes mr elite. > my root goal was to use my skills to get the most possible leverage on improving the world. I'm reminded of the great "Make the World a better place" skit from Silicon Valley. > Thanks to Eve Bigaj, Alexey Guzey, Jeff Kaufman, Dan Luu, Lincoln Quirk, and Yuri Vishnevsky for reading a draft of this post. Someone actually didn't catch the lameness of the post.
- sublinear 3y ago> In school, if you pick an easy problem instead of a hard one, you lose leverage because your extra problem-solving ability goes to waste. But in real life, you can redirect it to prioritizing which problems to solve, or working more quickly, or building a machine that solves the problems for you. I'm surprised that for once this kind of perspective is on HN. The world is absolutely full of low hanging fruit problems that need someone smarter than the junk you usually see. Nobody wants naive solutions, overabstraction, or premature optimization. The end user can definitely tell the difference even if they don't know how to say it.
- johnnyanmac 3y ago>Nobody wants naive solutions, overabstraction, or premature optimization. The end user can definitely tell the difference even if they don't know how to say it. Not necessarily. Sometimes the naive or not optimal works just fine, especially with such powerful hardware. They don't care if a web app is made in electron if it works and is snappy (most users aren't opening up their task manager to measure cpu load).
- sublinear 3y agoNot just no, but fuck no.
- atomicnature 3y agoI've always thought that people underestimate the mental acuity needed to find simple truths within complex systems and to use them to achieve useful results. Especially in academia, many professors, who are wedded to particular models, go so far as to dismiss simplicity without sufficient consideration. It was not always this way. Among the older philosophers, you can observe a strong affinity for simplicity. Figures like Pythagoras, Newton, Descartes, Archytas, and various Indian philosophers, such as Shankaracharya, strongly favored simplicity. Even practical statesmen such as Han Fei, Lee Kuan Yew, Chanakya, and others were able to distill simple yet powerful truths from complex situations. This is central to leadership and the effective organization of human activities. You can observe the same drive for simplicity in great engineering leaders like Rickover and Visveswaraya. Given more time, I believe I could make a very strong case for the power of an affinity for simplicity and its correlation with greatness in any field of activity. Simplicity is underrated (in practice).
- Jakob 3y agoSimplicity adds value not by denying complexity but by providing a means to navigate it. However it must be applied judiciously to ensure that the richness of the complex system is not lost. Complex systems are often more resilient to shocks. Complex models are often more robust, simple models can be misleading. The individuals you mention mastered complexity. What they did could be seen by us as simplicity retroactively. Something like Denning’s crane. Newton developed calculus, that was anything but simple at that time. I agree to use simplicity to decide, inform, lead. But great things tend to emerge from thinkers that can think through complexity and not oversimplify their own thinking.
- atomicnature 3y agoYes, that is not untrue. However, when you talk implementation, a major part of operations is - "what can people understand and act upon in a coherent way". Your bottleneck to most system implementations is the processing capability of the people. Therefore, in practice, less accurate but simpler models end up performing better. Re: Newton - I am not denying complexity. I am simply saying recognising basic truths, honoring them to the extent to which they deserve, making them the foundation for all further activities/undertaking. For ex - Rickover dealt with super complicated projects, but how he dealt with them is based on utterly simple principles; so simple that people would outright reject them, until they see the results he achieved. One could say the same regarding Lee Kuan Yew's work.
- t43562 3y agoIt's a very good thing that we don't actually depend on solving hard problems for our salaries. Then every solution that was invented would get written up and that whole area of work would be closed - the industry would employ a tiny number of academics only. In actuality I do the same things over and over again and if it's something I haven't done then probably 10s of thousands or 100s of thousands have done it before. I certainly need a search engine to be able to work so it's obvious that I'm copying more than anything.
- alkonaut 3y agoI like working on complex problems. But I like making simple solutions. And making those is often hard. So you might say I like hard problems. > I could try to solve an easy problem as quickly as possible The "solve X as quickly as possible" is now the problem. Not just solve X. I And that sounds like a hard (therefore interesting) problem!
- coldtea 3y agoIf X is an easy problem, solving it "as quickly as possible" would be easy too. The combination wont magically become a "hard problem", except if we take "as quickly as possible" to mean achieving some optimal solving time, as opposed to just casually meaning "without adding stupid bloat and by doing a KISS solution".
- dacryn 3y ago> If X is an easy problem, solving it "as quickly as possible" would be easy too. Hard disagree with this one. Summing all numbers from 1 to 100 is easy, summing 1 to a million is also easy, just time consuming. 1+2+3+4.... Coming up with (n*(1+n))/2 is not.
- deleted 3y ago[deleted]
- acer4666 3y ago"easy, just time consuming" ... Also known as hard
- throwaway14356 3y agoIf the easy task involves 7 things all straight forwards. You get 6 opportunities to waste time in between. Each sub task completed (to me at least) seems like the perfect time to look out the window, check email, have a snack etc but you wouldn't [say] half way typing a sentence. You could but won't.
- 3y ago
- Sirenos 3y agoThe author says to "work on boring problems" but I think what it really boils down to is knowing why you are solving a problem. Just picking a problem depending on how hard or easy it seems is a research mindset. Of course it doesn't make sense to apply that same mindset to more business-oriented problems (unless the business itself is research)! Both research and business related problems are interesting. You don't have to swing between two extremes every time you have an epiphany. Just my two cents. Nice article!
- throwaway14356 3y agoWith low hanging fruit you get baskets full in no time.
- theclansman 3y agoI'll try to apply this as I've been battling the problem of my job being too easy and never applying what I learnt in school. There were so many interesting problems and theories in school that you never see as a regular developer, often I think that I have a job that any person could do with a few months of training (does this make me a narcissist? Is the complain here just that my job is unglamorous or is wasting your skills a legit concern?). I guess I haven't matured enough, or maybe I'm not really sold into the impact my company is making.
- sokoloff 3y agoI also sometimes think most people could train to be an entry-level dev over a summer. Yet that seems demonstrably wrong. I wonder if it’s similar to how a musician can’t comprehend how I can barely hear a beat.
- ozim 3y agoI think it is possible only that those people need to want it. Most people only say they want to do something because it is cool or earns money. But then they fail to put in effort and without putting effort no one can really learn.
- johnnyanmac 3y agoMaybe not a few months, but students spend years and I imagine 70%+ of them can train just fine to any entry or mid level work. But companies are inherently risk averse and no one really wants to risk hitting that 30% snag
- JackMorgan 3y agoI train software engineers with the apprentice model, and it takes about 500 hours to train a person to be able to get hired as an entry level full stack engineer. Maybe not in today's market where even talented engineers are struggling. But over the last sixteen years I've trained sixteen engineers who all still work in the industry. I use TDD, a list of projects that gradually increase in difficulty, multiple languages, and solo practice on tools like CodeWars. After they are comfortable with basics I'll have them build a personal project of their own design. Between CodeWars and TDD they've now gotten used to getting dopamine hits from programming. Add in intrinsic motivation on a personal project with a full stack website and they are glued to the editor. Time flies as they rapidly achieve a decent level of skill at reading and writing code. By the time they are wrapping up that personal project, as long as they've kept up with algorithm practice they're ready to interview. Some have taken longer, usually about a third take a break and circle back around later. Some do take more like 1000 hours to feel confident. Sometimes I end up hiring them myself for contract work to help them build a resume and help me with a project. But on average it's only about 500 hours to teach the fundamentals of unit testing, algorithms, data structures, functional programming, SQL, Typescript, React, and a backend language like Python or C#. They'll not be a master of any of them, but know enough to build a website with persistence and use tools like Google and ChatGPT to get answers when stuck. The "simple trick" is just making them write absolute tons of code, every day, for months. Then making them read other's code to learn new tricks. It's not easy, I'll work them like a rented mule but they'll come out way over qualified for an entry level position. By the time they're interviewing most will have written 10-20k lines of logic, often grinding a problem a half dozen ways to really see the pros and cons of various solutions. I think most people greatly overestimate how much code the average CS graduate actually writes for their degree. I've interviewed hundreds of new grads who've written maybe a few hundred lines of code total. Sure they know the theory of computer science, but aren't prepared at all to be software engineers. I'm not saying the bootcamp model is better, generally those students only know basics of copy paste. This is entirely the fault of the bootcamp instructors who are just trying to churn out graduates. There just isn't much effort in actually teaching software engineering. Bootcamps have students do some basics and stop way before they're ready. Universities just have them study theory. Rarely is anyone teaching how to read and write code so fluently the students are dreaming in code. But this is extremely effective.
- darkclouds 3y agoA gearbox is complex, the gears are not, the gears are complex, the teeth are not. Break things down into smaller chucks.
- xxs 3y agoThat applies to spur gears mostly, double helical gears (for instance; and Citroen logo) are rather "complex"
- ecfi 3y ago[dead]
- TrackerFF 3y agoWhen you're young (think HS and college aged), difficulty seems indeed to be the "ultimate" prestige. If you're a musician, that means playing that most technically advanced piece flawlessly. If you're an athlete, that means raw ability like speed, strength, etc. If you're a mathematician, that means having a go at some unsolved/open problem. If you're in the military, that means joining the special forces or becoming a fighter pilot. As the author said, when you're young, you often only get judged on one or two objectives. When applying for college, that's GPA and SAT - so you will optimize for those two, and little else. All this works out for young people, because if there's one thing they tend to have, it is time to grind. And lots of it. One thing I've noticed with young and ambitious employees, is that many need constant feedback. If they don't get any direct feedback immediately, they feel left out in the cold, and don't know how to react. Where I work, we often get inquiries from clients, and 80% of the time there's zero feedback. We produce reports / presentations / recommendations, ship to the clients, and that's it. IF we get something back, it is because they want to go forward with something, and need follow-up work. For the ambitious types that have gotten feedback their whole lives, that can be a hard pill to swallow - it really takes some "unlearning" to get comfortable to work in that environment.
- yodsanklai 3y ago> Where I work, we often get inquiries from clients, and 80% of the time there's zero feedback. Even worse if the rewards aren't aligned with your performance (e.g. teaching jobs), or if you're not able to perform well because the type of work you do isn't what you excel in.
- johnnyanmac 3y ago>One thing I've noticed with young and ambitious employees, is that many need constant feedback. If they don't get any direct feedback immediately, they feel left out in the cold, and don't know how to react. It's an increasingly cold world and some young people may legit get zero feedback outside of work. Ghosted on dating scene, ghosted by the remaining friends post graduation, and now feeling ignored at work. Add on no third place to go to and how work is increasingly ceasing to be a second place with wfh and you just have a loneliness sandwich. They spend 18-20 years having people their age all around them and then it poofs up in smoke. I'm sure they want some kind of feedback in the one remaining place that is now taking up more and more of their time.
- Mrirazak1 3y agoI think it depends what we define as hard problems because their are lots of problems in the world that need solving but the scale of which your solving it at matters. So if their problems that get solved with your product/service helps 1 billion people as a hypothetical example over 10-15 years then that’s a hard problem worth solving. But if it’s say for 10 people it may not be worth solving. So the scale to which your solving it for matters.
- 6510 3y agoYou don't have to impress your peers, you have to impress everyone else. Also interesting is speed vs complexity. It is equally impressive if you can do dumb things really fast. You have to focus on reducing the time wasted between the simple tasks. In an ideal world you'd have a dedicated computer to do a single dumb task with everything optimized for it.
- globalnode 3y agowhole post sounds ego driven to me and left me feeling empty
- civilized 3y agoMy favorite example of this is Hadley Wickham's work on tidy data [1, 2]. Before Hadley, tools for streamlining data manipulation workflows had largely fallen stagnant. Even the best languages and tools were a chore to use. People's data prep processes tended to be idiosyncratic and hard to understand, even though there was nothing essentially new or deep about what they were doing. Data prep was an ugly chore best left to interns and grad students. It was kept out of sight so the big wigs could focus their slide decks on more interesting things. Traditional academic statisticians and computer scientists had a blind spot for this issue. They didn't consider it a hard problem, which is what academics are supposed to work on, and discouraged Hadley from working on it early in his academic career. But Hadley persisted because he knew it was an important problem. Streamlining time-consuming chores liberates an enormous amount of human capital for the most meaningful work. (Which in some cases can be improving the data still further, opening up new vistas of insight the big wigs otherwise never would have even been aware of!) Hadley's approach has not only revolutionized R programming, but has also quietly influenced the whole modern analytics ecosystem. It's become too good to ignore. Even for those who do most of their work in another language, with tools like pandas that don't follow the tidy philosophy, some end up trying to structure their workflows like Hadley's tools do, because it's so intuitive and compelling [3]. [1] http://vita.had.co.nz/papers/tidy-data.pdf http://vita.had.co.nz/papers/tidy-data.pdf [2] https://imstat.org/2014/09/04/data-science-how-is-it-different-to-statistics%E2%80%89/ https://imstat.org/2014/09/04/data-science-how-is-it-differe... [3] https://stmorse.github.io/journal/tidyverse-style-pandas.html https://stmorse.github.io/journal/tidyverse-style-pandas.htm...
- francisofascii 3y ago> Because “hard technical problems” wasn’t my root goal—my root goal was to use my skills to get the most possible leverage on improving the world. Sounds like a good a goal as any.
- zubairq 3y agoFor me it is best to work on important problems that are hard to solve
- tbalsam 3y agoyes i do.
- recuriosity 3y ago[flagged]