Ask HN: How do you stay sharp?
I feel like I've stopped rapidly learning after university and plateaued in my career in the last 1-1.5 years. How do you stay sharp and continue to climb in your career?
I'm a product manager at a tech company. I read. I work on side projects. I learn new programs like Sketch, take classes on Udemy and Coursera, but do not feel like I'm learning as much as I'd like. I'm not learning that much on the job anymore, just adding value to the company.
Update: wow, thanks for all the advice. I'll definitely read through all of it. But beyond advice, I'm also curious what do smart people (like you) do to continue growing in terms of activities.
86 comments
[ 2.9 ms ] story [ 135 ms ] threadMy main concern is I don't feel as sharp as I did in high school, university, and first years after grad. And I want to continue to have that mental sharpness, not just be good at my job and do it day in and day out.
Are you working on this alone?
I'm working on this with a friend. I'm really curious where this goes. It should be ready in 2 weeks.
The more you learn the more you will feel that you don't understand everything and never will. Focus on learning whatever is most relevant to you and your career and don't get bogged down by impostor syndrome.
""Now here's an app that has me by the balls."" as your tweet prompt is uh.. imho not professional.
Or start contributing to meetups, be out there, and get another job that is a step up.
Or try and make a product on your own, even if it is a silly idea, until you launch it. Do it again.
1-1.5 years isn't a plateau don't stress too much, that you want to do more is nearly all you need to climb, there are countless people that don't want anything more
Also, as patio11 once suggested, just contact people you think might be smart / interesting and invite them to chat over coffee or drinks. I did that while I was travelling through Berlin and invited folks I'd talked to here on Hacker News. I got some really useful advice from it personally, and they at least got free drinks & snacks from me (and hopefully interesting advice / ideas too).
Check out Patrick's standing invitation for ideas on how to connect with people: http://www.kalzumeus.com/standing-invitation/
As for commercial applications... well software for business is usually dry and boring grunt work. Interesting, innovative, and challenging are, paradoxically, antithetical to commercial software. You want reliable, boring, and simple. Perhaps you need to look for a research position or take a risk and start a venture based on one of your ideas.
Sounds like you are already doing more to improve than most!
>I'm not learning that much on the job anymore, just adding value to the company.
Do you feel like you are often the smartest person in the room where you currently work? If so, time to move some place where that isn't the case. I find working with people more skilled than myself is the fastest way to improve. Sure, your ego will take a hit, but it is worth it for the self-improvement benefits.
However, short of places like Google, I'm not sure how to go about finding a place with more skilled people. Can't know for sure until you are actually working there.
Lots of smart people at the US Digital Service currently:
https://www.whitehouse.gov/digital/united-states-digital-ser...
No. Just no.
It takes a certain breed of individual to take on this kind of challenge, to throw caution to the wind and just do it, plus a whole lot of tenacity and sheer luck to make it work out.
If you want to learn new things, this is the worst possible advice. It's akin to saying "If you want to learn how to fly, throw yourself off a building."
Having been through the start-up cycle many times, I'll tell you one thing: You won't learn a whole lot about technology compared to learning business. As a founder you'll spend far less time coding than you do wrangling spreadsheets and worrying about payroll.
And why is it decades of ruin? I could argue that running and failing your own company for 2-3 years will work better for you financially than going to work for a big tech company straight out of school (or at any point in time really).
There's no need to "throw caution to the wind". Just be on top of what you're capable of, where your priorities are, and what your financial situation is (stay sharp on all these things).
I'm intrigued this is here, because when I read the title this was my immediate suggestion.
In my experience there's no better way to learn than working on side projects that explore technologies that you don't already know. Is this what you do?
Writing an app on the same framework/languages as you use at work is also definitely valuable, it'll give you more depth of knowledge that's then directly applicable at work (in fact when starting a new job I recommend doing exactly this) but it won't stretch you much intellectually. To do that you kind of have to force yourself to use completely new stuff.
I.e. I know a load of libraries and built a fair deal myself, including a orm and a crud framework from ground up, and I know many of the pitfalls (I fell for many of them but I was young and foolish) however I also learned the why stuff grlets built a certain way and now it's ten time easier to pick up new things (yeah ember does this and that because it solves the problem x in a way I already saw done here and there, which is better than this other way under these conditions)
Another example I've been around to see the latency/bandwidth problem arise so many times it's not even funny anymore. and each generation solve it's time solution (initially it was the terminal because bandwith was the problem, then the thick client because latency, then it was again dumb data screen within browser, then ajax become viable so code moved back to the browser, last framework are so bloated latency is an issue again and they are moving templates back server side once more)
Learn enough new thing about solving the problem yourself, and basically you'll know every class of library that tries to solve that specific domain. Then you are free to learn higher level stuff. If you start too much high then it's easy to be lost in a flurty as technology shift without understanding the whys.
I didn't learn much during and right after university. But after a few years on the job as a reporter, I started getting ideas about how to apply my programming experience. One of my first programming-on-the-job experiences was writing a scraper for the local sheriff's website, so I didn't have to manually click through the inmate list.
(this seems to be a common idea among programming journalists; someone wrote a tutorial about it: https://first-web-scraper.readthedocs.org/en/latest/)
To reiterate LoSboccacc's point...with every new thing I wanted to explore, I had many excuses to try out new languages and tools...early on, many of my ideas were dumb (Drupal was my first concept of a website backed with a database)...but after enough misguided, but not crippling efforts, you get much better at being less misguided. And learning new technologies becomes less of a chore :)
Almost nothing in my curricula mapped to anything I worked afterward, and I am very glad of that. They forced me to learn how to think, how to solve problem, and gave me a set of analytical tools to understand the software world.
True, I had to figure out java and javascript and aLl the other stuff on the gritty nitty details of programming myself, but I learned a lot faster than people attending work skill universities how to not work by coincidence and how to solve the real problem of software development of which coding is actually the very minor part.
I'm amazed when I see people lost in coding while that is actually the less relevant part of the job.
By Toys, I mean new concepts and tech-stacks.
Unfortantely, I don't control it. It could be the most useless thing, or something valuable. I haven't figured out what 'actuates' it.
Been everything from replacing FSM with Behaviour Trees, to learning game development, A*, Steering Forces[0] to just toying with Redis and Obj-C.
[0] I really, really, really recommend http://natureofcode.com
Figure out what interests you yourself, whether you want to go somewhere or do something, and how you might get there. What's important to you.
If your current job can or does line up with that, great. If not, then start working toward your target and toward a different role at your employer, a different employer, or self-employment.
Have enough cash and/or short-term assets available to operate for at least six months without a job. Maybe longer, depending on what the job market looks like in your area.
As for yourself: diet, exercise, regular sleep and regular meals, and working sane hours. Work on your own mental, social, and physical health. Your finances and your cash flow and your sleep and your meal schedules are all part of this health, too.
Schedule time for yourself. Outside of your job. Both to learn and grow, and for socializing. Seek out folks that will challenge you — either at work, at university, at a Maker's event, or outside. Seek out and talk with folks of different backgrounds and interest areas and any of the different genders and of different personal histories and experiences. Learn a new language.
Once you have pondered on these and have your plans underway, then you can start working on the technologies and the tools and the online courses and classes and the rest. If they're applicable, and how you best learn.
While your employer will certainly like the focus on your career, life is more about yourself.
Maybe you're not challenging yourself sufficiently. Try to find something that will be very difficult for you and start to attack it.
"Working through" means doing exercises and projects. Reading or watching material without applying it doesn't help.
I aim to spend an hour a day on this. It doesn't always happen, but it's a reasonable enough goal that I can find time for it most days. Occasionally, I'll take a full day to study on the weekend.
Some specific recommendations:
This is just what I've been interested in and is by no means comprehensive. Outside of CS, math is great to learn if you haven't studied it formally.I've found it's best to pick a topic you know enough about to be motivated to study it, but haven't done serious work in.
The problems are ranked by difficulty, so you might be able to work your way up to the harder ones.
I'd also suggest Haskell. compare this: http://www.joelonsoftware.com/articles/LeakyAbstractions.htm... to abstractions from math. mathematicians ensure the abstractions never leak. they make the rules, there is no way out of the game. this kinda points in that direction: http://conal.net/blog/posts/denotational-design-with-type-cl...
I think the most important thing is just keep trying.
a) I changed my perspective. In University, learning was broken up into easy to digest semester long chunks. In four months, I would write papers, write exams and receive marks which sort of indicated what I had learned. Since University, I have had to change my expectations, both in terms of chunks of time and in terms of feedback. I try to remind myself that I am learning, but sometimes I just learn in chunks that are almost too small to notice.
b) I keep a journal about what I am learning and what I am working on. This journal tends to be long on opinion. Every few months, I go back and read how far I have come. For me, there is no better way of seeing how far I have come than to read how wrong I used to be. Hacker News helps with this, since there is no shortage of extremely smart people who are willing to tell me that I am wrong.
c) I added hobbies. When I was in University, learning was my job and all of my hobbies and social interactions were built around this. Since University, I have picked up some hobbies. For me, lifting weights and jogging started off as a way to solve a serious health/stress problem and evolved into a bonafide hobby. I may not be learning as much as I was in University, but I can bench press my weight now and run 10km at will. Progress (of any sort) is addictive for me and it forces me to keep finding ways to progress.
d) I got into public speaking. In University, I belonged to a Toastmasters chapter, but after University, I not only joined another chapter, but I started seeking out speaking opportunities. Not only did my public speaking improve, but I have learned an immense amount through speaking in public. The old adage that you never really know something until you can explain it to someone who knows nothing is 100% true.
Right now, my biggest challenge is to incorporate meditation into my day to day routine. I love meditating and I know that it makes me a better, more mindful person, but it is hard for me to incorporate it. My hope is that a little more mindfulness will keep me from obsessing about the big picture (where change is so slow) and keep me in the moment.
Good luck, my friend and if you need anyone to talk to, my email is in my profile.
It occurs to me that I just assumed you meant a physical journal, when that wasn't in the post. I feel like that would help me a fair bit compared to a digital one (I find physical books easier to focus on. Something to do with the spacial consistency, I think).
>Neuroplasticity involves the higher cognitive functions as well as memory and motor and sensory functions. No part of the brain is an exception. IQs of retarded individuals have been raised. Even thought and imagination, as brain scan technologies have clearly demonstrated, can change the structure of our brains.
http://www.nas.org/articles/Education_and_Intelligence--Part...
Find somewhere you can teach and receive feedback. I teach piano to students and several times I've been caught with a question I had to look up. The best thing you can do is say "I don't know but I'll figure it out for you". Plus, this way you also have to figure out a way to explain it in a simple method to those you are teaching.
Feedback is really important because it will be how you can affirm what you know and also give you opportunities to branch out. If you aren't getting feedback on a blog, forum, or wherever you may just need to find the right place to share your knowledge.
I think that learning a lot can hurt the overall effort, Focus on one or two things at a time and use them to do stuff. Try and get to the 'know what you don't know' stage for each thing, even if you cant do something at the moment knowing what steps you should take to get there is a good feeling.
[1]: http://chimera.labs.oreilly.com/books/1234000001813/index.ht...
- Keep alcohol consumption to a minimum, even a single glass of wine impacts memory formation and recall.
- Get lots of sleep
Sleep though, yeah, try to get more of that. Exercise too. Oh, also eat right. Hmm,... maybe should lawyer up and quit FB too, or so I am told... :P
[0]https://en.wikipedia.org/wiki/Effects_of_alcohol_on_memory
[1]https://xkcd.com/323/