Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to re-kindle my interest in computer science?
56 points by atsushin 4 months ago | hide | past | favorite | 40 comments
I'm a software engineer / technical architect bordering on 3 y.o.e. at a large firm. Two of those years being in the architecture role, which includes team lead duties. While I've adjusted well to the role and my boss seems satisfied with my performance, he and an overly ambitious workaholic leadership really left me burned out at the end of last year (same experience with several others in the same role too). To a degree I'm still burned out now but I have resolved to become a better lead this year before leaving my job.

That said, I feel like I'm no longer interested in computer science and programming as a whole and that really bothers me. I never felt this way until I got into this architecture role and I've struggled with sparking my desire to learn more and *do* more things related to comp. sci & software development which obviously has its benefits at my job. I guess I'm at a loss with how I can get into the groove of things again, I've forgotten so much and when I compare myself to those who seem to be able to talk circles around me when it comes to these topics I feel even more discouraged especially when I feel like I should *know* these things already.




I saw something else pass through hacker news today which looks relevant: https://news.ycombinator.com/item?id=39170399 "A Unified Theory of Fucks." The conclusion is that when you find you've stopped caring, it's because you put too much of yourself into systems and abstractions, instead of giving your love to people. Systems and abstractions can't return your love, and so it is a waste to put your love into them.

Who are the people you want to help, and how are you going to help them? You might find that even if you no longer GAF about computing in the abstract, you might still see some value in using your toolkit of knowledge and experience to help others.

I've also been having trouble articulating why I stopped GAF about computing and technology. Whenever I go for a job interview, a question is "what tech do you think is interesting or exciting right now?" and I think it's a dumb question. I actually don't GAF about kubernetes or microservices or serverless or FaaS or whatever you think is cool this year.

For me, it's not so much burnout, but the realization that I have lost my attachment to tech-in-itself. I have enough expertise that, while there is always more to learn, I can stop demanding more expertise from myself and I can instead frame the conversation as "tell me about your problems, and I will fix them for you."


Pretty much how I feel. Do we need Kubernetes? Do we need elastic scaling and microservices and whatever is trendy. I know how to build an app in fairly standard predictable way, but no one seem interested in that when there are so many fads to chase.


> I've also been having trouble articulating why I stopped GAF about computing and technology. Whenever I go for a job interview, a question is "what tech do you think is interesting or exciting right now?" and I think it's a dumb question. I actually don't GAF about kubernetes or microservices or serverless or FaaS or whatever you think is cool this year.

God I hate this. When I first got out of uni it didn't strike me as weird, but now I realize I could honestly give two shits about kubernetes or any of that

I'll think about kubernetes if they want me to, provided they pull out the fucking checkbook

> For me, it's not so much burnout, but the realization that I have lost my attachment to tech-in-itself.

It's a narrative. This idea of really caring about technology, to the point of doing a bunch of volunteer work and making a lifestyle out of it. That narrative proliferates here


If there was one psych principle I wish everyone was aware of (and almost no one is) it's the over-justification effect.

From childhood onwards, when you introduce an extrinsic motivator for something that was intrinsically motivated, it basically 'overwrites' it.

Like to read? If you get an ice cream party for reading, while you won't read that much more than before, after the incentive gets taken back away you'll stop reading as much for pleasure.

The most obvious instance of this is getting paid to do something you used to enjoy.

There's not really a specific 'fix' but introspection about why you do the things you enjoy could help shift it. As you are working on something, recognize your enjoyment of it and set aside thinking about the external rewards you get for it. Maybe even make a change in what you do taking a cut in pay for a work environment that's more fun.

It will be a lifelong battle as long as your profession is the thing you enjoy(ed), but mindfulness on a regular basis about why you intrinsically enjoy the things can mitigate it.


this was profound. how do i find the joy if i'm getting paid for it and that isn't a motivator by itself?


I’m in a bit of a privileged position, but I took a fair bit of time off to pursue personal goals. I got extremely burnt out after 6 years of full-time work at big corp (simultaneously being in part-time grad school for the final 3 years).

I found it took me 3-4 months of absolutely nothing to not feel burnt out. It took much longer than that to get to a point where I was able to pick up my computer and have fun programming again. I’m now working on a webapp that I intend to turn into a business. I have been pouring myself into it in a way that I haven’t done since I was a new hire.

Hang in there. Maybe ask your boss if you can take an unpaid sabbatical. You will ultimately be much more productive if you get a break, and the time off will give you a chance to clarify to yourself what it is that you want.


> I found it took me 3-4 months of absolutely nothing to not feel burnt out.

That seems a universal experience. And to be more clear, absolutely nothing to think about, because even a sabbatical wouldn't save you if you think about post-sabbatical matters.

I took a year of non-employment in 2022 after 7 1/2 years of working in the same big corp. My experience shows that it takes me 1 to 2 years until I start to feel burnt out and need something new to work on, and fortunately the company was able to provide such refresher on time (not necessarily at my request) but wasn't able to do this time. So I quit, and next 3--4 months were absolutely non-productive time for me. (I have a ton of side projects at any moment and I realized my burn-out from not being able to work on any of them.) But that followed by a very productive period without any frustration [1], and I was eventually energized enough at the end of 2022.

Sadly not everyone can't afford this, I know, but if you can, consider doing so too. A year should be enough to clear your mind and start anew again, assuming you don't have any other significant problem affecting your life.

[1] J40 https://github.com/lifthrasiir/j40 was mostly written in this period.


The thing that makes this so expensive isn’t just the 3-4 months, but the probably not having a job when you go back


Entirely correct, it's really unfortunate that this advice is not actionable for everyone. I was able to pull it off partly because I had enough saving and I lived alone.


My passion for software development returned when I stopped doing it for money for 40 hours per week.

Now I just use it in support of a different task: helping immigrants settle in Germany. I build little widgets to explain things. I created a static site generator. I write linters for the content and git commit hooks.

But no more tickets, no more stand-ups, no more sprints. I write software like a retired chef bakes a pie: because it's nice.


How do you pay your bills?


By helping immigrants settle in Germany


Maybe your path in life is just taking you elsewhere? It's not a big deal. I used to like programming too but it became too formal with all the frameworks like agile and scrum. I'm not a team player so having all that collaboration is really annoying. I just need a clear task with defined in/outs that I can bite into and don't want to deal with everyone else.

Also it could be that the lead role is just not your thing. But it can be difficult to change from a financial perspective. I'm also an architect and I'm not as efficient at it as when I was in more hands-on roles. Unfortunately our new director decided to split the technical work out from architecture to a new operations team and I don't want to take a pay cut because that work is less valued.

So I'm staying for now but looking around for something better.


If you want to try getting back to the root-roots, you could try following Ben Eater's youtube series and build an 8-bit breadboard computer, and write some software for that; I find hardware fascinating.

Alternatively, find a cause/issue you feel strongly about and see if you can apply your skillset to make real change, where you can feel good about what & why you are coding. Or another way to put it, let programming be secondary to a more important goal; your desire to accomplish that goal will drive your need to improve as a programmer.


Sounds like it’s a management issues. I’ve run into the same thing. I worked for 15 years without any major burnout, maybe a month here or there, but only twice I can remember. Then new management took over. Workaholics, unrealistic expectations, nonsensical objectives, and no real structure or leadership around any of it. I’m burned out and have been for several years. I think at this point the only ways to change that are either I leave or they leave. I have a feeling they aren’t going to last much longer, so I’m hoping to outlast them, but it’s been very difficult mentally.

As far as thinking you should know what other people do, remember to keep things in perspective. They talk about those things because they know about them. There are probably topics you can talk on where they would feel the same way. There are also people who just like to talk. A guy I work with likes to talk a lot, and presents himself as an expert, but the more I deal with him, the more the gaps show, and the gaps are huge. He really has no business saying 90% of what he says and the whole team is now wise to his BS, but he is always looking for a new sucker.


Everywhere you look people are complaining about _software complexity_. Why do things take so long to implement? Why are they so hard to change?

There is obviously a large problem with the way we do software engineering, and we are still figuring it out.

The longer you spend in software, you realize that the "accepted way to do things" changes all the time.

You just have to look at the things you couldn't imagine not using, and then ask "why" do we do things this way.

This will take you on a journey through computer history, and you will get a ton of "ahh that's why!" moments like you do when you they reveal the twist in a film or tv series - which gives you that dopamine hit to provide the re-kindling that you are looking for.

It will help you understand why things are the way they are from first principles which will help you "talk circles" around other people, and also see where the complexity creeps in.

You will realize that a lot of software people are just good at knowing how to use certain libraries, frameworks and technologies in a kind of cargo-cult way, which prevents them seeing more simple solutions.


Plenty of people know how to deal with complexity. They are just over shadowed by all the many more that dont yet as they enter the industry and it takes 10x more effort to fix it than create it.


> There is obviously a large problem with the way we do software engineering, and we are still figuring it out.

> The longer you spend in software, you realize that the "accepted way to do things" changes all the time.

Why though?

We had it figured out reasonably well around 2010-215 in my opinion. Then we got more fads, NoSQL, frontend frameworks, cloud infrastucture, GraphQl in place of REST. These aren't required in the majority of places where I have seen them used, a standard old school lamp stack would do fine.

Everything is more complex, takes longer and solves imaginary problems that most companies don't actually have in my experience. Sure there are a few that will need that scale, but no one aims to keep things simple any more.


A lot of newer technologies solve problems that only very large companies face— mostly to do with scaling multiple systems and synchronising their state.

It’s in these companys’ best interest to recommend these technologies to all developers and companies, because it increases their pool of available hiring talent.

That’s how you get startups writing from the ground up, a micro-service backed SPA with layers of abstraction for the data to pass through; when honestly, a SSR monolith backed by MySQL would be better for them.


GraphQL is a great example. Try stepping through all the first and third party code involved in serving up a simple list of records from an SQL database. Mounds of useless abstraction and boilerplate. YAGNI. But the same could be said for SQL databases...


It's largely a wetware problem.

I am fascinated with extreme malpractice in the software field such as

https://en.wikipedia.org/wiki/British_Post_Office_scandal

or

https://en.wikipedia.org/wiki/Enshittification

which are mainly software development being eclipsed by business concerns but also everyday malpractice such as when you come across a registration form on the web that doesn't let you use certain characters such as quotes or words like "INSERT" or "DELETE" in your password. Last week there was this weird case,

https://news.ycombinator.com/item?id=39078372

because (1) they are not in control of quoting strings in their app because they aren't quoting systematically, (2) they are not in control of quoting strings in their app because their web application firewall quietly mutates form submissions according to arbitrary rules, and (3) are likely to be storing passwords in the databases in plain text, but in their case (4) they say they aren't storing passwords at all which makes me wonder why they ask for them, are they (5) passing the password on to some other application, making it a possible nexus to steal passwords? Bell Labs wrote on how to do it the (almost) right way but I bet people are still (6) hashing passwords without a salt, but at least I got the last laugh on folks who (7) thought "authentication is hard lets go shopping" cause their authentication-as-a-service vendor got bought and got shut down.

There are various selfish memes that take a good idea but become a substitute for critical thinking such as: test-driven development, agile, "learn a programming language", functional programming (e.g. use the real Y Combinator and you lose, sorry,) "OO Sux", etc.

There are also non-overlapping communities of practice such as

* Windows devs vs Linux devs * People who use stored procs in databases and those who don't, ...

which make it hard for the software developer community to rise up against ignorance and malice.


My problem is that the software industry has turned into a job-creation scam. The goal of developers and managers is to create as much complexity as possible in order to create as much work for themselves as possible.

If you got into this industry because of passion, this industry is going to be a real brainf**** and there's nothing you can do about it.

Just do it as a hobby and maybe work in marketing or sales where you just bullshit all day and don't have to pretend otherwise.

Or you can do what I did and just teach people how to code. I enjoy teaching young people how to code because they're always looking for the simplest way to get maximum results and this is precisely the mindset that is required to be a good software engineer.

I don't know why people lose this mindset over time, it's absolutely essential.


It takes a few people in an inner circle turning code to their benefit. Then playing their complexity game is the best way to make money.

Software engineering should have been much more than it is. Dedicating SWE to service jobs in the corporate sector has pushed all the idealized software into very few research streams.


- too much frantic hyperactivity for too long

- too short deadlines so you have to dip into 'personal' energy to meet them in time

- too much concurrent spillover of past work and getting new/constantly shifting objectives so past work always remains pending completion

- greater responsibility but less flexibility in approach

- difficulty in estimation of date of task completion, so as more time passes, more dread of looming intense future work to make up for pace

see how much any of these contribute to how you feel


I was in the same position several years ago. It turned out that I needed a change, both the company and the role. I was hesitant to change jobs (I'm not a frequent job hopper), but I decided to do it. It turned out to be the best decision I made. I joined a company that is engineering focused with a great culture. I also left the "architect role" to become a data engineer, and I've been enjoying my role ever since. I don't chase titles anymore; as long as I get compensated well and get to work with a great team, that's all what matters to me. This is not to say that there hasn't been periods of burnout, but I learned to detect them early and take breaks, sometimes to the point of retreating from high profile projects and focusing on maintenance work for a while to rebound.


Do something else. It's not a secret but people from good backgrounds get comfy and cannot see from the outside how it all looks. The cities of concrete, steel, and the forces of modernism suffocate the human. The endless goal of capital peer pressure. The numbers only ever go up.

Have you made wine before? Spent 3 days in the wilderness? Read the FBI Wikipedia page? Climbed a mountain? Achieved ego death? Make a giant sandcastle? Do you do things where you enjoy being human?

None of those things will give you your infatuation for compsci back, but they can let you fall in love with the human experience. Loving every other aspect of the universe comes naturally with it. You may even find something far better than compsci.


Look for some area where academic CS is ahead of typical practice, such as compilers and parsers, and start a side project.


Your suggestion to what sounds like burnout is to do even more coding in your spare time?


His problem is not being burnt out by coding but being burnt out by "architecture"/


Maybe you're just burnt out from too much writing software. It might feel refreshing to get other hobbies that don't strain the thinking part of your brain so much, like jogging, baking, or gardening. Or if intellectual activities are okay, then learning an instrument and music theory might be another good one. After a while of immersing yourself into this, computer science may seem interesting and fun again. It may be that you don't rekindle your passion for a while.


>I've forgotten so much and when I compare myself to those who seem to be able to talk circles around me when it comes to these topics I feel even more discouraged especially when I feel like I should know these things already.

Sounds like there is a fear of rejection or failure at the root of it. I get that, for me it manifests as anxiety. It is the same anxiety that plagued me in math classes.

You can ask yourself what evidence you have that you are bad at architecture? You say your boss is happy with your performance. So the evidence you present isn't consistent with your world view. The fact that you understand that you don't know everything doesn't mean you aren't qualified, it actually makes you more likely to be an expert. This is the known unknowns vs the unknown unknowns vs the unknowable.

Burnout is a side effect of all this. Extreme stress would be the manifestation of true overload.

You state that you want to become a better lead.. what does that mean exactly? What concrete steps can you take?

So take my example of having a fear of math and math exams, so called performance anxiety, how would you advise me?


Don't try to be. You need to diversify. Start climbing another mountain. You'll come back when something is interesting. Why do you feel it needs to be interesting? You desire for the familar is a fear of change. Embrace the change. I enjoyed sw eng but I don't want to do it for others. I work a 9 to 5 and it's a simple life. I look back fondly but wouldn't want to put myself back on a team with a product manager. Ask yourself what you want and allow yourself to say it's not in front of the screen anymore. You'll come back when you have that old spark of exploration in an area that's meaningful. Or maybe not and that's ok too.


Ran into a similar issue. Lost my passion for software development. Thought it would help to learn a new language or framework. I was wrong. What did work for me was getting completely out of my comfort zone. For me that is reverse engineering particularly in the Windows space along with kernel level programming. https://www.microsoftpressstore.com/store/windows-internals-...


Don't force it. Find something else in life you like and leave computer science as a job.

Liking your job is a tall order few end up with. It's not a failure to not have it. That's why hobbies and family or friends exist.


Start teaching. Join a group that teaches programming to underprivileged folks, communities that are marginalized or underrepresented in the tech world, ex-cons, etc. I teach at a diverse state university and it has rekindled my passion for computer science. There’s something rewarding about watching confused students “get it.”


> That said, I feel like I'm no longer interested in computer science and programming as a whole and that really bothers me

It doesn't have to be your lifestyle. It can be "just a job" that you do for money. You don't have to write a single line of code outside of work. You don't have to "care" about technology outside of work. You don't have to enjoy it in order to do it as a job

There are people who get a superiority complex over making this shit into a lifestyle. That's cool, at least for me personally I'd rather spend my weekends playing a sport or something. It's your life

Also there might be issues at your current company as other people here said. But if you're not interested in doing work adjacent stuff for free anymore, that might not necessarily be a bad thing


Do something unrelated as your hobby for a year or two. Eventually, you’ll get drawn back in


Think of three things .... and then combine them. Chances are you just invented something new that hasn't been thought off. Go write software for it. Or if you like challenges, learn how to make games and make a game from it.


I like to play Zachtronic's game like Tis-100 or the likes.

Maybe the issue is the monotonicity, so getting engaged with new 'toys' may help.


Leave your job, it's obviously a problem.

Interests and hobbies have ups and downs, don't stress about it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: