Many a young developer believe that it is crucial that you use the most advance languages and frameworks for your development work, else your apps will be total garbage! If you won’t take our word for it, at least listen to some of regrets of what could be your next employer…
Full transparency: This is mainly for the young ‘nerdling-devs’ who feel like they have something to prove, but it could apply to anyone really…
So, we thought we’d throw out another PSA about how using the most cutting edge tech is not always the best idea. That “language that will make all the difference”, doesn’t necessarily exist. Essentially, that “there is no stack that is universally better than the other [and] that everything is very circumstantial: for certain tasks, certain languages are better.”
But today we thought instead of wearing out the same letters on our writer’s keyboard, we’d try a little negative reinforcement… Today we’re gonna hit you where it hurts: your wallet. Then were show you your potential employers and how they got hurt in the wallet, and why their hurt will always dictate how and what you do (which I would argue then turns into an existential hurt which will forever linger ever so slightly in the back of your mind and weigh down your soul just a little …so bonus negative reinforcement -I win forever- Boom!…Sorry.).
It comes down to this, whatever new tech you think is soooo cool, and you want immerse yourself in, do that on your own time. The companies that you work for or will freelance your time out to will not use it. They will use either OLD (read: tried and true) tech or something that they have invested thousands or millions into and are not going to give up. You wanna make money: learn to use their tech. Period.
Still on the fence? “One of the advantages nobody points out is that old technology can mean job security, or job opportunity. If all the young hipster nerdlings are jumping into some brand new cutting edge tech, a lot of the times, there’s not too many jobs in that.” Whereas if a company invested a lot of money running their business on an older language, there’s probably not a lot of programmers out there anymore for it, and that would be an abundance for you!
Still not convinced? Alright, hail-mary throw: “I am very reluctant to adopt any new technology, just like any other business is…and the reason they’re very reluctant to adopt a new technology is not because they’re ‘old school’, or they’re dumb, or because they don’t see the advantage… It’s because they look at the broader picture [what you should do as a developer]. The broader picture is that you don’t want to find yourself using a stack that never really catches on fire; that never really takes off. Imagine if you spend 50 grand, 100 grand, a million building an application, and your business depends on that application, using some cutting edge tech and you find out 4 years later that nobody wants to use it anymore. Happens all the time… And then you’re stuck: cuz good luck trying to find new people [programmers], and if you find people they’re going to charge you an arm and a leg… and you’ve got this investment in this technology and you’re stuck: you have to rewrite from scratch, or you have to pay through the nose to find people. …Even worse is if the technology doesn’t take off, you may find yourself with an abandoned technology; and then you’re in big trouble!”
So there it is, we’re sorry we had to do that you…it was outta love. Check out the VLOG for a way more in depth dive into this. And good news: the newsletter is up! subscribe to get access to stuff you can’t get on YouTube (links down below). -Enjoy!
Sign up to my Need2Nerd Newsletter for exclusive nerd content that everyone loves: https://www.need2nerd.com/
Does learning C++ teach you programming in a more effective way?
There are a lot of things changing out there in the world, but the more it changes…well, the more it stays the same. One of the (arguably) big time, general purpose languages: C++ while still a very usable language in it’s own right, is not necessarily the first choice for teaching programming anymore… Now, in the interest of transparency, “I don’t think that any particular language is necessarily better for teaching than any other language…”, that being said however, “…I would lean towards teaching with a language like a Python, like a JavaScript over a C++, simply because it’s easier to get stuff going [with those languages], meaning it’d be easier to show the students something they can see once they start programming…we’re visual creatures, humans are…”.
Now, if you know the kind of environment we try foster around here, you know we’re not saying that C++ is dead and nothing can be gained by learning it. Quite the opposite, especially if you’re more of a hardcore, ‘devil in the details’ kinda learner. And as far as ‘run’ time (the speed at which the language processes information when completed) vs ‘write’ time (how long it takes to actually program it), “If you write an app in C++ , it’s gonna run circles around Java, JavaScript, PHP, Python, especially Ruby<Boom!>, it’s gonna run circles around all those languages in terms of run time speed, your C++ application is going to be blazing fast! The problem is that by the time you’re done writing your C++ applications, the person who’s writing a similar application in Python or Java, JavaScript, etc, they’ve already moved on to 10 other projects: maybe they’re already tired at this point in time…”.
Now, as much as we say there are no inferior languages out there, we also say that you have to follow what the market dictates (especially as a freelancer), and let us tell you, it’s not looking good for C++ out there. “…The industry moves towards faster write time languages. The speed [run time] advantage that you saw in languages like C++ over the others is becoming a moot point, as computer hardware gets faster and faster, you don’t even see the speed difference in practical application.”
So there it is. Please checkout the VLOG for more info and check out our new newsletter (link below): NEED2NERD. Shameless, we know. Sign up and get exclusive video content that would otherwise not be published on the channel, plus more cool stuff to come! Enjoy!
Sign up to my ‘Need2Nerd‘ Newsletter for exclusive nerd content that everyone loves: https://www.need2nerd.com/
Developers have to choose in-demand languages and leave the nerd-affections for tech behind. Also, learning about Amazon Web Services.
For those of you that thought we were going to talk about the possible alcohol problems you’ll face as a freelancer, and having to stop carrying around a flask of ‘liquid inspiration’ with you at all times… Sorry, that’s not this article (I keep mine loaded with bourbon -it’s a sweet treat with a kick!). No, we’re talking about Python Flask, which is <generally> a web framework that few people use, so ironically, if you decided to base your whole career around Python Flask, you might be hitting the bottle pretty hard… We’re responding to an email we received about a gentleman (cuz he’s in the UK, I guess…) who’s about to finish school, wants to become a freelancer, and is wondering what he should “pick up” as his back-end language. He’s currently using Python Flask and doesn’t think he’ll stick with it as job opportunities in his area are not great. So let’s get down to it:
Follow the Money!: “As one of my mentors used to say, ‘follow the money, Stef!’, this applies to business, this applies to getting a job, this applies to freelancing. You gotta go where the demand is: people have to want to buy what you’re selling. So what you want to do is look at the freelance market and determine what it is people are asking for in terms of when they’re hiring freelancers.” Also, just a note on being a freelance developer, ” …you are not a JavaScript developer, you are not a Node developer, you are not a Java developer; you are a developer… and you happen to use Python for this project, and you happen to use Java for this project, and you happen to NOT use RUBY for that project… .” 🙂
AWS and the NTNB (Need to Nerd Basis): No doubt time is precious and, “…hosting is becoming more and more sophisticated, and there are now third-party hosting solutions that you can use that will be able to deliver not just disk space on their servers but all kinds of utilities and capabilities, and processes that you can leverage in your apps.” Amazon Web Services (AWS) is one of them, so is Microsoft Azure, and even DigitalOcean (full transperancy: We use them), to name a few. And while we’re not going to go into a huge description of the services offered or how to strategically use them (Check out the VLOG, link below), we will say that there are some robust and sophisticated solutions on offer. Do you need to drop everything you’re doing and learn AWS or any of these? The answer is: NO…maybe. “Do you jump into AWS now? No, the first thing you have to do is your foundations, you [gotta] understand basic web app development, and so forth, and then you can look at the solutions.” Also, depending on the client, “AWS: I think those are for larger projects, larger community, or larger organizations because they require more money and are more sophisticated: they may require more setup…”. There are of course, more middle of the road solutions, but this would be a good time to introduce our founding core concept: NEED TO NERD (NTN). At its heart is the idea that you “…learn what you need to learn on a ‘need to nerd basis’ “, which is a play on the ‘need to know’ concept. “People think oh my god, I gotta learn this and I gotta learn that, before I even get a job, and I say no, no, no: you learn what you need to learn on a need to nerd basis: when a project comes up, when you have to implement a certain type of functionality that requires a certain type of technology, then you learn it.” NTN will also be a newsletter that will be going out to you guys with links to videos and we’re thinking that we may even do an accompanying podcast as well (more on that as it unfolds). In the meantime check out the VLOG, (it’s packed with all the explanations and clarifications that this BLOG will surely be lacking, lol). Remember that you are a developer first and not to bog yourself down learning archaic/draconian languages before you even need to. Just take a look out there and go with the flow. -Enjoy!
I think we’ve all seen a film where the heroes are trapped in some room and the walls are closing in, threatening to crush them, or the room’s defenses are activated and lasers are shooting at them while they’re pinned down in cover, or desperately trying to dodge the blasts. What do the heroes do? Well, they call out to the “techie” person of the group, who’s usually in another room, watching from a monitor, and scream at him or her (usually him) for help. And this person goes to work on a keyboard and we see a window open up on screen with code on it, and they do some quick (non-nonsensical) typing, and the room’s traps/defenses either shut down or turn on the bad guys and take them out. No, I’m not trying to sell you my screenplay, I want to bring this up because when we see this, we think to ourselves, ‘That’s badass! To just hit a few keys on a computer and Boom! I just saved the day. I wanna do that…’ But then our brain automatically switches to thoughts of mountainous, thick textbooks with titles like, ‘Super nerd calculus-programming’, or ‘Say goodbye to your social life, nerd! Volume II’. And we think that we could never be this studious person, this soul of near-cosmic understanding of numbers, formulae, and ‘the maths’. We can’t see ourselves as this hero…
Well, we’re here to tell you that nothing could be further from the truth. “Coding is not that difficult to learn. Why then is there this major misconception about how difficult coding is?” The reason may not surprise you, if you’re a parent putting their kid through high school, or a kid in high school who’s hating physics or chemistry right now: teachers. “Most of the code courses out there are put out…[by] people who have no business trying to put out courses on code, because they simply do not know how to teach. …I would say if you tried to learn to code and you weren’t able to do it; you found it too difficult, too hard, I’d say there’s a 95% chance that it’s not you, it’s the bloody course.”
Now, we’re not saying this applies to all courses, and FULL TRANSPARENCY: We do offer coding courses, but this isn’t about that. You don’t have to buy our stuff, we’re not pushing that on you (there will be links down below, but there always were -nothing has changed there). The real reason is, “it leaves people with a bad taste in their mouth…because they’re not getting trained properly [and], they’re throwing you off of something that you could actually do.”
Check out the VLOG for a way more in depth dive into the subject, including the difference between courses and tutorials (which is what a majority of the all the so-called courses you get sold are), and on a lighter note, find out how good Stef was at grade 10 math (hint: not very). If January is already getting you down, check out the awesome beach and boats scenery towards the end of the VLOG, and if you have or know someone who you think is a great teacher, take 5 minutes and let them know you appreciate their efforts, it’s nice to hear.
Young developers are hyper concerned about learning the newest programming languages and frameworks only … but the most popular languages today are 20+ years old!
Alright yung’uns, gather ’round the fire… I know, everyone has indoor heating and there’s no need for fires anymore but this is gonna help with the over all ‘flavor’ for this blog…
Many you young devs are focusing on the shiniest, newest programming languages and frameworks, and while I salute your moxi, your gusto, heck; even your gumption… I’m here to tell ya, that there’s a difference between new and popular. I know when you’re listening to your CardiB’s and your Lizzo’s, you may not see a distinction but in the programming world, lemme tell ya, bucko, there is definitely a difference…
“…For a long, long time -like 10/20 years- especially when it came to the web stack, the technology changed so often…websites and web apps…it has changed so radically.” Now, as I understand with you yung’uns, 10 or 20 years ago might as well be 100 years ago but, “…when it comes to the actual programming languages (the popular ones that are used to date), …they are pretty much entrenched. I think you’re not going to see a big move away from the major players over the next long time. Why? There’s just no need to. Now in the past you would create a programming language because there was a particular need that was very important, but it was not addressed by current languages.”
Also, over the years as computers have become markedly faster (CPUs and memory both have become faster and cheaper), the need for highly optimized programming languages have become arguably less and less important, because a human eyeball won’t necessarily notice execution speed on most modern computers because they process that information much more efficiently than a computer from 10 or 20 years ago.
The VLOG goes into waayyy more detail, we’re talking SQLs, Bootstrap, even RUBY (and only an inkling of an insult too). But, “when it comes to the major programming [and coding] languages of today, not much has changed in many years. …On the advanced stuff yeah, but in terms of language, not much has changed. …When you’re looking at the languages, at the technology, it’s not as critical to have stuff that was created in the last two minutes. The big ones [programming languages] they’re not going anywhere because they’re good, they’re good at what they do and the problems they may have can be addressed with some small updates, and they just keep getting more performance with the updates…”. Now, it’s almost 4pm so you better git gone and think about what I’ve said while I get ready to sit down to my dinner… -Enjoy!
Vue.js, React and Angular are the big three JavaScript frameworks. But which one is the best in 2019?
There are many JavaScript frameworks out there but Vue.js, React, and Angular are easily (though, I guess also arguably) the top three. All three have their strengths and uses, but if you want to find the best one for your needs, let’s look at a brief overview (more details in this VLOG and way more in the article).
Before we get started, this is the article we are …framing?… our references around, and full transparency: we use Vue.js (henceforth called ‘Vue’) for our needs with StudioWeb. Here we go:
Angular: Developed by Google in 2010 (making it easily the most mature), this behemoth (500kb) is more in the realm of big projects with ‘advanced developers’. “Angular is basically positioned for larger projects. There’s a much steeper learning curve with Angular, …it’s a very powerful framework.” Another feature of Angular is that, “it separates out the logic from the application/the behavior of an element and the element itself is separate.” So while you would be gaining flexibility with Angular, you might be sacrificing a certain amount of simplicity that you would get with the other frameworks..
React: Developed by Facebook in 2013 this slimmer framework (100kb), offer way more simplicity than Angular (at the cost of some flexibility) and has an equal market share with Angular. This Framework tends to be adopted by more flexible small-medium sized companies.
Vue: Open source-developed, holding approximately 20% of the market share (and growing), weighing in at about 80kb (soaking wet), we have the staple of most start-up/small businesses: Vue. Boasting an easy, practically non-existent learning curve, Vue is the compromise between flexibility and simplicity.
So what’s the best option for you? Well, all these frameworks have their strengths and weaknesses, and they’re all used by many companies, businesses, and corporations, so they’re not going to vanish anytime soon… I guess it all comes down to what you want to do… Want to work for a big corporation? Angular. Spunky start-up with a can do attitude? Probably Vue. We really want to stress that one framework is not better than the other, they just offer different options, benefits, and drawbacks.
Check out the VLOG for a deeper dive into the pros/cons and features of all three frameworks, and remember, “…your choice of framework -of any technology- largely depends on the type of work you wanna do, the job market, a personal choice… there’s no language that is ultimately best, …no framework that is ultimately worse; it really depends on what you want to do.” -Enjoy!
All jokes of ominous soothsaying and portents aside, Oracle has released Java 13 with a promise of updates every six months. This is kind of a big deal because they are famous for releasing updates every 3 years, up until about 2017…
This article goes into more detail and provides a little historical content too, but let’s focus on a few things; mainly two new features:
Text Block: “The Text Blocks feature is designed to simplify writing Java programs by easily expressing strings that span several lines of source code without escape sequences.”*
There is the caveat that these are ‘preview features’, which means they may be removed in the future at some point or not, but this coupled with other improvements has given Oracle the image of coming out of the gate swinging.
Which brings us to the big question, should you learn Java in 2019? “Why not, you can’t lose. If you want to get jobs in the enterprise/android development, Java is going to be good for a long time. …And if for some reason an asteroid hits the earth and Java starts tanking in terms of popularity, you will have the [nerd] background to be able to move to any language you want.” This of course referring to the fact that Java is one of those big languages that has inspired so many other languages after it, and as such has many roots (for lack of a better term), in so many other languages that learning those other languages when you have a competent understanding of Java makes it so much easier. “…Java teaches you all these different concepts, best coding practices and so forth, which carries over 102% into any other language.”
The Vlog goes into some more detail and is worth a look. Plus, we’ve teamed up with InMotion hosting for a really amazing offer where they pay for you to take our courses and learn how to become a web developer. Links to all these offers are below. -Enjoy!
*: To quote Liam Tung’s ZDnet article (link above).
Is Java easy to learn or am I just not good at programming?
First of all, I think we can all agree: Awwww, muffin, no! Second, “99% of the time, when you’re running into problems…learning a programming language -especially Java- it’s normal for everybody and 99% of the time you just have to give yourself some time and a chance.”
Let’s look at some potential hurdles: 1- The beginning is always the hardest: I think this applies to almost everything in the human experience, but even more so with all things programming/coding. “…What you have to essentially do is literally train your brain to think and process information in a totally different way.” Of course there’s going to be mistakes, and you may not understand everything, but press on and it will eventually ‘click’; and things will fall into place. 2- Pace yourself: You will learn infinitely more by committing yourself to 20 minutes a day vs. a 5 hour burnout-a-thon. “You should write at least 20 minutes of code a day, even if you don’t understand the code -make errors, break it, fuss around with it, etc- you gotta get through that initial hurdle where you don’t understand …Once you do, the whole world opens up to you and it becomes much easier.” 3- Things take time/Rest period: To assimilate the knowledge you’ve gathered, you need rest. Your brain needs time to ‘frame’ that knowledge (for lack of a better term). We need only turn to that modern day renaissance man, Arnold Schwarzenegger for advice… “I saw a video recently asking him about training, …and he said… the thing you shouldn’t do is over-train. Same thing with learning code.” Bottom line: rest is as important as learning. 4- <Optional/Caution> Consider your teacher: This is a bit murky and we advise serious caution here, but, “a lot of these coding boot camps are taught by people who don’t know how to teach. It’s just the facts: teaching is a skill, it’s a talent -people go to school for years to learn how to teach…”. If you’re seriously feeling like the material is out of your ‘grasp’, that might be the answer. Please exercise caution, though… 5- Consider the material/Baby steps: We’ve heard the old adage, ‘walk before you run’. Walking is an easier thing to learn, which then lends itself really well (synergistically) to learning to run. By the same token, “…Java is not the first [choice to learn], in my opinion, as a programming language. Why? Because Java; though it’s a powerful language, that power comes with complexity -there’s a lot of things you have to account for when you’re writing Java code that you don’t have to account for if you’re writing Python or JavaScript, PHP or even RUBY [there you go, RUBY!]”. There are other easier languages to learn that later lend themselves well (again, synergy) to learning Java. Baby steps…
So there you have it. The VLOG goes into way more detail, including listing some of the easier, more synergistic languages to learn instead of the ‘Java jump’. Also, and I hate to do this but <Shameless Self Promotion>, we offer courses that take advantage of both coding experience AND teaching experience every step of the way. Check it out (links at the bottom).
The thing to remember is you’re not stupid, sometimes you just need to take it easy on yourself, give yourself a break, and be patient. Enjoy more sweet scenery of MTL at the end of this VLOG… Ye gods! Just look at all that green in the background. -Enjoy!
How many hours a day should you spend learning code?
‘Eager beavers’ everywhere! Whether it be the gym, sweet/salty snacks, continuing education, or becoming the best damn Fortnite player in history, most of us tend to go ‘hard and fast’: that is to say we try to absorb as much as we can in as little time as we can. The result: We end up ‘burning out’ real bad and probably never want to return to the thing that hurt us so bad…at least for awhile. We’ve all been there, we want to do, learn, or be something so bad that we end of ‘OD’ing’ (over-dosing) on it. And this is especially true with learning; remember the all night ‘cram’ sessions before big exams when you were younger? Add to that the fact that you’re learning a new skill like coding, which sometimes is not as intuitive as you’re used to things being, and you could ‘burn out’ before your first session is done!
So how many hours a day should you spend learning to code? “If you’re first starting out, you should maybe limit it to 30-45 minutes a day. Whenever you start getting into code for the first time, you’re literally going to be re-wiring your brain physically …you’re going to be learning to think and process information in a totally different way.”
What’s really cool about this is learning in different ways is that it makes your brain ‘stronger’. Much like physically training with different exercises, disciplines, and sports makes your body stronger and more adaptable to different stresses and pressures, learning/thinking and reasoning in different ways re-wires the brain to be ‘fit’ (for lack of a better word) and more adaptable to different situations. And I don’t know about you guys, but as I get older and more set in my ways, the need for an agile mind is more and more necessary.
Always leave’em wanting more It’s an old vaudevillian/performer’s adage. It means don’t go overboard when entertaining/performing. Always leave your audience wanting more so they will return, buy more tickets and (more importantly), they’ll want to be there. Very apt and very applicable to learning, “you should leave your daily learning session (encoding) wanting more, not exhausted. You wanna leave it and go, ‘this is cool’ …you want to create an association that’s positive, that’s fun with coding…”.
The VLOG really goes into more detail about this, while adding a psychological angle to it …and what would a good VLOG be without a RUBY slam (there’s more than one!), BOOM! Also, check out our courses for coding, freelancing or entrepreneurship <links below>. They have been built from the ground up with this very principle in mind! Remember when you’re starting out be kind to yourself, take it slow and easy, and have fun so you’ll want to come back. Whether it’s learning a new skill or anything else in life, it’s just a good ‘code’ to have… -Enjoy!
A response to a recent video I made about people who are constantly doing tutorials instead of getting jobs.
If you’d like to see the first installment, click here, but in the spirit of ‘doing‘ we’re moving on! Sometimes we over prepare, guys, it happens. You’re so focused on making a big splash right outta the gate. You don’t want to be blindsided by anything and look like you don’t know what you’re talking about or look like a noob, so you prepare -you take tutorials and then you start thinking to yourself, ‘what if this happens? what if that happens?’ and you start doing more tutorials to be prepared for those things and before you know it, the fear of failure has you stuck. Instead of coming out of the gate; swinging, the gate flings open and you stand there paralyzed, not daring to move.
“It’s just fear: you don’t want to get into it… Just jump into it! Trust me, you’ll learn so much more by just jumping into a gig. Once you have your foundations down, do one or two tutorials and then do a gig and figure out how to get it done as you go. That’s how I did it, that’s how all developers started out.”
The VLOG goes into better detail, including the first full-stack gig that Stef took with no prior knowledge of it. Check out our courses (links below), if you’re interested – they are amazing – and remember, <I’m plagiarizing> A journey of a thousand miles starts with one step. Or think of the immortal words of Shia LaBoeuf and, “just DO it!!!!!” -Enjoy!