Posted on

The Best Way To Learn Second Technology


 Designed by Freepik

So I think I finally figured out the best way to learn second technology. What do I mean by second? It’s your second programming language/second platform. Reached the point where you got bored with your first language/platform and want to learn another, but wander what’s the best way to do it? Check out what I’ve learned

First Language

Let’s just start with the very first language/technology that you learned, to get on the same page of how I learn stuff

By first I mean the first one that you actually mastered and consider as a full time. If you mastered several platforms initially – then you did it wrong or you weren’t in a rush to get results

With first one it’s always messy if you don’t have a great resource. I’m the biggest advocate for learning your first technology with Udacity

Aside from having the most comprehensive courses – it has the unique learning system focused on practice and you figuring stuff out yourself when given a task. Rather that your regular YouTube watching/not applying anything technique of learning. I know it because I’ve tried it all, I literally was thinking

OK, after watching (not applying) 100 tutorials on Android from this channel I’ll know it all and finally start building my apps

So Udacity is the best place to get your basics and become great at figuring out further advanced stuff by yourself after

Second Technology

So I spent about 2 years going deep into Android and only. I still do, but lately I had to learn a bit of web, iOS stuff. And before I also tried to learn some machine learning stuff

So by the previous experience with Udacity I went to take nanodegrees on those topics. And surprise – it’s boring!

All those details, starting slowly, building your programmer mindset feels like a kindergarten to me now. And I couldn’t complete anything. Even machine learning, which is completely different from Android

So now I had to figure out the next best way to learn stuff. No basics, wasting time stuff on mindset, straight into battle

The Next Best Thing

So I heard about it a lot from Simple Programmer, but it didn’t work out that great for me as a fist language learning technique

Here it is – learning from a project! So the way it works is basically you get yourself a fully functional project (few minor bugs of course) in the totally unknown and new technology to you. And the way you learn this new technology is by fixing bugs and implementing new small features

Here’s the process: you see a bug, debug, narrow down exactly to the line of code, function it causes and Google it, go on Stack etc.

After fixing few bugs you might get comfy to implement few features and learn even more stuff. Slowly you get to build your knowledge and fill out the gaps. No wasting time, totally love it

Find A Project

Now the question is – where do I get this kind of project? You can get some from GitHub, there’s plenty, just find some that’s really interesting and works initially

For me, it’s other platforms from the company I work for. Super perfect, I already know the system, just focus on the technology itself

And you might think – why bother, just use the strategy of learning stuff the same as you used when learning first technology. Well, the way that I recommend – you’ll get results way, way faster that you’d get by just doing the same thing (YouTube, courses, etc)

So when you consider yourself learning new technology – think about applying this strategy. And yes, over time you get faster and faster at learning new stuff, it’s just slow in the beginning

Also check this post about how few more ways of how to learn stuff quickly that I found out

 

 


  • Andres Garcia

    As you are an Android Dev and done a bit of iOS: Is iOS really easier to develop for than Android? If yes, how so?
    I always heard, and I’m sure you have too, that iOS is easier in Dev than Android… But as nobody has ever been really able to tell me why, I assumed that it’s because Android supports so many devices from so many manufacturers and so it takes much more time and effort.

    • I’m not so deep into it that I can compare fully, but here’s few things I can tell you: xCode is a worse IDE than Android Studio.

      Intellij just make it better, luckily there’s iOS IDE from them

      Yes, it’s looks super simplified with Swift syntax now

      What I like is xCode builds don’t bring the system down as Android Studio, which I hate. And Instant run actually is Instant compare to still 1 min in Android Studio

      I need to spend more time with it to give some decent review. But I do feel that there’s less those ‘WTF?’ moments on iOS compared to Android when learning the basics haha

      • Andres Garcia

        Maybe that having the bases of Programming logic helps too.
        I had a look at Swift and Kotlin…they seem pretty similar to me so far.
        Nonetheless, I believe that in the long run people are gonna go more Android and iOS loosing users^^
        Go Android !! Or I should say, Fuchsia…