AMA with

Todd Motto

Founder of Ultimate Angular, Google Developer Expert, Conference Speaker and Open Source lover

10th October 2017, 6:00 pm

This AMA is over!

Thank the host

Message from the host 💬

Thanks for the great questions and your time everyone! :)

Hi Todd, Thanks for doing this AMA. :)

What's your opinion on ReactJS and VueJS? When would you recommend a developer to use Angular over React and Vue?

Hey Anant! Thanks for the great question. I’ve a bit more experience with React than I do Vue (having said that, I do pay a lot of attention to both communities and their direction). I really really like JSX, I kinda miss it over in the Angularsphere - but there are plenty of shiny features for me to play with over there :D

As for recommendations, I rather give folks some details where they’re able to make their own mind up on the technology they’d rather work with - I don’t think pushing people in a direction will make them “like” something more. If you’re considering a project, and have the time/capability - I’d highly suggest prototyping a few ideas with different options (React / Angular / Vue) to see what your team’s consensus is, as well as thinking about project longevity.

I think we've also come to a consensus on the web that components are the way forward - I think nowadays it's picking the right lib/framework that's the right flavour for you :)

Hey Todd, Thanks for this!

How do you level up and keep your skills relevant? Tutorials, side projects or something else? What the best way you have found to become proficient working with new languages/frameworks/etc.

Howdy Jay! This is honestly the toughest part of what I do. Some days I think about giving up for a week or so, and other days I wonder why I have those thoughts at times :D

With anything, it's all about persistence. Persistence mixed with context switching. I couldn't build X Project for 300 days straight. However, I could build X Project for 3 days, 2 days Z Project and so forth. Keeps the mind sharp, and when you "relax" a little from a project (for me at least) I can come back to what I was working on with a fresher perspective to tackle what I need to do.

For me, I gather a lot of information online, run through docs, open source projects, look at best practices, architectural patterns and how APIs fit into the equation. I guess the best way to sum it up:

Instead of just "using an API", find out why it exists and it's purpose in the big picture. That helps answer most questions, and the coding can begin :D

What advice would you give to 16 yrs old Todd Motto today? What are a few things you wished you knew when you started programming?

"Invent Angular 2 before Google does!"

On a serious note, one of the biggest things for me learning JavaScript was lack of knowing what was really out there. So many different roles, jobs, directions you could take on the web. I've always been really passionate about design and web, so knowing what was possible back then would've helped fast forward a few years I think :)

Things I wish I knew... I think the most important one that's taken my skills to new levels is understanding and implementing design patterns. We can all write a "for" loop, but again writing it as part of a bigger program that does more powerful things is something that is tough when you're brand new to patterns and best practice ways to attempt things.

Thanks for the great question (was a tough one)!

Hey Todd. What are some of the habits you think have helped you tremendously to become a better developer? Was it a few big things or a combination of small ones? Thanks

I think sleeping about 3-5 hours a night for the first few years helped learn things fast, well and enabled me to jump a few jobs to higher up positions quite fast. Not that I recommend staying up til 6am everynight... Just Monday-Saturday ;)... Sleep is important, and knowing when to switch off is also important. And you don't need to lose sleep to get better at something. A few hours dedicated to something a day goes a very long way. Some days I don't even code of an evening, but sit reading source code, documentation and stack overflow posts to compose ideas/images in my head of what the tools I'm using do - and how I can use them in more powerful ways. I've learned that you can't paint the Mona Lisa in a day, even though sometimes we think we can xD take it slow, steady and one step at a time. Just be persistent, reach out to others that you trust and can help you! A great circle of friends/contacts is really valuable.

What's next after Ultimate Angular? What are some of the projects you are currently working on?

I'm working on a small side project right now, soon to be announced publicly. It's not a deviation from Ultimate Angular, more an extension to my vision of things I want to provide for developers and teams. Excited to see how it goes :D

Who are some developers on the Internet you admire? Who was your first DEV hero?

Who's first dev hero wasn't Mr Paul Irish? xD

Paul inspired me so much (and still does) when I first started and gave me the motivation to start working on open source things and blogging!

Other developers that inspire me, far too many to honestly list! I can't leave without mentioning the infamous Ken Wheeler though.

Hi Todd, thanks for the AMA!

What are some guidelines you have followed through the years which helped you be a better developer?

Also, how often do you optimize and refactor code? I have come across some articles which point out the rules of optimization to be as follows:

1. Don’t

2. Don’t yet

3. Profile before optimizing

What do you think about these?

Keeping a great circle of folks on twitter in view, keeping up with prominently awesome companies, blog posts and much more!

As you learn to write better (faster, if you like) code, you begin to start to factor that into the daily dev tasks. Just don't go overboard with refactoring/reshaping all the time. After a while you're able to focus more on a bigger picture before diving into the code, and messing about with refactoring etc.

Do you use webpack with angular? if yes, how do you enable modularity in your angular applications using webpack? If not how do you enable modularity in your angular applications?

Yep I use webpack (non-CLI) with Angular, it's a pretty small setup to be fair, a few funky features like the AoT loader to support lazy loading. I know you're on the Ultimate Angular platform, and my "real world" projects are built with a 95% similar setup to the courses :)

Do you have a favourite hosting platform and why?

Google App Engine is cool, I also love Heroku.

favourite database and why?

can you also write awesome java/python/other-common-language or mostly js/html/css?

I used to write PHP but you'll never find it on my resume. Seriously though, with Node it's made it far easier to adopt backend technologies without diving into other languages. For some reason I've always wanted to learn Python, it just looks cool.

How much of your social circle is made up of software devs? Is your lovely and talented interested in what you do and can you talk about it off hours, or do you turn off the code-mind when you're on social time? How important do you find real life interaction with coders in keeping you motivated and current, or can you get what you need online?

It's quite a tough one to be super focused during "the day", and then know I've still got at least (for example) 5 days more on the same challenge. When I go do other things, my brain tries to tick away thinking about the problems to solve in the background, which can lead to a vacant stare down the pub.

My fiance Rachael is always sooo supportive, she loves what I do. Some days I make her sit in front of my whiteboard and I draw architecture diagrams xD she's a personal trainer so isn't into tech as much as me. But she could probably give a good conference talk on components and observables now!!

With regards to other developers, I mainly see them at conferences. I've only a few friends locally that code, and when we meet we don't really talk code at all. I think that's a good thing though. I live in the middle of nowhere in the south west of England... So devs aren't densely populating the area xD all of my knowledge I've worked out for myself, and online.

Would you recommend other people get into teaching online tutorials? How does someone go about doing that, and how much knowledge & experience do you need to have before you're well enough qualified to make tutorials on a given matter?

Yes, yes and yes. The only knowledge you need is the things you already know. I always say to people something like: "For every thing you know, there's many more people out there that don't know". I use that as a little motivator to post different kinds of posts (aimed for beginners/med/advanced etc). Setting up a blog of any kind has never been easier, a few clicks and you're done. No one needs a qualification to have a voice.

Todd, do you have any thoughts on how to implement a plugin architecture in Angular similar to Wordpress? The scenario is that you can upload a plugin and the angular will automatically add a functionality to the angular app similar to Wordpress does?

Packaged modules sounds like a good solution!

Hi Todd, what is your opinion on micro Frontends, considering microservices pattern at services side

Hi Todd, Can you answer my question about angular modules and Webpack bundles please here?

How big of an initial bundle payload is too big for an application in your opinion?

800kb might be creeping. Depends on caching/CDN/other strategies for delivery you have.

Can you detail your current stack that runs the Ultimate Angular training platform?

Copied from a similar comment:

We recently moved the frontend over to a static site generator with a few hooks.

At the minute I'm building out the platform with Node + TypeScript + MongoDB, Angular and ngrx.

Would you rather fight one horse-sized duck, or a hundred duck-sized horses?

Gotta be the horse sized duck...

What's your favourite feature in Angular? And do you miss anything from AngularJS not present in Angular?

Oh man, tough one. Anything with Observables! I'm kinda obsessed with the reactive forms lib, let's go with that. As for features, who doesn't miss $scope?

When using node, do you go for LTS version or new features version and why?

I run on the stable version yep :) I'd rather the bugs be my code not theirs :D!

Hey again, Todd,

what was your biggest failure and how did you deal with it ?

When I was about 20 I had a job interview for a front-end dev position, I started taking their test and they asked me to write out an HTML form with some inputs/buttons and form actions on.

I had no idea how to write a form.

How I dealt with it: The interviewer left the room, I googled "HTML forms" on my phone and miserably failed the interview.

What happened next: I mastered HTML forms :D

After your courses in angularjs and angular, could I consider myself ready to consider myself a junior angular developer, to face projects that includes angularjs/angular?.

Do I need long months to start being an angular developer?.

Thanks mate

The courses I build for Ultimate Angular are intended to get you into a job, but also way past it. If you're new to the development landscape then a few years of experience under your belt goes a long way, but it's up to you how fast you climb the ladder :) I'm confident that the UA course curriculum can get you to the top.

What was your first pull request? (as a software developer, not teenager!)

Honestly can't remember, I haven't done a whole heap of contributions to other projects besides my own that I release - was probably a "fix: readme typo"

HI Todd,

I like Angular 4 and used in a couple of projects. The only concern I was having is the size of the bundle. In my project, it's around 5 Mb including vendor script and custom scripts.

Compare it with other frameworks like react and vue it's not even half of it. Don't you think bundling will create a problem in countries like India where in some parts still high-speed internet is not there?

It sounds like you could be running non-AoT code? Typical dev builds are 2MB+, and stripped to about 70KB once AoT'd (excluding your code). Code splitting and lazy loading will go a long way:

Are there any areas of javascript that you avoid because you find them complicated or easy to make mistakes with?

Not that I know of, but I also know there's still always a lot to learn.

Sup, Todd. Huge fan, thanks for doing this and for all the contributions to the ngCommunity. Seriously, devs like you that throw free knowledge out into the universe are the reason most of us are able to fake our way into this career in the first place, so thank you.

Question: How do you stay so driven and focused? In JS framework land, the upgrades are constant and coming faster than ever, keeping up is a constant source of fatigue and burnout Medium articles, but you're always on the ball with updated content and lessons and projects. Do you ever have a hard time getting geared up? Are there certain things you research or projects you dive into to get motivated?

Sup man! Thanks for dropping by :)! And for the kind words. Honestly, I just love sharing things I know and writing about them also puts me in the hot seat to make sure I actually know something (to an extent) before publishing a blog post. I only started blogging to stop my old-old-old team where I used to work asking me questions all the time xD I'd just send them a link instead and answer any further q's. Focus and drive: for me this one is like the ocean. One day it's rough, the next it's smooth sailing. I don't think it's good to "force it" and spend a lot of time on non-code tasks when I'm not feeling focused or driven. I think the main thing for any lack of focus/drive is not knowing something, and I'm a horrible learner at times. But I persist, things click, and I keep paddling through the seas ! :D I started my career as a designer, so thankfully I have some design skills for when I'm feeling gloomy about code at times, so I take a break, design some cool UI, and then come back and code it :D Another thing I do is not really pay a huge amount of attention to all the new things flying around the twittersphere, you could sit for days wondering what you're even doing. Stay focused on your stuff, branch out where needed.

What's your opinion on using frameworks like angular material for angular components?

Do you think you'll ever go back to working for companies or consulting? Or will you keep teaching for the foreseeable future? Do you worry that you might become out of touch, or are you just a boss?

Hopefully keep following the dream I have to bring the best training to every developer ! :D I worry about too many things, however I'm slowly learning not to worry about those things as in reality they're not even on the horizon.

Do you ever contribute directly to angular? How would you recommend someone to get started if they were interested? How much do they need to know?

I haven't beyond one PR I did about 2 years ago, it was never merged xD I'd recommend tweeting/speaking to a core team member on getting setup and some good guidelines on contributing :)

Your tutorials, blog posts, courses are all great. Why stop with Angular. if you produce contents on Node js , that would be awesome.

Thanks for the kind words ! :) It's something I've been thinking about for 2018 - bring back the MEAN stack!

what kinda programmable architecture, language etc. is made with?

We recently moved the frontend over to a static site generator with a few hooks.

At the minute I'm building out the platform with Node + TypeScript + MongoDB, Angular and ngrx.

Do you ever get in an argument with someone stubborn and just end it with "Well I'm a google developer expert so I win"? If so, have you tried it with your Fiance?

I avoid digital confrontation ;) But I wouldn't say that either ha.

What sites/blogs/articles do you check at least once a week?

Favourite Pizza, what restaurant, what toppings?

Anything with jalapenos.

Best book you've read about programming?

JS Good Parts - was a few years back now, but it answered many questions I had :)

If you came across an interesting topic that was not angular based or related, but useful, would you be willing to make video tutorials for it? if so, would they go on ultimate angular or somewhere else? And have you had any ideas about this sort of stuff that you've considered?

Absolutely. I own a few other ultimate*.com/io's :) you never know..

hi Todd, what you think about typescript ? i mean one day .js will completely replaced by .ts

I love TypeScript, and after a few weeks of using it really wondered how I worked without it. I think there's some development around "types" in JS, who knows when they'll be here.

What wakes you up in the morning, coffee, red bull or cocaine?

express or koa or other and why?

What do you do for fun (away from the computer)?

I'm into fast cars, some adrenaline rushes (15,000ft sky dive!), exploring some of mother nature and spending time with the family :D

Were you nervous starting your own company? What were the main bumps along the road in getting from idea to where you are now?

I wasn't nervous starting it, but going full-time I absolutely was! No major bumps really, I think when I decided to launch UA that the timing was just right to make it happen.

favourite toothpaste brand?

I've got some charcoal stuff at home, can't recall the brand - but its awesome!

is it good for sensitive teeth?

Do you ever work on new apps and ideas just for fun? Or do you have a social life?

All the time :D yes to both.

Have you been watching the apprentice this year?

Hey Todd, huge thanks for UA platform ! Q: what are your thoughts about Web Components ? Is it worth to bet on them ?

Glad you're enjoying UA! I think we'll see more momentum and power from WC's as the next few years go by, and the platform keeps shifting.

What is the latest you've ever stayed up on a programming session and night, and what were you working on that was so interesting?

What hair gel do you use?

Are you ever going to change that image of you with the TWF background? It seems like you've been 'a 26 year old front-end engineer' for about 3 years now

Maybe, I've been debating it recently, but I've not got a decent up to date pic. was only last year! I was still 26 ;)... 27 in a few weeks...

What do most people not know about you, but you wish they did?

Maybe some science/astrology/history folks may love how much of a nerd I am xD outside of code, I love exploring the ideas of life, the universe, asking the questions we'll never know the answers to, and pondering on some history lessons. Specifically: I kinda love dinosaurs xD

Do you know how to do a git rebase? Or do you just delete the repo and start again?

what is the most important thing to learn js

Please rank your top 5 breakfast cereals

I don't eat breakfast, ever.

Some people when comparing vue/react/angular have said that angular is over-engineered and complicated, and lacks clear documentation comparatively. Do you agree with this at all? Is this shortcoming keeping you in a job?

Taking a car apart is complicated if you don't know how!

A lot of people think of angular versions 2, 4, 5 ... as the second generation of the angular platform. Do you think in 5/6 years we might have a 3rd generation, where the platform gets another major re-write? If so, where would you speculate the web might be heading towards?

Hi Todd, Do you think that Polymer can be one of the front end technologies next to the frameworks like Angular, Vue ...?

First of all, thank you for Hashnode AMA🙂

my question, what you do when your code doesn't work😐? How much time you invested when you're just started to code?🤔 also on weekends, do you chill out with friends and family or began coding as usual 😜?

Google error messages and pray someone's written a Stack Overflow post about it haha :D I spent hundreds of hours a month coding/learning when I first started out. When you learn more things, you have to sometimes retrace steps for other things to click, and you can keep growing from there. Weekends are sometimes a mix of coding, keeping the business ticking and some "long walks on the beach".

what kinda build tools do you use?

Hi Todd! Thank to Your courses(all of them) , your talks and motivation i am now Angular Trainer in my company (about 500 devs). During learning other people and helping them with their problems in angular I've learned more than evr. Could you confirm that you had the same experience? :)

Hi Tod, as a beginner, I find myself stuck in the tutorial hell. I know the advice is to 'just build something already!' but how exactly do I do that if I don't know how to build it? I tried to learn React recently and while I understand the structure and know how to define components, etc, I do not know how to actually build a React app because I don't know what needs to be done first, second, etc. And since I don't know what to do, I don't know what to search for on google. Do you have an advice for me?

One of the more recent additions to my "I need to work this out" workflow is searching GitHub for packages/APIs I'm using, and see how others are fitting the jigsaw puzzle together :) you can then start to see the architecture patterns and usage. Just take it slow, don't get frustrated (which is a hard part for me), and remember: at some point you will know this, so you're just working towards that goal always. GitHub's been really valuable for searching for inspiration or answers, I'd highly recommend it.

Hey Todd. As a developer who lacks design experience, I tend to use the bootstrap framework to quick-start projects. What would advice would you give to be able to rely less on designers to make custom assets? What tools or concepts would you recommend learning to get started?

For me, I've always tried to rebuild things that others also make. This gives you a whole new skillset and problem solving (with things like the DOM specifically rather than general JS programming). Try it, you'll learn a ton! Start with something really simple, like a dropdown menu. Then grow to an upload drag/drop tool. There are common patterns in each!

Favourite sticker on your laptop?

What are 3-5 things you like about the Angular framework (from both: the new and/or the previous versions)?

You seem pretty hard working and a little inspirational to other mere mortals who struggle with angular day to day. Is there someone you look up to who is even more awesome?

I look up to all the folks that support and inspire what I'm doing :) !

What do you think about the JS stack Parse Server with Angular?

Do you still struggle with errors most days? Or is it easy for you to build whatever you want first time?

Hi Todd Motto, What is the different between Designing and Coding a Design from the front-End developers perspective?

Hi Todd, What was your first Git commit? Please share the experience. 🙂

It was for my old "HTML5 Blank" WordPress project. It was basically a blank boilerplate with HTML5 setup for Wordpress projects, a few days after Adobe tweeted it, followed by Smashing Magazine and many others - it got me wanting to do much more! :)

Do you get involved with DevOps stuff much, like using docker and setting up servers etc? is this something a Full stack developer should be able to do in your opinion?

Not massively, I can deploy/manage simple dev ops stuff. I guess a full stack dev should be able to get something up end to end.. How far you decide where the end is "good enough" is up to you :D

Hello again, how you make your self updated with latest and greatest projects ?