Hacker News new | comments | show | ask | jobs | submit login
Ask HN: How do you keep your brain in the tonus?
16 points by pavelshtanko 11 months ago | hide | past | web | favorite | 8 comments
Currently I'm working as a software developer for more than 7 years. And I'm struggling with the problem that I feel myself a bit stupid because of the routine work. Pretty much any enterprise application development process these days looks like: requirements -> tasks -> DAO -> Service layer -> models -> view models. Of course you can mention microservices, more complex architectural patterns and other things... but.. Not really harder than that.

So I want to train my brain to keep it up to date and fully functional.

What I'm doing now: - Learning vim (that's really hard after the years with Visual studio) - Trying to solve algos on Hackerrank.

What do you usually do to train yourself?

I do courses when I can, try some CS theory, some free resources here https://functionalcs.github.io/curriculum/ such as these undergraduate complexity theory lectures https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5vLXpzOy... or this intro to dbms course https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds... then try using a SQL automated prover http://cosette.cs.washington.edu/

Some more VIM resources, Vim as an IDE https://blog.jez.io/vim-as-an-ide/

Lecture notes, entire course on vim and horrors that is vimscript http://www.contrib.andrew.cmu.edu/~haoxuany/vim/

Great stackoverflow post on grokking vi to understand vim https://stackoverflow.com/questions/1218390/what-is-your-mos...

Might want to consider getting a new job in a more interesting and new area, that way you can learn during work hours. Or, figure out ways to automate your job even more: if it's routine, it's amenable to automation.

More here: https://codewithoutrules.com/2016/03/15/stagnating-job/

As a CS professor, I have to create lots of exercises for my students so I keep my brain occupied with these kind of things, trying to simplify my examples on each iteration. I find that it is very hard but very gratifying to simplify things. Also, much easier to explain to students.

Also, when I come across algorithms such as the Sieve of Erathostenes which was discussed recently here on HN (https://news.ycombinator.com/item?id=15408506), I do them to keep my skills and reasoning up to date..

Other times, I do some project euler problems, etc.. In even other times, if a blog post is interesting I try to implement the algorithms or examples there. For instance, there was quite recently a discussion about the little book of Operating Systems, and I've built the bootloader example and learned a little bit more about 2nd stage bootloaders and NASM Assembler.. Things like that..

I find that it is more efficient to learn lots of small things and join them with what you already know previously in your brain, than trying to learn bigger things..

I would learn lambda calculus and solve the L-99: Ninety-Nine Lisp Problems[0]. You'll be surprised how brilliant functional programming is.

[0] - https://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/fun...

The "Big Data" (Hadoop etc.) stack takes years to become good at, and is a natural progression for many bored enterprise devs.

Learn new patterns and languages.

Learning and implementing CQRS with Event Sourcing was the big step for me out of the enterprise development slump you describe. Then learning F# and functional programming and implementing the architecture gave me insight that made my C# code simpler and easier to read.

Monotonous work dulls your wits. I find decaffinating and a moderate exercise workout with music helps. If you are pressed for time, the try meditation or a good mystery novel. Rudy Rucker has always been good for me.

Quit and go back to school.

Applications are open for YC Winter 2019

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