During the past 2 months of my new role, I’ve been learning to program in a new language and a drastically different way of approaching coding solu...
For further actions, you may consider blocking this person and/or reporting abuse
I killed my TV and spend my time reading, studying, and working on my hobbies. After dinner, I'm studying what I think is awesome. On weekends, I'll commit a good portion of the day to studying. I then try to start a long term project that combines all the skills I want to master and begin to put it to use. Even if it's a single commit, it's progress.
I'm happy to say that I'm rarely able to sit down and enjoy TV when I'm by myself, except for sometimes having something I like on in the background. I still enjoy a good show with company, but in my alone time I actually prefer learning something new or reading for enjoyment. Wasn't always like that.
Hmm that's a good tip, thanks. I currently barely watch any TV. But I can definitely look for other areas/hobbies to make a little leaner.
2 hours on weekdays after work, or 5+ on weekend just building what I think is really cool and fun. Right now I'm studying Elixir and Phoenix. When I'm not doing that, I pick up any freelance work I can get and consider that "study time" as well.
About how long do you study a day this way?
I try to find at least 30 min a day to sharpen. In a thick book, taking notes and doing exercises, that is about 20 pages a day. It's enough to hello world a new hack.
Start "tricking yourself" at first... say, I'll read for 15 minutes... sometimes it's 15 min, sometimes that becomes hours.
Mornings. I work at home, so when I wake I start the teakettle and settle into my recliner with a laptop. The first thirty minutes are for email, social media, and just getting the brain fluid sufficiently caffeinated so it can conduct thought.
Then I break for a shower, and after that I make a second pot of tea and start studying - at least an hour of reading programming blogs, Safari Books Online, or watching videos from Coursera or Pluralsight or other providers, before I switch to my office chair and begin the work day in earnest. One hour a day is the target, sometimes more, sometimes less, and often I'll take a whole day on a weekend to deep dive into a topic.
Same for me. Early mornings are key to a good start to learning. I've realized that staying in bed for those extra 30 seconds always ends up turning into a late start, which in turn throws me off for the rest of the day.
Thanks so much for sharing, your method sounds potentially ideal for my current situation. I'll try a modification of it for 2 weeks and see how it goes (maybe write an article about the experiment). I'm in the process of moving and it has shifted my work schedule earlier (6:30-7am ish arrival time earlier) and the office is dead quiet then. I could use hitting the gym or a 30 minute walk around the neighborhood as my break. One question though, just how big is this teapot I need to know for experiment replication science 😜?
Two cups! Two cups is ideal because after it runs out, I'll make a different kind of tea for the next serving. Today, for example, I began with a black Chinese Yunnan for the wakey-wakey phase, and now am drinking a mountain-grown Taiwanese Oolong for the study phase; for the first hour of the work phase it'll be something completely different.
Check out: Pragmatic Thinking and Learning
It is a crazy good book that provides strategy and practical suggestions on how to optimize your learning, with a focus on dev.
pragprog.com/book/ahptl/pragmatic-...
Thanks for the rec. I'll get my paws on it and report back :).
How do you add the banner image to your blog post?
@dev3l :D
In the editor you add "cover_image: " anywhere between the ------s.
Then click the black (top right-ish) "Upload Image" button and select the image you want to use from your computer.
It'll give you a link you can copy/paste next to "cover_image:" and save post
Holy crap! Thank you for the in-depth explaination and images!!! Wish I could give you more than +1
You're super welcome, happy to help. Took me a bit to figure it out too and I wished for images the entire time lol.
I'm a little bit worried about the "YOU MUST NOT ENJOY ANYTHING BUT DEV!" attitude in some of these comments. Seriously, have a hobby, kick back of an evening. Netflix and chill, as the kids say.
I've been at this a couple of decades and still find new things to learn. My employer (like any decent employer) encourages staff to spend some time learning new things, both by reading, online courses, and so on. I usually end up using the techniques I've learnt in a new side-project, which sometimes end up being used in work.
And sure, I often do get excited by some new thing and spend hours of my own time working on it too - but nothing like all the time. Aside from anything else, I end up tired and nothing hurts my productivity and enjoyment of life in general like being tired.
There's a balance to be made. So don't sacrifice your life to thinking you need to learn all the time. You really don't, and if you do then you'll either burn out, become the world's most boring person, or quite possibly both.
Morning rituals is my answer to making time. If I have accomplished something as a first thing in my day, I feel I should do more. That drives me to cut down all unnecessary activities - TV, mindless browsing etc. How to determine what is unnecessary? That is where structured approach comes in.
We all have same amount of time. When I studied the successful, I found that they have structured approach to what they do. They also contextualize whatever they learn to their situation.
There are two structures that help me learn continuously.
First is having a structured approach to learning. I follow Consume, Produce, Engage model to learn. I have written earlier in dev.to about it.
Even on the consume side, there are challenges. Then again, you should have a structured approach to discover, comprehend, and make sense out of what you consume.
The second one is morning rituals. Whatever time you wake up, the first 60 min determines how that day goes. I ensure that I do one of the three in the SDL model -- consume, produce, or engage. That way, I have either learned something, or reinforced something I learned.
Good luck.
Bookmarked, and will Consume. Thanks.
Weekends are exclusively spent on learning something new. During the week, it's mostly in the evening, I try to spend half an hour after dinner. Otherwise, if it's a bit slower at work, I just spend an entire morning on whatever I want to learn. I can't do it to often, but I like to think of it as a win-win situation for me and my employer that I am able to set that kind of time.
I like the brevity of the half an hour after dinner idea, I'm going to try that thanks!
I use to read about new technologies I want to learn during my dialy coffee break. But that 15 minutes aren't enought, so when I have a free weekend and my partner doesn't want to go out, it's time to get the keyboard and work in a learning project.
That sounds balanced :). I currently need a weekend from my weekend, as they as filled up with social plans, running a nonprofit, hackathons, and other adventures. Chatting with you inspires me to try scheduling in time for a personal project/or software reading in every two weeks though.
One of things that help with learning is to find something that is related to problems you have at work. E.g. if you feel that team work is not organized enough or you feel tensions - read about software, management, and people topics. If you use a tool (framework, library, whatever) at work look how it works inside or learn some advanced applications of it. Alternatively you might find how your tool set compares to alternatives. Indulge your curiosity once in a while.
Besides having motivation at hand this means you can dedicate small portion of your day job time to learning. It does not take long to read architecture overview page of a new database server or do several coding katas. If you feel pressed by deadline, peers, boss so you feel like you cannot digress even a little then that should be changed first. Change attitude, talk to boss, switch job. Most effect at work goes from solving right problems not from working hard round a clock. It's easier said than done, but still true for any intellectual work.
Learning something completely new does take time (like it was for me learning Haskell) so probably it is possible on weekends when there are no distractions.
I learn when I'm working on a task. When you work on a task you basically solving tons of problems (some are easy some are not) at some point you come to a problem that you don't know how to solve (that is most often an indicator that you lack some knowledge). Now you have two courses of action:
So giving preference to 2nd option you will learn new things every day (even without dedicated time for learning) and develop solid problem solving skills. The only reason to choose 1 should be when you are in rush (i.e. deadline, etc). But that should be rare.
Naturally a question may arise "What about learning new technologies?". Well lets first consider couple of things from my experience:
So if you foresee that technology X is smth. you really gonna need in near future and that there will be no time to learn it by doing (i.e. using approach I described above) then it totally makes sense to invest your time and learn it. But keep in mind that if you spent N months learning smth. that you never gonna use it is a waste of time. (unless you really enjoyed learning that)
For me it's always been a motivation issue. I've always loved learning, but before programming it was very much a scattered, unorganized process. Now that I've found programming and absolutely love it, it's much easier to want to spend time improving.
This also means pruning my time doing the other things I want to do, though. I'm playing less video games and having less unstructured fun time in general for the sake of learning. So far it's pretty rewarding. When I first stopped playing games, it was more of a punishment; now, I take a moment and think about whether it's worth it. And sometimes the answer is yes, I should play a video game! More often than not though it's "how cool would it be to learn xyz?"
I got an agreement with my boss to do 10% time for our dev group a la Google. The understanding is that we'll use our 1/2 day/week to do something that may someday be useful to the organization. I don't remember what arguments I used, but it was something along the lines of it being cheaper than flying in trainers, or sending us to conferences or workshops all the time.
If your boss or organization isn't feeling that idea, Joseph Matsey has some pretty good talks on building a culture of learning, whether your company wants it or not.
I manage that on a personal level by blocking out Wednesday afternoon's on my calendar and then either doing some target blog reading, tinkering with a new technology or (lately) reading a tech/leadership/management book.
I find detailed articles on a subject I'm interested in. Then I start reading it and leave the tab open in my browser. Then I set aside a chunk of time to sit down and read and take notes and try stuff. How to Think by Ed Boyden was pretty influential for me recently; Specifically, "Never read passively. Annotate, model, think, and synthesize while you read [...]"
Persistence and consistency is the key for me to keep on learning new things. If I can't do it an hour on weekdays especially if I don't feel like it I might not do it for the whole week.
I also think it also applies to every aspect of life like having hobbies outside of work and going to the gym.
Last year I moved from a Testing role to a Developer role, for me, finding extra time to learn was important.
I started getting up earlier in the morning, I started off at 6:15 then slowly moved to getting up at 5 / 5:30 each morning. I get up at this time each morning no matter what, now I often wake up before my alarm.
While finding extra time to learn is a good thing, I find it really important to write down the goals and tasks I want to complete for that week and morning. If I don't I've find myself wasting that time, scrolling through twitter, half reading blog posts etc.
I turned one of our rooms into an office, with a nice setup, good monitor etc, that makes me excited to want to go into that room in the morning and get stuff done.
I commute everyday to work. I use that time to read blog posts, technical articles and the like. That makes me aware of topics which may deserve to be looked further into. Fortunately i work at a place where technology is constantly thrown at me, so some of my learning can happen at the Job.
But the majority happens on saturdays. That's often the day where i Invest 2-4 hours in learning new stuff. But not every week. There was a time where i used to suck in every bit of info i could get my eyes on.
Took me a while to realize there is a life outside /home. It aint worth to neglect friends, family or even yourself for some sand which happens to have electricity flowing through it.
To invest you got to have some capital. Sadly there is no VC funding for time yet.
I have the most classical excuse of all. :) "It's compiling". When everybody knows that the build can take up to 3 hours (depending on a lot of things, but it is almost never less than 20 minutes). I tried to complain about it at first, but it looks like it is an accepted practice in the enterprise. :)
This is a really valid question and I think a lot of us find this a challenge. Here are a few tips that I can say are really easy and worth your time.
Put books on your phone and try to read a page or two whenever you have a free moment. I stumbled upon this practice and I've been amazed with the results. When I stand in line for any reason, I pull out my phone and read a couple of pages. When I'm in bed at night preparing to go to sleep, I challenge myself to read a few pages. These minor gains will buff your knowledge and you'll be surprised at how many books you can chip away at over time.
Listen to engineering podcasts. I commute a total of 2 hours a day into downtown Baltimore so I am fortunate enough to have the time to pick a few engineering podcasts and listen to an episode on the drive. I have learned so much just from hearing other engineers and hearing about what others are working on. You can get a base overview of a topic that you're not familiar with in the context of conversation.
Pick out one small thing that you want to learn every day and do it. This is another one of those, small tasks that add up to a lot of knowledge. If you can honestly say that you learned one new thing every day, then you will be very happy in a few months and you'll feel like you're making way more progress. It's easy for us to forget what we've accomplished so I suggest writing these down every day and looking back on them.
I watch tutorials on weekend. and also at night i read dev.to and medium. when i have free time, i just see some tuts on week days also.
I get up early in the morning and learn something before doing anything.
Most of the time languages
Regards
I get up in the morning and learn something before doing anything.
Most of the time languages
Regards
I really like conferences about a specific framework / language. Like the DockerCon, PyCon, Vue conf, etc.
When:
most of my spare time is dedicated to learning.
How:
trying out new technologies applying them to my side projects, plus doing compulsive course shopping on udemy lol