Step 18: Continuous Learning ~ Clint Shank

Birat Rai
3 min readOct 12, 2017

--

This is the Eighteenth Step towards gaining the Programming Enlightenment series. If you didn’t learn the Seventeenth Step, read it.

“There is always one more thing to Learn. ”

~ Steve Jobs

Yes”, there will always be that one more thing to learn. Especially, in the software engineering, new tools come, awesome language gets developed and new library gets introduced. Open-Source platform has evolved the learning and contribution process as global.

Kai-zen, is one philosophy introduced in production, that we can actually implement in our lives too. Continuously learn something new today. Be it learning a new word to trying to conquer the steep RxJava curve. I’d even say if you don’t learn a single new thing a day, the day is wasted. We should strive to be a new us, a better us everyday, every-way.

Why Continuous Learning as Software Engineer?

  • You need to keep learning to stay marketable.
  • You don’t want to become a dinosaur programmer, stuck in the same job until, you get extinct.

How to do Continuous Learning?

  • Read books, magazines, twitter feeds, and web sites.
@venkat_s , Square Engineering, Google Developers, @martinfowler, Robert Martin,    Jake Wharton, Fragmented Podcast
  • Consider joining a mailing list or newsgroup or podcast. Subscribe to blogs.
#AndroidDevDigest, AndroidWeekly, NPR(How I Built This), MartinFowler, UncleBob, Android Developers Blog, Google Developers Blog
  • If you really want to get immersed in a technology, get hands on — write some code or blog.
@medium.com, @blogger.com, @wordpress.com
  • Always try to work with a mentor, as being the top guy can hinder your education. Although you can learn something from anybody, you can learn a whole lot more from someone smarter or more experienced than you. If you can’t find a mentor, consider moving on.
  • Get to know the frameworks and libraries you use. Knowing how something works makes you know how to use it better. If they’re open source, you’re really in luck. Use the debugger to step through the code to see what’s going on under the hood. You’ll get to see code written and reviewed by some really smart people.
  • Whenever you make a mistake, fix a bug, or run into a problem, try to really understand what happened. It’s likely that somebody else ran into the same problem and posted it somewhere on the web. Google is really useful here.
  • A really good way to learn something is to teach or speak about it. When people are going to listen to you and ask you questions, you’ll be highly motivated to learn. Try a lunch-n-learn at work, a user group, or a local conference.
  • Join or start a study group (à la patterns community) or a local user group. Go to conferences. And if you can’t go, many conferences put their talks online for free.
@meetup.com
  • Ever run a static analysis tool over the code base or look at the warnings in your IDE? Understand what they’re reporting and why.
  • Follow the advice of The Pragmatic Programmers and learn a new language every year. At least learn a new technology or tool. Branching out gives you new ideas you can use in your current technology stack.
  • Not everything you learn has to be about technology. Learn the domain you’re working in so you can better understand the requirements and help solve the business problem. Learning how to be more productive — how to work better — is another good option.
  • Go back to school.

TL;DR Don’t try to be a Dinosaur programmer. It will lead to extinction. Challenge yourself with ABC and EVOLVE.

--

--

Birat Rai
Birat Rai

No responses yet