I am a programmer by trade but i feel so lost at this point. I lve been in the industry for like 4 years and i feel like i barely know anything. In some respects i feel like my skills have actually regressed since college. I have cool project ideas but i never see them to fruition. Tried for years to make a game on my own but barely got anywhere with it owing a lot to my lack of art skills and inconsistency in actually working on it. Made a robot and got about 5 lines into leg IK and just... gave up. I was into AI for most of college and took tons of classes on it at the expense of a well rounded foundation in a diverse set of topics but i have significant barriers to getting a masters anytime soon and so no chance of getting an AI job. I dont think ive done a single interesting project w.r.t. modern AI despite wanting to, plus its hard to do computationally heavy things on a busted ass decade old laptop. Was in game dev professionally and while i was shielded from things like crunch it was deeply unsatisfying and i would spend a lot of time on my phone/slacking off. I only worked with clients twice - one went ok but the work sucked, the second time they put me on a contract by myself and i melted down, failed to deliver anything and pissed off the client. So they just kept me on internal stuff that will never see the light of day for the rest of the time i worked there. New hires would immediately get more responsibility than i ever had because they were just straight up more competent, talented employees and i suffered a great deal of imposter syndrome as a result despite trying to improve myself. Even with adderrall i just failed to get anything useful done or motivate myself except at the very very end when i did make a pretty neat feature that i was happy with even if it wasnt perfect.
Then I lost my job and for a while i really did try to like, do neetcode, refresh my dsa knowledge and such, work on projects. But 2 months passed and i received nothing but silence or the rare rejection on all of my job applications, nor have any of my former coworkers. More and more devs get laid off every week. I havent touched an IDE in over a month. I dont know what to do with myself really. Working in general just sucks for me (which is really privileged for me to say because ive barely worked hard a day in my life and have had everything handed to me) and its not what i like about coding. I hate agile, never have anything to say in code reviews, and feel no satisfaction from my work.
What do I do? I want to become something more than what i am, learn new things, learn how to hack stuff together and make cool gadgets and programs, hone my skills to the limits of what i can do. Become one with the net and the machine. But not for capitalism, not for money, not to work a dull corpo job until my brain rots and my soul withers and i get replaced by an intern with an AI. But when i try its like my brain is in a fog and my motivation dwindles and i abandon everything to go back to cheap stimulation.
Where does the newborn go from here? The net is vast and infinite
But not for capitalism, not for money, not to work a dull corpo job until my brain rots and my soul withers and i get replaced by an intern with an AI.
Find an open source program (perhaps on the smaller/simpler side) that you love, written in a language you enjoy working in (window managers are great for this cause they often abstract away the calls to X & Wayland). Start learning the program and find something you dont like about how it works or some feature you wish it had (simple features to start!), and try to figure out how to change the program to do what you want. This is how i got my love of programming and it keeps me coming back.
One of the things that can also be helpful is learning a language that you genuinely enjoy programming in (if you already have this then you can probs ignore this comment lol). Some of this is gotten from spending time coding in a language, but some is just how well the language reflects how you think; if you have to fight the language in order to express your ideas then any task becomes more difficult. Low key this is why i love CL, because it matches my brain and is built around interactive development. So i guess the advice I would give is to play with new languages, new syntaxes, to explore how different languages want you to solve various problems.
More advice would be to work on your data structure chops, they are very useful skills to have, and go hand in hand with algos.
I don't have any answers because I am going through a similar scenario to you; however, I do have a lot of not answers.
With the skills regression, I also felt like this for a long time and came to find out that I was burned out due to overworking; I have been working multiple jobs for a few years or so and I had a situation where I had like a couple weeks break from both jobs and a lot of it came back. That being said, by "it came back" I meant my wanting to work on my personal projects and actually being able to work on them. I think that skills regression is pretty normal, if you are not constantly practicing you will loose it, but it never completely goes away, you will always at least have a memory of what you did and if you need to do it again a quick lookup of how it works usually is enough to bring it back within a week or so. Like I haven't programmed in Java for years but I started working on a Minecraft mod for fun and it all came back slowly.
On your job. I'm sorry that happened to you. It seems to be a very common thing right now. The software market over the past few years has been extremely volatile. My work had their first layoffs ever a few years ago, and it was all at the same time that all the big corporate companies (Google, Microsoft, etc) were doing their layoffs, idk if it was just companies copying one another but it all boiled down to short term money gains. Even people who are Senior Devs were being rejected for new positions, not to mention positions that are fake (to keep stock prices high and to not scare investors), and ones that are phishing scams to steal your personal info. I can say it seems like the market is getting slightly better, but its too early to tell for sure.
About the "hacking stuff together" part. I think this is a very good mindset to be in, this is exactly where I was a number of years ago. I have come to view programming as a kind of art in itself, the same as poetry, or painting, or the like. (This is anecdotal, but I think very true) An artist that is forced to do art in a corporate setting will end up hating art until they take a step back and start doing art for themselves. So like for me, I program in a specific area but I have personal projects that are competently the opposite of what I do for work. Also that I have probably hundreds of dead projects that I abandoned after only a few hours to a weekend, I think thats also pretty normal, its the same as an artist keeping a sketchbook, it doesn't exist to be a masterpiece, just to do a little practice on something. Also what makes a good project is not the amount of code, or how clever it is, or how you rolled your own fibonacci tree, its how useful it is, even if it is simple or trivial. One project I really like is tinywm; it is like 60 lines of code, and has had a bunch of other projects spawn off of it.
I would second what lillypad said that working on an open source project is a good idea as well. You can show companies on your CV that you are working on a "real project" while giving your time to help a project that really needs developers. Also learning new programming languages (even if they are pointless) is good for you as a developer as they will allow you to see different ways of thinking about the same problem, and make you a better programmer by broadening your mind as to what is possible. I can recommend the Rosetta Code project and Programming Languages dot info for all things programming language related.
Im not sure what "your thing" will be but I can give some of my inspirations, maybe one might help.
One is Plan9. I tell developers about plan9 (way too much) its like the exact opposite of all modern computing. Its a weird, old, clunky; and yet paradoxically simple, elegant, and powerful. Its like a window into another universe where things went differently. Its easy to do hard things and hard to do easy things. Try to change the color of text for your text editor will probably be an hours long dig into documentation and code. Try to mount the sound card of a completely separate computer on your current one? trivial, takes like 5 seconds. Its a very distraction free OS, it lets you really focus on what you are doing. SDF has a free bootcamp they do sometimes that is a good start as to what plan9 is like.
One inspiration I have found this artist/programmer who is in the unix/bsd/plan9 space called unix_surrealism whos manifesto? (of sorts) I will link here. It gets you into a good headspace I think. I find their art interesting and funny.
Another inspiration I have is Hundred Rabbits who created the uxntal language and varvara VM (to name a few things). They seem to be the perfect blend of art and programming.
Haha well def havent been overworking
I agree with programming being an art and i think thats what i want out of it. Out of life anyway. Something... more? Im having trouble formulating my thoughts but its like magic to me. A communion of soul and machine through self expression. I feel like ive only scratched the surface of whats possible.
I'll check out some of the stuff you linked. Sounds interesting
I agree with programming being an art and i think thats what i want out of it. Out of life anyway. Something... more? Im having trouble formulating my thoughts but its like magic to me. A communion of soul and machine through self expression. I feel like ive only scratched the surface of whats possible.
I feel like we've all barely scratched the surface of what's possible tbh
For the overworking thing, its more that it led to my burn out this time around. It doesn't necessarily have to be working that leads to burn out. During the pandemic I had burnout that lasted for 2 years that also didn't have anything to do with overworking but just stress and having a manager that didn't support the dev team very well and a bunch of other factors. so more or less what I was trying to say is take it easy on yourself. When I tried to force myself into "doing coding challenges" or what people say you are "supposed to do" to get a job I have found that it only make my burnout worse.
It's pretty late, so I'm going to write this steam-of-conscious without too much editing.
Right now is very shit for developers. Ride it out until they start asking wHeRe DiD aLl tHe pRoGrAmMeRs gO?!?! again. This is my third rodeo, and older devs would probably make fun of me for being a mere baby. Our entire accursed industry shits the bed once a decade or so.
I hate agile
We all do too. Phone it in enough to not get fired explicitly.
never have anything to say in code reviews
LGTM 👍
If there aren't any bugs or there isn't an obvious problem then rubber stamp it.
However, reading code and understanding how it works, especially if it comes from a more senior developer, is a chance to learn why they might have made some decisions. A career in programming is mostly reading, might as well get good at it.
i would spend a lot of time on my phone/slacking off
Even if you never get caught, you feel guilty about it later. It's a very common ADHD habit/pattern, and is probably a source of many of your other anxieties. Instead re-frame your actual work as earning slack time. This is the essence of the Pomodoro Technique, and it helps with ADHD time management.
What I would try, going with my suggestion above, is get more active in reviews from senior members to learn why they made the decisions they did. Frame it as wanting to get better at understanding the system architecture and making more informed programming decisions. At home among your hobbies, give yourself permission to work towards some side project and "reward" yourself with slacking off. It inverts the guilt spiral because you feel like you "earned" the slack time.
and feel no satisfaction from my work.
You want to know my secret? I don't feel satisfaction from work either. That's not the place to get it. The Games Industry is famously abusive to staff on par with Silicon Valley. ea_spouse was 20 years ago and nothing has significantly changed since. My advice? Be far more mercenary regarding companies. Dollars to donuts you will make more money in Silicon Valley than in game development. Or you could move to a boring company (think Office Space) and let them pay for your Masters. Keep a very popular language that pays well (like Java, Go, etc) where you can take contract work or full time boring work between better jobs. Your job is transactional. Get paid and clock out. Save your passions for your side projects or hobbies.
I dont think ive done a single interesting project w.r.t. modern AI despite wanting to, plus its hard to do computationally heavy things on a busted ass decade old laptop.
Oh there's lots of places where they want to deploy but can't because of that very problem you are describing. Think IoT devices, sensors, phones, and anybody who wants to have a sensible power bill and/or battery life. Yes AI can do cool things if you give it a billion-dollar supercomputer and time-travelling levels of electricity, but that's very difficult to scale and deploy. You already have experience with AI from college, so you can bring a unique perspective for developing and deploying on low powered hardware. Perhaps this is an open research topic, perhaps for a masters degree...
My final thoughts are to get chummy with your coworkers. They are your network and can help bridge between jobs. They are also in the shit with you and can relate to many of these problems too.
I guess part of the problem is that i have so much anger and I just dont want to participate at all at this point, i dont want to sell my soul to corpo fucks, i dont want to deal with dull office drudgery, i dont want anymore 8am standups, i dont want to live my life knowing that everything i do is just to meaninglessly grease the wheels of a faceless inhuman system and enrich a group of people who are growing increasingly more deranged and plunging the world into tech dystopia. I hate it i hate it hate it. But what can I do? Maybe if i had the skills i could do something about it, but I dont so I cant. I feel pretty childish sometimes when i think about it haha. In the end I'll probably just have to fall in line take out all my chrome and consign myself to this life just to live in relative material comfort and safety
Lots of great advice in here. I haven't tried the pomodoro technique in a long time, definitely need to use that again. Never had the habit stick.
One thing I struggled with for a long while is corporate career progression culture. At my last job I was strung along for a few years, then my manager was surprised I wasn't "engaged" with the work. It really felt like if you weren't moving up then you were going to get pushed out the door or left behind. Otoh I think the only reason I'd want a promotion to a senior position is to do "what you're supposed to do", vs just clocking in and out which is what I'd much rather do.
Definitely agree about getting chummy with coworkers. Colleagues on other teams are also great people to socialize with if able, and can often share helpful perspectives a direct teammate might avoid sharing.
Do a startup? Sounds funny but if you manage to bootstrap somehow, you don't have to let capital dictate your job too much if you just aim to make a livable wage
You don't have to hire employees, just be a solo venture. Or make a co-op company
I am in a mildly similar situation and I don't have much to add to the other much-better replies but I just wanted to say I empathize
I am a basically completely self-taught computer-toucher which is seemingly (idk actually, I've never actually applied anywhere for computer stuff tbh) not very conducive to actually getting a job in the """"industry"""". I just work retail on and off which is killing me but I feel kinda trapped, every time I go look on the job websites it just makes me rly sad cuz I don't even meet the minimum requirements then I just leave and have to lay down for a while and doom
One of my great friends, who is also on this site btw lol, is kinda stuck in one of these awful corpo software developer office jobs. They tell me the most wild stories about all the shit they have to do and their techbro-brained coworkers. I'm sure it's made worse seeming to me by the fact that corpo software stuff is completely alien to me but it sounds truly soul-sucking tbh
My dream is to somehow get into a hacker collective (those don't really exist anymore, do they, or did they ever even exist? ) or somehow get paid to work on something I like and that actually matters like the Linux kernel or OpenBSD or some operating system or something (I've loved operating systems my whole life lol) instead of some corpo software product sludge. Sometimes I think I wanna do research or something like in academia but idk what that actually entails and I probably have no way to get into that anyway
Would also suggest finding "your things", maybe like you said one of your things could be AI and you just need to find a way to exercise your thing-doing abilities. I have a few things: I am also a Plan 9 nerd like @zongor@hexbear.net, to the point of it being basically a special interest lol, I rec highly, it is like an alternate world operating system where Unix was allowed to pass away and only the best parts of Unix were carried over and improved upon :3, I have a few essays throughout my post history about why Plan 9 = communism (kinda) lol. I may be something like a dumb retail wage slave failure with no money but is stuff like Plan 9 and my projects that makes me continue living even in absence of most other usual reasons (my life is kinda shit rn tbh)
Also for last few years on and off I've been working on something on and off that is basically an AI project. I rly like Prolog and logic based programming, knowledge bases and stuff, but their practical uses are minimal sadly outside of the field of like.... computer-based theorem proving. Have been trying to develop a programming language that isn't practically useless for tasks you would normally use an imperative programming language like C for, something that is capable of describing change and interactions between parts of systems just as well or better but that isn't so error-prone and manual. I'm still trying to figure it out, I've thrown away all my like 5 half-attempts so far but I guess I've still learned a lot. Lately have been reading about/playing with math (if you wanna get into abstract math but don't know where to start I highly rec the Metamath system) and formal systems lately, especially formal systems of paraconsistent logic which has been helping me figure out what my system would even look like (I'm dialectics-pilled, even if no one has managed to figure out what a formalized ""dialectical"" logical system would look like rly). I'm totally an outsider to AI research ofc, but the vibe I get is after the early successes and then progress-stalled-status of similar but classical first-order-logic-based systems in the 60s/70s most everyone moved on from this kind of computer reasoning system and now neural networks are ascendant ofc, idk I like this stuff but it might just be primitive to you lol. I'm also lacking in computing power and money for cloud shit but you don't need a ton of computing power for this kind of thing unlike massive statistical AI models, with Prolog you only need enough computing power to do logical unification over Horn clauses which is a tiny amount these days :3 (at least if you aren't doing anything toooo intensive). I still know almost nothing ofc but I'm trying , is at least slightly easier now since I got ADHD medicated
The vibe I get and like you said is that you do actually care and are passionate about this stuff and wanna get better at it but the doing-some-pointless-and-stressful-version-of-it-to-make-money-for-some-capitalist way of doing it is getting to you :( which I relate to a lot. Idk, is like a continuous crisis for me I can't rly resolve, whle it's also just a creative outlet for me, I wanna maybe help bring about a better world by working with computers (like the "economic calculation problem" is, theoretically, solved but no one has actually built that system yet but it is a necessary part of modern socialism imo, not that I'm even close to doing that ofc lol)...... idk
I also have huge impostor syndrome but also like... I'm not even pretending to be anything, I'm nothing lol. Doing projects (small ones even) or open-source stuff, or even just interacting with interesting systems has helped me feel a bit less fake though. Also hearing stories from my friend of their corpo software job and how much everyone is faking it lol
But when i try its like my brain is in a fog and my motivation dwindles and i abandon everything to go back to cheap stimulation.
Sameee a lot of the time tbh. I rarely finish projects either. I feel like it's so much harder outside of a community of people hacking on stuff together. I've never been in one but still lol. Sometimes it seems like I'm in a struggle with myself to push myself harder and idk why, it's probably not even healthy, I just feel so alone tbh ;w; I'm also unemployed rn but I have to go back into the retail grind soon probably, only reason I'm not homeless after I lost my apartment and job recently is family :( Am so sorry you lost yours, it's horrible and scary
I don't know how to escape this horrible meaningless cycle and ofc I don't, that's the point I guess
Sry, this maybe kinda became about me :(, considered deleting but idk
Prolog is so hardcore lol. I took a class on where we had to make a concurrent messaging queue in Prolog and it was the hardest thing I ever had to do for a class. Mine barely worked and it was because I found a bunch of shortcuts to hack something together. Idk if you have worked with Lisp at all but there is an interesting phenomenon where a lot of Lisp people bake prolog into it for some reason. Like PicoLisp has Pilog and Scheme 9 from Empty Space has their tiny prolog implementation.
hardest thing I ever had to do for a class
barely worked and it was because I found a bunch of shortcuts to hack something together
Omg MANY such cases lol, besides the huge mindset change Prolog can just be quite miserable to use sadly
Besides even just "cuts" like every relevant implementation has some imperative language, among other things, hacked into it which sucks cuz it undermines the whole point of using Prolog :/ which is probably why few care about Prolog anymore lol. The formal systems nerds don't like cuz you can't formalize that and the programmers who just want to program don't like it cuz they usually just think in terms of instructions (which is fair lol, difficult and verbose to express many, many things, even practically impossible sometimes, in purely logic) that manipulate a global state or at best in functions lol and the AI people moved on long ago
Idk if you have worked with Lisp at all but there is an interesting phenomenon where a lot of Lisp people bake prolog into it for some reason. Like PicoLisp has Pilog and Scheme 9 from Empty Space has their tiny prolog implementation.
I never got into Lisp as of yet tbh, but big respect. I've never heard of this Prolog inside Lisp phenomena before, this is cool lol
tiny prolog implementation.
Omg, this is adorable hehehe, I love it lol
I may have to try Lisp out, see why people like it so much
Maybe Lisp + Prolog just works rly well hehe
Ty for sharing
You should def try lisp! Its fun. I on the other hand want to get into prolog, it seems very interesting but i dont totally comprehend how you can make programs with it haha
Thank you so much for sharing! I wish the best for both of us in our journeys. I actually always have liked "classical AI", although more production systems and planning
Yeah classical AI is dope, feels more "real" to me than giant collections of (as far I know)impossible-to-formalize floating point numbers that are (people argue about this I think) just rly good at pretending to do reasoning lol
I actually never heard of production systems, these look really interesting actually, I thought you meant like a generative grammar or something at first lol
I'm doing cheap-ass classes, one of the few real great profs we had said this to me: "if you see job requirements divide them by 3 at the very least. People at hiring positions are insane and don't know what they're looking for". That quote by him was very endearing to me personally.