I could lock myself in an empty room for days and come up with nothing. I've been waiting for an "idea" to hit me for nearly 10 years, I don't use any open source software that I could contribute to at all, and I lack the creativity to come up with "just for fun" projects. I feel very stagnant and I just don't know how to move forward anymore. Am I just hard-wired to be mediocre?
Have you considered the possibility that you're actually clinically depressed? Working on the assumption you are male, I think a lot of guys don't realise that low-grade depression looks like this for a lot of us. Especially getting towards mid-life.
One thing I would suggest is to embrace boredom. Cover up your television, delete your streaming video apps, cut back on social media as much as is possible, stop gaming if you game. Stop avoiding boredom with low-energy solutions.
Get really, really bored. Then see what your brain wants you to do. Boredom is a precursor to a creative state.
Another thought: consider if your "worthwhile" is actually helping other people do theirs? If you can learn new tools and languages easily, could you help others? Could you teach?
I need this change in my life too, and this is the direction I hope my life is heading in.
Don’t wait for creativity to happen. Cultivate it. Make it happen.
> I lack the creativity to come up with "just for fun" projects
I disagree, primarily because I felt this way about myself for many years and later realized how wrong I was. My issue was that I had misconceptions about what creativity is and where it comes from. I felt like it was just supposed to happen, and that if it didn’t, that said something about my inherent abilities. I’d see other people creating things as if the ideas just flowed naturally, and assumed they just had special brains. And even when those ideas are just flowing, I think you’d be hard pressed to find someone without a lot of other factors in their lives all enabling that flow of ideas.
Creativity doesn't always just happen on its own, but can be cultivated. More of a mindset and a way of being than some intrinsic trait that you have or you don’t.
Locking yourself in an empty room sounds like the worst way to spur ideas to be honest. My brain doesn’t get going until I’m moving. Long walks, bike rides, hiking, kayaking. Surrounding myself with new things, the beauty of nature, people who challenge me, trying new software, seeking new experiences for the sake of them.
Creativity for me is the result of my other pursuits in life. When I’m not doing those things, I’m stuck in a rut, even if those things have nothing to do with what I’m trying to create.
Think back to a time before you knew about computers and software. What were you fascinated by? It might lead you to consider a sport, hobby, past-time that you would gain pleasure from.
Sometimes these non-computer/software areas reveal ideas for fun projects.
Personal experience, I took playing tennis. Decided that having a clock faces based scoreboard would be a good idea, spent several months building and perfecting the project. Turned out electronics don't like being in the hot sun, so I gave up on the idea. But it was a certainly a fun project and I learnt quite a bit about embedded systems, etc.
Go do something else entirely, you have no idea what will grab your interest or what will come out of it. You could for example start going to music shows, end up really interested in playing an instrument, and end up wanting to create algorthithmic music, or creative visuals. But don't do it this for the end goal of wanting to program something, there's so much more to life.
I'd recommend to keep looking into things that you find interesting, just for fun. I've really enjoyed messing around with graphic shaders recently, which I have no use for. But the more tools on the bag the easier it is to find opportunities to do useful things.
I still try to find useful things to do though, maybe one of those weekend projects can grow into a larger project, it would be really cool. But I don't see much point into trying to come up with something just for the sake of it. I'm reminded of that guy in Spain building a cathedral by himself. Not that there's anything wrong to building a cathedral by yourself if that's what you want, but pretty much the only reason to do it is that, because you feel like it.
I'd recommend joining some kind of club where you get to spend your time with other people. In my experience, anything social is much more rewarding than even the most heureka moments achieved by myself in some room.
If you can just write some basic software, you're probably in the top 1% for computer skills in the global population. There are people in every niche of the world crying out for such help. Find something you're passionate about, and volunteer your time. I help my local political party run a website, do code clubs and Scouts.
Also, I'm part of a woodworking club. I'm rubbish at it, but it's fascinating just to watch and listen to other people who are much better than me. I've built a couple of things myself which I'm proud of.
"Work with what you love, and you will never love anything ever again".
Software development is your profession. By your account, you keep up to date to new tools and languages - and that is a good practice to keep yourself employable.
Find a hobby outside of programming. Maybe try your hand at creative writing. Maybe learn how to play an instrument. Or maybe try sports, I have a friend that in his late life decided to train to run marathons. Hell, find a group to play tabletop RPGs or Magic the Gathering.
Don't internalize that bullshit hustle culture that tells you that you have to be passionate about your job. Your have to be competent at your job, and that is all. Focus your passions elsewhere.
Some things I’ve done —
StreamSwitcher for turning Apple Music links to Spotify links —https://apps.apple.com/us/app/streamswitcher/id6450388510
Cancel your gym membership online — https://byebyefitness.com
Step by step translations of the Dao De Jing with beautiful artwork — https://apps.apple.com/us/app/daily-dao/id6465685578
Look at the stuff in the list below, progress recursively. Think children, education, competitions and or real world problems, progress recursively until you hit something.
Everybody gets 'there' on their own time. There's guys tinkering with robots and rockets while others barely find the motivation to build the irrigation system in their garden. 8 years from now, people in various regions will have problems that started decades ago but could have been mitigated now.
The markets won't serve any of the solutions without binding people to subscriptions and when they can't pay, the service ends.
People are not able to learn anything all the time. That's where you come in, you can.
If you can't come up with anything, build everything with FOSS. Think local, don't ask, just build. Improve your town, your school, your hood. With indie tools, skills and hardware.
https://simplicable.com/world/real-world-problems
https://www.competitionsciences.org/
https://www.nextgenlearning.org/
https://www.millennium-project.org/projects/challenges/
https://resilienteducator.com/classroom-resources/real-world...
I don’t think everyone needs to have a bunch of side projects related to their day job. I’m sure most plumbers don’t spend their nights and weekend creating and solving ever more complicated plumbing projects in their home. I think it’s nice if a person can have a hobby that scratches an itch that is completely different from their day job.
I've been thinking about that for a quite awhile now, and I guess I have some perspective, but don't have exact answers and I don't think I can fit it into a HN message nor have enough motivation to do so.
_However_, I'll be more than glad to chat personally, maybe we can figure something out together. So, if you¹ want, drop me an e-mail. Address in profile.
--
¹) You, the topic starter or anyone reading this message who finds it relevant.
It's possible you're placing too much emphasis on the type of problem you need to solve. You might be trying to think of a problem that many people experience, or a problem that others recognise as important, and getting frustrated that you don't have any ideas.
If this is the case, I'd recommend making something for one person instead. Make something stupid, that only a single person in your life will enjoy. Programming doesn't have to be Amazon or Netflix. Programming can be a knitted scarf.
Games were already mentioned, and I share this recommendation. Those are usually fun, and you have the whole spectrum of tiny to huge, simple to very advanced, touching also basically the whole stack, almost the whole field of computer science, and beyond, as much as you want it.
Otherwise, maybe some electronics? Robotics? Machine learning?
Or think about your daily routine, at work or also privately. Isn't there anything you wished would exist or improved, which would make your life easier? I have countless of small little utilities which evolved with such motivation over the time.
I've never understood why you should do the same things in your free time as you do at work. I personally don't and know a ton of programmers and non-programmers who don't as well. Find other hobbys, they are worthwhile too!
This is software that solves problems I have. I don’t care if anyone else sees it. I don’t need the admiration of others.
I'm in the same boat tbh, I don't find interesting things with programming anymore, maybe when I did it was just that I had less other stuff to do. I'd rather learn something new now e.g. last year I started doing some home music recording/production. What is your goal - if you want to upskill for your career or to start a business, fine, if not find something else to do.
Programming was one of my main hobbies, I started quite early when I was about 9-10 years old, as a hobby it stayed with me until I was about 25-27, after working professionally for about 10 years.
After that I don't have the lust for programming that I had during those first 15 years. I have ideas but nowadays I also have the experience to know those ideas will demand more effort than I'm willing to commit to come to fruition, I found other things in life that fulfill me much more than sitting down and coding a solution for 1-6 months.
The remnants of programming as a hobby to me are scattered through areas I had never the chance to work professionally: embedded systems, electronics projects, DSP, and other fields which feel fresh and at the same time somewhat approachable after 20+ years of experience. I just don't work on them in any terms related to financial interests, it's purely interest based, and if the interest starts waning, and a project becomes dreadful I just abandon it for a while. If it's interesting enough I will pick it up as a hobby again at some point.
Working with electronics is a lot more joyful to me than programming yet-another-compiler, yet-another-library, yet-another-API. It gives me some connection from code to the real world, lights blinking, things moving, positions in the world becoming data, etc.
You'll only be stagnant if you stop being curious, if you stop adapting to the inevitable changes that happen in this field. Apart from that you gotta find the things that give you joy, not necessarily glory, or even to not be "mediocre" as if everyone is bound to something great.
Just don't stop caring completely because from my career that's when I see programmers really going down the spiral of not only mediocrity but also leaving a trail of issues in their wake for others to fix...
Look for a job not at an IT FANG company. Look at jobs on offer in machining, in mining, in agriculture, in energy, in surveying, geophysical data aquisition, drill logging, etc.
There are quasi unskilled jobs galore for field technicians to assist with all manner of things you've likely never done before.
If you've got the time, freedom and cash then maybe take a vacation on an Australian cattle station, or some South American ranch.
You're now somewhere new surrounded by things to learn and it's likely that will either stimulate you afresh to do the old stuff or suggest something that mixes what you can do with what new (to yourself) people need.
If you can't scratch your own itch anymore perhaps find others with an itch they need to scratch.
Ideas:
Build the scaffolding for an idea. Then when one hits you just add the domain bits. You might trigger something along the way.
Think about who you would like as customers or even just users. What problems are there for those users that you might help with? Focus on them, not your lack of idea. Just ask them questions or read their reddit posts to look for pain points.
Start something directionally right. Just move in a direction and see how it fits.
Put your toe in the water. Try something today, no commitment to continue.
The focus here is to practice starting. Build a few things. Try connect to people and see what they need.
I don't know of any other field where people so regularly aim to be doing more work outside of work. Why is it a problem to have hobbies unrelated to work?
I'm a fairly senior engineer, confident in my professional abilities, and I'm similar to you: I just don't have anything programming-related to do, and don't have ideas either. Well, I haven't done anything programming-related in my free time in ~5y, focused on other stuff (music, climbing, crafting, travelling, socialising) and I'm very happy about it. In fact, the least I touch a computer the happier I am.
I got into woodworking, and I started building up new skills in anticipation of hanging my own shingle in the Data Science / Development space.
Its been almost a decade since, and....
- I got into exercism.io to really deeply learn languages I was using, and learn others besides. The same set of problems but new languages. Learned Python and C much deeper, then got to play with nim, rust, java, C++, and more. Super helpful to learn.
- I started looking at open source projects I use all the time and seeing where I could possibly contribute.
- I started getting into my hobbies. Woodworking where I can (I prefer hand tools to power tools), exercise, teaching kids (my own and others in neighborhood) strategy games (usually starting with chess), starting a garden where possible (we've moved a few times)
- Working towards cloud certificates. I haven't come across a need to actually get them or keep them up to date as a data scientist or (now) executive, but being able to plan solutions with cloud resources is super useful
i am an artist, which has led me to try to understand creativity and idea-generation closely, and i have stumbled on two concepts that helped me to get going on stuff:
“I‘ve forgotten who it was that said creation is memory. My own experiences and the various things I have read remain in my memory and become the basis upon which I create something new. I couldn’t do it out of nothing. For this reason, since the time I was a young man I have always kept a notebook handy when I read a book. I write down my reactions and what particularly moves me. I have stacks and stacks of these college notebooks, and when I go off to write a script, these are what I read. Somewhere they always provide me with a point of breakthrough. Even for single lines of dialogue I have taken hints from these notebooks. So what I want to say is, don’t read books while lying down in bed.” - Akira Kurosawa
basically: do something else to trigger your creativity, get more inputs into your brain.
and the second is that great ideas are not born, they are created. you start with something small, an inkling of something. it's dirty, unpolished, stupid even, but then you start to make something of it over time. it grows and you get feedback on it until one day it's become "worthwhile" - or not. then you cut your losses and try again, with more knowledge.
anyway - i think you will find more great ideas if you get started and think less on whether it's worth your time.
Many famous people claimed, they don't use scientific marketing (most known example Jobs), but when insides leak from their closed circle, all people ho learn marketing clearly seen, they do almost same as classic University marketologist, just name things other names.
Sure, you could save about 100$ on classic marketing research and do things yourself. It is even possible, doing things yourself, you will got more clear and more reliable data on your case.
BTW exists many books on how to stay small in business, and have good enough economy (everybody don't need to become Google to succeed).
Any way, most powerful business heuristic - Just do it, don't wait, don't procrastinate, do not doubt, do and calculate results and only then think on results.
Life is not scripted, it's improv. Follow your nose. Do more of what you like, and less of what you hate
It gonna sound somewhat esoteric but I think you need to completely let go to get to the good and fun ideas.
80,000 hours is a non-profit dedicated to helping you find such a thing.
If you don’t have any ideas after doing that for a few months, then you are screwed.
> I keep myself busy playing with new tools and languages when I can be bothered but if I really think about it, I just don't have any problems to solve with these tools.
If you learn about a new tool and write about it/make a video about it for others, you might help them to solve their problems. Or you'll free up the developers to spend more of their time improving the tool further.
I play tabletop games and lacked a good tool to plan dungeons as a DM. So I wrote a dungeon planning tool. ( https://h4kor.github.io/dungeon-planner/ )
I like blogging, so I wrote my own blog software ( https://github.com/H4kor/owl-blogs ) as I disliked WordPress and static sites were too limiting for me.
Honestly not worth forcing yourself to do what you don't truly love. I don't hate programming but there's so much more to do out there, even learning foreign languages or picking up some art stuff and make something with your hands sounds better than fighting with python/node and dependencies in my free time
You are well within reason to work to survive, tuck a little away, and use the rest (of both time and money) to explore unrelated interests and passions. I really enjoy gardening.
The cross-pollination of interests, passions and professional experience may well lead to a fun and interesting project where your $DAY_JOB skills come into their own in a way you’d not expect.
Work to live, not live to work and all that.
Watch what happens. Appreciate even the tiniest things, breathing, that you might observe or do. Be especially grateful that we don't have any problems. I strive for mediocre. Remember that the TAB key on your keyboard stands for: Take A Break.
Get some product management courses. Alternatively, partner with a product manager, they usually have a bunch of ideas. I always want to make new products, but I have the opposite problem: I need devs that are motivated enough and are willing to create new products in uncertain environment.
most of programming languages and tooling are open-source these days, even the more enterprisey stuff. Or, at least, they have Open Source alternatives.
The other thing to do is to find a girlfriend, marry her and have kids. THAT will take a LOT of your time.
Find something you deeply believe is worthwhile. Something like volunteerinfor homeless, helping war victims, religion. Make this your anchor point.
get a pen and notebook. and have that on you everywhere.
have periods where you sit and do nothing. nothing as in - you're not on your phone, watching tv or reading. then let your mind wonder.
read a lot - i.e skip the typical tech news but read regular stuff like books, newspapers etc .
let me know if you do that and don't come up with 'ideas'
This is a bad thing?
Most good ideas come from observation. At work or outside look for things people do which could be better served. See how you could improve it.
Coming up with things people never needed or thought of is much harder.
Stop thinking about ideas. Do what you like to do in your free time; read, doodle, whatever. Read good books, learn interesting things.
You reflect the media you consume. Consume good media - stuff that makes you happy, stuff that makes you think, stuff that makes you feel. But stop trying to come up with goals, stop waiting for an idea to hit you. I did that for a while with writing, then I couldn't use electronics for a bit and I gulped down those books and I had cool book ideas, weird acronyms that suggested evil organizations, stuff like that. I don't know what the programming analog of that would be - or the nonprogramming analog that doesn't involve writing.
But just find something you enjoy, doesn't have to be related to coding, and do it.
Also, stop thinking about stuff being "worthwhile". Something you like that doesn't hurt other people is worth doing, and if it happens to be something weird, like gardening while hula-hooping, or pretty much anything and a unicycle, that's okay.
Where did you get these expectations and goals that are obviously not yours and not relevant to your current point in life?
I mean, you need something to do outside of work, but it doesn't have to be programming. Go hiking. Play ultimate frisbee. Join a band or a choir. Become a Big Brother or Sister. Volunteer at an animal shelter. Teach some disadvantaged youth how to code. Get involved at a church or a homeless shelter.
Find your thing and do it. It doesn't have to be programming. (And, if you haven't found the programming thing yet, I think that's telling you that programming isn't the thing you're looking for.)
(I agree; it is an interesting challenge.)
(Thoughtful comments appreciated with any downvotes.)
If I think about everything that I don't have an opinion about, it's things that I don't understand very well. For example, car washes. I do not care what a car wash tunnel has, if it is brushless or not, if it uses some fancy shampoo or not - I have zero opinions. I can never find motivation to want to go redesign it, fix it or develop software for it.
But something like Github's pull request review? Oh boy. It's absolutely insane that you can not comment on an unchanged line in a file you are reviewing. If someone changes a function call 3 out of 4 places, and you want to leave a comment on that unchanged line of code saying "Hey, you forgot to change this too" - guess what? You can't. In my opinion, this is insanely moronic. An opinion like this can easily motivate one to want to go fix a thing or build a thing. (I don't want to solve this problem for other reasons, but that's unrelated to this discussion).
How do you form opinions? I don't know, but my guess is that listening to opinionated people with good taste really helps. Dan Norman's book "The Design of everyday things" [0] is one example of a very opinionated work. Bryan Cantrill of Oxide is also often very opinionated on system design, and his podcasts and talks are really fun [1]. When Steve Jobs was talking about just anything, he couldn't help being opinionated af [2]. I love "In praise of Shadows" by Junichiro Tanizaki where he just talks about experiences but you can tell he is deeply opinionated [3].
I don't know how one can develop good taste. Being around art, music, movies, people who obsess over details, people who care, people who expect perfection and accept nothing less - I believe there's some sort of osmosis where you just absorb aspects. I believe surrounding yourself with fantastic art, hiking through majestic trails, chilling with inspiring people - all help reset your acceptance of mediocrity down to 0. I am convinced that this is essential.
[0] https://www.amazon.com/Design-Everyday-Things-Revised-Expand...
[1] https://www.youtube.com/watch?v=wTVfAMRj-7E
[2] https://www.youtube.com/watch?v=Qdplq4cj76I
[3] https://www.amazon.com/Praise-Shadows-Junichiro-Tanizaki/dp/...
My passion for software development died with my first full time job and returned as soon as I changed fields.
Go touch grass, find new hobbies.