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/
What is the quickest and easiest way to learn React JS? The key is to learn the web fundamentals.
Full transparency here, we’re going to be talking ourselves up a bit and shamelessly plugging our courses, because we got a question that directly references them. Our questioner (questionee?) was wondering if it was easy to jump into React after taking our WebDev (web development) course?
Quick (but not necessarily deep) jump into React:React (also known as React. js or ReactJS) is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.
And as for how easy or how much of a ‘shift’ it would be to jump into React after learning with our web development course? “[My WebDev course] …is designed to give deep knowledge that you can use to pivot into many directions. React, of course, is a natural progression because you need to know JS (JavaScript), HTML, CSS, and the web in general: I teach all this and much more”.
This also speaks to something that’s been mentioned a lot on these VLOGS and articles, so much so, that’s it should be considered one of our mantras here: “the key to becoming a great developer quickly is to master the fundamentals. I teach the fundamentals. Painstakingly put in a lot of effort to make my fundamentals courses very, very thorough; you’re going to see that they cover so much more than any tutorial out there could possibly cover, and that’s because of the nature of the courses.” That includes HTML5, CSS3 and of course, JavaScript and once you have those basics down, learning React JS will be easy.
So yeah, we’re blowing our own horn a little, but hey, we put in the work and it’s nice to reap the rewards. The reward being in this case, knowing that this person is going to have an easier time learning something they really want to learn (possibly getting a better job), and that our course(s) helped them!
Check out the VLOG for some more insight and check out our links down below to the courses offered. We want them to work for you so we took the time to do it right. Believe us, we gain nothing as a business if you learn nothing, it’s worth a look! -Enjoy!
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!
Show up on time, deliver your code on time, and learn to properly estimate how much time a project will take.
A revolutionary rock band from 1994 once said, “Time is wasting, time is walking…”, and while time did eventually get its revenge on them, their warning should not go unheeded. “…in any business, and in life: whether you’re freelancing, whether you’re working for somebody: show up on time.”
We can extrapolate even further with this little nugget, because the ‘show up on time’ mentality also leads us to other positive behaviors. “It also means doing what you say. So don’t promise you’re going to deliver in 3 weeks, and then deliver in 6 weeks.” Now this can be tricky because we want to deliver good work, but we don’t want to keep the client waiting (it’s not good for them or for you, trust us), so how do we compromise? “You gotta work hard to make sure that in your estimates you hit those milestones as you promised. So one of the tricks is to overestimate the amount of time it’s gonna take to do something: So let’s say you figure it’s gonna take you a month to complete a project, tell your client it’s gonna take you 2 months -so if you get it done in a month: fantastic!” And if things go wrong, and you get it done in a month and a half, you’re still okay…
The VLOG will give you even more tips, and expand on them for dealing with clients (whether freelancing or ‘9 to 5-ing’). Also, in a quick flash of shameless self-promotion; please check out our complete freelancer course. It’s the best way to take advantage of decades of experience (speaking of time) and turn it into little digestible bits, and you just know there’s going to be a part in it about time management. -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.
What lessons do 25 years of coding impart? Harken younglings! The wisdom drawn from the ancient past.
First things first; Thank you Blizzard for not suing us. This title is really a testament to the enduring warmth of the characters you have created. And wouldn’t it be lovely if a young programmer eventually found their way to work for you because of a this blog…?
Alright, onto the imparting… is everyone still harkening? Great.
1. You will learn much more when you start getting paid to code: So among the new programmers or people just learning to program/code, there’s this idea that you need to show up with a full and infallible knowledge right out of the gate. “That’s why you see people get caught up in all these tutorials, because they’re insecure about their level of skill, so they keep doing more tutorials, more tutorials, more tutorials… Real world coding is about learning as you go -especially in the first 3-5 years as a software developer.” Now just so you don’t think that it’s all hand-holding and singing bible hymns around a campfire, “One of the number one skills of a good developer, by the way, is that they’re able to learn quickly.” So, while you are completely allowed to make mistakes and correct them, depending on where you work, you will be expected to pick up certain skills in an ‘amount’ of time…
2. The best code is simple code: If you’ve been following the VLOG or BLOG, you know that we bring this up every 2 or 3 posts, but it is important. No one cares about your flashy hijinx because, “The best developers write simple code. Why? Because code has to be updated a lot of times, especially in a valuable concept, and if you have complex code then that’s going to be a nightmare to maintain, very expensive to maintain and more prone to to bugs. So strive to write simple code.” Think of it this way, if you came onto project and were asked to update someone else’s work, wouldn’t you want to see simple and easy to read code? Not only is it professional, but think of it as a courtesy…
3. Coding real world apps is an iterative process: No one writes perfect, untouchable code in one sitting. Be prepared to do a few passes. Things change and things need updating. “Every time you do a pass, you refine the quality of the code. So that’s why when you develop your app (alpha), you want to get the whole working app out the door as quickly as possible: fully functional …because that way even if you’ve got parts of it really written badly, having that fully functional app (even if it’s crippled), it gives you insight into what the app ultimately should be.” In the beginning (the alpha stages), you really have only a limited idea of what the project should be, or how it will come together. “When you are writing code, you wanna get from A to Z -get the whole thing functional- then you start refining it, refining it. As you learn about the use case (how the app should be used/structured), then you can start writing more solid code. [The idea being] that with each pass the quality of the software will improve.”
4. Nobody wants to write good docs[documentation], but they should: This should be a ‘no-brainer’, let’s say you’re taking a class, you’ve shown up all semester and done all the in-class assignments. Then the test rolls around and you open your note book to look at your notes and there’s either nothing there or just drawings of sweet-ass guitars on fire, descending from the heavens for you to grab while you’re riding your red dragon into battle…(you know, non-specific stuff, that I totally didn’t draw in high school physics). It’s arguable that you are going to be screwed for the test ahead, and that’s how we feel about documentation. “Good documentation is huge because it will help you remember why you made certain architectural decisions in the code, and will help you transfer the knowledge to the next set of people who might get on the project. So if you have software that’s going to be successful in anyway, you wanna have good documentation -it’s just so important in terms of the quality of the project.”
So there it is young warriors, check out the VLOG where you can get this knowledge straight from the wizard’s mouth, plus more in depth ramblings…ah…epiphanies…yeah… . If you’re interested in learning more, please check out the links down below to our courses in web development, learning Python, or even freelancing, and entrepreneurship. They also make a great gift for that someone on the fence that just needs a little nudge. Fight the good fight and keep that code clean and simple. -Enjoy!
Someone discovers the hidden treasures of PHP, and makes money with it!
We received a comment from someone (check out the VLOG), who states that since they started learning php, a whole new world has started opening up for them. They’ve…”discovered all these scripts for all kinds of things you can’t buy anywhere, [and]…if you refactor it, you can make it compatible with the most recent version of php.” So if you put in the time and work you can have a whole new app, or software solution, etc… And they go onto say that they are bringing solutions into the work place that their co-workers haven’t even thought of, and all we can say is, ‘We salute you Sir or Madam’.
Long have we sung the praises of that workhorse: php. A programming language that’s been around for an arguably long time, but shows no signs of going anywhere, due in large part to it’s flexibility and (relative) ease of use. “That’s one of the strengths of php, by the way… It’s been around for so long; so many people used it in the real world contexts: to get stuff out, to hack stuff out, but there’s tons of stuff out there. A lot of it’s not well written…but you may have 75% of the guts of what you need there, and you can just grab it, improve it; refactor (you know, it just means rework it), fix it up, make it work and then BOOM! Drop it on where you need to have it drop in and Bob’s your uncle. And that’s perfectly reasonable thing”.
Check out the VLOG for a sharper explanation and some more beautiful MTL skyline. Keep on digging through scripts and libraries and you never know what you might find… -Enjoy!
PS- WPForms is our sponsor for this VLOG and they provide plugins for WordPress that give you drag-n-drop capabilities, plus other really powerful forms, etc., and if you click the link (below), they’re offering a sizable discount.
Getting into game programming with C# or C++ and talking about the realities…
So, should you learn C++ and C# to get into game programming? Well, as we’ve explained many times on this BLOG and the VLOG, “learning programming and how to code, regardless of the language, makes no difference really in the end, because if you learn language “A” and you realize there no jobs there, you have the opportunity to quickly and easily go to language “B”, “C”, “D”, or “E” -it isn’t a big deal. The only time you shouldn’t be concentrating on a programming language of course, is RUBY…” <BOOM!!> RUBY joke [gotta have at least one, where we can]. “…yeah, even RUBY, there’s lots of work out there for RUBY developers: Rails. And even if you end up not using RUBY, you’ll probably end up learning Python, and knowing RUBY will make learning Python pretty easy.”
But with that out of the way, let’s talk about ‘fun’ and what is ‘perceived as fun‘. “Any industry -any type of job that people perceive as fun- it will drive up competition -because a lot more people are going to be involved, and then employers know that it’s perceived as fun, so they’re going to be able to adjust their work environment -meaning it could be tougher and lower to pay- this is not uncommon, it’s not just with programming, it’s with any industry. If you look at the film industry for example: actors will be in there 10 hour days, 18 hour days and unless you’re a star you’re not making anything -it could be rough. On the flip side, you look at professions like plumber, which is perceived as ‘dirty work‘, because it’s not perceived as glamorous and fun plumbers make a ton of money.” If you don’t believe us (the game industry thing, not the plumbing), google ‘EA workers’, or even just general ‘video game industry workers horror stories’. We’re not trying to steer you away from the video game industry, far from it (someone is going to need to make Borderlands 10: the border-lands-ening, and it’s not going to be me), but like anything else, do your research and ask yourself if this is what you really want to get into. The extreme stories are not the norm by any stretch, but they’re not far off and you should prepare yourself for their eventuality…
The VLOG is worth a little ‘eye validation’, and there’s some sweet MTL scenery at the end. Whatever your dream, keep it alive but don’t get taken advantage of for having it! -Enjoy!
Contrary to what the title would suggest, we’re not trying to pit software developers against programmers in an all out brawl to the death in a post-apocalyptic forum for our amusement… *mental note for the end of the world*
No, what we’re presenting here is the subtle and (sometimes) not so subtle differences between the jobs, tasks, and expectations of these careers so that you can know what’s right (or interesting) for you when thinking about which path you may want to take.
We will also mention the role of architect and scriptor but the VLOG itself will go into way more detail about these jobs. Also, be ready for some shameless promotion because this is pretty much our milieu (area of expertise) here, and our courses reflect that.
Before we get started, I just want to point out that we are speaking in generalities, and yes, it’s quite possible that the position in your company or your freelancing gig has you filling different roles. These jobs can be quite fluid and we are only going to speak to what’s generally expected of you in these roles…
“A software developer is someone who is able to create entire systems, while a programmer (can also be a software developer), [but more likely], is someone who just writes code and can write programs. A software developer would develop an entire web app from scratch, would be able to design all the different layers, etc. … A software developer [in a nutshell] is a very experienced programmer… A lot of very experienced programmers never become software developers because they don’t go to that level, they work on very specific things here and there and they don’t develop entire architectures.”
A scriptor is someone who writes very simple lines of programming code. Little bits of Python code to automate software, a lot software out there (video rendering engines, etc) they’ll use Python to control how the software operates (batch operations, etc.), and that’s traditionally someone you would call a scriptor, because they’re writing little scripts (short pieces of code). And there’s a lot of demand for that as well!”
Software architects are quite literally architects of the software. They may not have time to do the task of the software developers, programmers, or scriptors, but they take care of the overall, top-down structure. For example, they could pick the languages, the frameworks, they get into the nitty-gritty with the lead developer, going over the best way to tackle situations/problems. Look, if you’re a software developer, and once a week (or more) you have a meeting with someone who you bring problems to, or someone who points you in certain directions or chooses the very foundational cores from which you work in…chances are they’re the architect.
And here’s the [SHAMELESS PROMO]: The courses we offer, “I think it’s more directed towards making you a [software]developer rather than just a scriptor or a programmer. Because they get into all those big picture issues, I help you understand the choices that you make as a developer (or a programmer), and why and how [for example] does JavaScript fit into this equation, into the stack, what’s it used for… And what I’ve seen, a lot of other course they don’t touch on that. They say here’s some JavaScript, we’re going to create a bouncy game and that’s it! But they don’t show you how to use it in the real world. That to me is super important, so that’s integrated into what I teach.”
So there you have it. Again, the VLOG goes into way more detail, we recommend you check it out. And no matter what you choose to be, check out our courses because they are made to give you the tools to see the bigger picture, which is always good. Believe me, you want to be overqualified for your job, people notice that and usually want to put you in a better position…or just pay you more money. -Enjoy!