
Ask HN: How do you keep your brain in the tonus? - pavelshtanko
Currently I&#x27;m working as a software developer for more than 7 years. 
And I&#x27;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 -&gt; tasks -&gt; DAO -&gt; Service layer -&gt; models -&gt; view models. Of course you can mention microservices, more complex architectural patterns and other things... but.. Not really harder than that.<p>So I want to train my brain to keep it up to date and fully functional.<p>What I&#x27;m doing now: 
- Learning vim (that&#x27;s really hard after the years with Visual studio)
- Trying to solve algos on Hackerrank.<p>What do you usually do to train yourself?
======
hackermailman
I do courses when I can, try some CS theory, some free resources here
[https://functionalcs.github.io/curriculum/](https://functionalcs.github.io/curriculum/)
such as these undergraduate complexity theory lectures
[https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5vLXpzOy...](https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5vLXpzOyJiLtqLp6dCW2)
or this intro to dbms course
[https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds...](https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x)
then try using a SQL automated prover
[http://cosette.cs.washington.edu/](http://cosette.cs.washington.edu/)

Some more VIM resources, Vim as an IDE [https://blog.jez.io/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/](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...](https://stackoverflow.com/questions/1218390/what-is-your-most-
productive-shortcut-with-vim/1220118#1220118)

------
itamarst
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/](https://codewithoutrules.com/2016/03/15/stagnating-job/)

------
jventura
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](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..

------
e19293001
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...](https://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-
Nine_Lisp_Problems.html)

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

------
partisan
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.

------
mactechnic
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.

------
bjourne
Quit and go back to school.

