What makes a web app successful? The development process and the realities of real-world coding.
You’ve probably seen or heard a lot of stories about a businesses’ web project (or projects in general) failing. Heck, if you’re a freelancer chances are you’ve witnessed it firsthand! It’s a more common occurrence than you think, especially with small businesses. “…You do all kinds of work, you put out a beautiful website or you put out a beautiful web app, and then you link to it in your portfolio from your own website, and the next thing you know -bing, bing, boom- the client instead of calling you up to try and make updates, they try to tweak it themselves of they hire their kid; they get the kid to come in there and they try to fix it and they mess it up, and in a short period of time the site looks terrible.”
So why does this happen? Well, believe it or not, it doesn’t come from a purely bad place in terms of the intention. That is to say, your client isn’t trying to ‘F#%$’ you or your work, or your livelihood for that matter. It actually (for the most part) comes from a place of ignorance: they just don’t know…anything, really…including how much it actually costs. “A lot of people who jump into the game of building a website or building a web app -any app- they don’t really realize how much work it really is to refine the product, to get it to the point where it’s really ready for market.”
Sound familiar? Here are some pitfalls that have unfortunately cut down many a project in the prime of their lives (and some even before that).
Versions and Iterations: Microsoft has Windows10, so what happened to windows 1-9? Yup, they were previous versions that were replaced by (theoretically, arguably, etc.) newer, better, faster versions. Products and projects must evolve or improve (bugs, glitches, etc.), or the user will simply not want to use it and go somewhere else. Which brings us to our next point
UI and UX: Now depending on the company or client you work for, they might like to lump these two things together but trust us, they are two very different things. UI (user interface) is pretty much the look of things what the user sees: colors, designs, fonts, formatting -the eye candy, so to speak. But UX (user experience) is how easy it is to use, and that is the real draw to a product or project. You could have the most appealing, eye-catching, awe-inspiring design, but if you can use it: if it’s clunky, takes forever to load, or your users just have no idea how to start or where to go to get what they need, it’s useless.
Poor Budget Planning: This last one is almost always the case (especially with getting the ‘kid’ in to do your work). “When a lot of small business owners realize they’re gonna have to invest much more into the project, a lot of them will drop the project in that point in time. I’ve had clients who spend fifty grand, 100 grand on a project, they get it out there and it’s starting to get some traction but they’re not willing to put more into it, so the system kind of sleeps and slowly fades and dies away.”
And on that positive note, check out the VLOG!! It goes into way more detail on these points and uses clear cut examples like MySpace, and Google, and StudioWeb! There’s also a mention of how to bill small companies for your time in case a project does go down in flames, you won’t go into bankruptcy. Speaking of UI and UX, check out our online courses [links below…shameless promo, I know…], as a great example and who knows, ya might even learn something…
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.
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!
Can you still make money as a freelance web designer in 2019-2020?
No clever title today, young devs… We received an email that had so many good, topical questions that we decided we didn’t have time to get ‘cute’ and just wanted to dive right in…
Is freelancing web design still viable in 2019-2020? -More than ever. There is an unprecedented amount of freelancers in North America and the world. “I’m not talking about web programming; just general purpose autonomous people working on their own businesses, whether it be in the tech space or outside of the tech space: this is the trend. …It has jumped quite a bit in the last 10 years and continues to accelerate. All these independent contractors and small business owners if they don’t already have a website, they’re going to need websites.”
Re: Freelancing in AI/Machine Learning: This is big but still in the early stages, I don’t see there being too many freelance jobs in that space -probably lots of work working for people full time- but in terms of AI/machine learning, I don’t see it as a freelancer thing yet. It’s not to say that it won’t be a ‘thing’, it’s just to say that it might take longer for people to come around to it. Like in the way that most companies didn’t even know what a website was in ’95 and now [pretty much] every company has one…
Another thing we’d like to add on the viability of being a freelancer in 2019/20, is “there was a period 4 or 5 years ago (give of take) where people were looking at websites as being less important -better to build your social media presence (like on Facebook or something)- but things have changed, we’ve seen how FB can take people down -they ultimately control your presence on their platform- so smart business owners are starting to realize it’s much better to have your own website, your own space on the web and then have a ‘satellite’ FB presence (Instagram, YouTube, etc…).” Meaning there will be a continued rise in the need for web development professionals (web design, etc).
So there you have it. Now the VLOG goes into a much deeper dive and the answers are much more robust (I mean how much can you really read here in the five minutes you have to drink your coffee while you’re supposed to be working… :] ), you should really check it out. And if it turns out you have 10 minutes instead of 5 for slacking off, check out our courses (especially ‘WEB DEVELOPMENT‘ ) which are not only built from the ground up, but also take advantage of almost 3 decades in the industry! -Enjoy!
Will AI replace software developers in a short time?
For those of you keeping score at home we actually dove into this a year ago, but since a newly published Forbes article has pointed out some advancements in AI learning, we’d like to comment on the, ‘next step towards Skynet’.
So in the interest of calming your fears, we’re going to heighten them -only for a little while, I promise! But essentially, “… AI has really accelerated quite a bit over the last ten years, and they’re saying it’s about to go into a hyper-accelerated wave…”. There are very understandable reasons for this: 1- I Got the Power!: From a purely material stance, specialized AI chip sets have greatly increased their computing power. 2- We’re Feeding the Beast: For AI to work, it needs data, “…so the nerds came up with these things called data lakes -where all the data is pooled- so you can throw your AI at it and the AI can learn. The more data, the better the data -the better the data is segmented- , the better your AI will operate.” 3- Smarter, Faster: The AI algorithms are just getting better.
The latest application of AI has been the ‘Tab9‘ project wherein, “…a couple of guys basically took their AI, pointed it at 2 million github files and now they have a plugin…and the AI can do code completion much more effectively than traditional code completion”. But don’t start stocking up on canned food and making plans to reinforce your basement just yet, because now that we’ve whipped you into a frothing mass of fear and foreboding, we’re going to calmly bring you back down to the serene, put together, and well mannered developer you are…
The Road is Long… We’re not going to lie to you; AI is a growing technology and everyday new applications are being found. But that doesn’t mean that AI will be taking your job anytime soon. “…they’re not replacing developers, they’re [AI] just assisting developers in [their] process.” However, we can’t say with great certainty that everyone else’s job is safe; “…long before AI replaces software development, it’s going to replace truckers, replace accountants, many legal jobs, many medical jobs -you get the idea… .” But just in case you’re not a programmer and you’re reading this blog and feeling a little ‘tight’ in the chest, let us offer you an olive branch; “…before it gets to developers, AI will have replaced huge parts of industry, and as a result of that, …the entire infrastructure of society will have to be modified accordingly -so I wouldn’t worry about it because there’ll be warning sign years in advance before developers will be taken out by AI.”
The VLOG goes into way more detail and some more sweet scenery of the MTL skyline. 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. Link below. -Enjoy!
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!
There is no better teacher of software development than the long term experience of building and refining a commercial app used by countless users.
As we get older we have friends who get married and have children. Sometimes while hanging out, maybe while having drinks or dinner, you might ask them how parenthood is going or (heavens forbid), you let it slip that you can’t wait to have children yourself, that it would be ‘fun’… Then you get to watch their brows furrow and the mood get very somber (did the lights suddenly dim in here? Did it get colder?!), and with a gaze that seems to penetrate your very soul they say in a foreboding voice, ‘YOU.HAVE.NO.IDEA.’. That somehow the scope and challenge of raising children is completely out your experience and in the abstract and ethereal, and one can never hope to grasp it until they are waist deep in it… Wow, that got ranty real fast…
Well, we’re going to make a statement that might put us in the same category as those pretentious parents but unlike those parents, we do it with love and encouragement…but we will dim the lights for dramatic effect… “You don’t really know app development until you’ve developed an app, taken it to market, gotten feedback, refactored/refined, and then made money with that app, or at least been part of a team that’s gone through that process where you’ve seen the app go from inception to actual functional use with the end user.” I know, for some of you ‘thems fightin’ words‘, but what we mean is that version 1 of your app, is not going to be the end – far from it in fact. A lot of (young) developers [devs] coming up are under the assumption that if they write the ‘perfect’ code, that the app will be perfect and there will be no need for a version 2, 3 or even 4. “…You have to expect that when you become a professional developer, that you’re going to go through many iterations…”. There is a purely academic idea that has been making the rounds lately in articles and even some YouTube videos about the “purity of code” or “purity of implementation”, and when you’re making commercial software, it’s just not the case.
The VLOG goes into waaaaayyyyy more robust detail, stemming from over 3 decades of experience in the business (which is like 269 years in young dev time), but what we really want you to know is, with regards to your app: (A) – Don’t worry about making mistakes (B) – Don’t expect that your first iteration of your code and your software is going to be perfect –it will never be perfect. so “…get your app out quickly (within reason, of course), don’t waste your time with perfect implementation.” Also, bonus material: We make fun of RUBY a lot. But at the end of the Vlog is a sort of postmortem theorizing -from a reliable source- why RUBY lost out on a huge share of the market. Plus, some sweet aerial scenery of MTL. -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!
How do you get through really boring and/or tedious tasks?
If you’ve been a human on this planet for more than 8 minutes, chances are you’ve come across a tedious task – something that you just didn’t want to do (maybe it’s boring, not your interest, or even expertise) and for some reason, you are being forced to do it. After rolling your eyes, and groaning the groan of a tortured soul, you stare at the task and ask yourself, ‘How the #%$@ am I going to get through this?’
The first and easiest answer is ‘farm it out’, that is hiring/paying someone else to do it. …And after that’s done, you’ll have plenty of time to go yachting off the coast of France, daddy Warbucks! But for those of us that don’t have the money to do that, the answer is a little more pragmatic, but only slightly less painful…
“I just go in there and I say, ‘okay, I’m just gonna do 20 minutes’, …I’m just gonna move the ball 2 or 3 feet forward. And you just discipline yourself to do little chunks of work of the stuff you hate, because if you try to do something you hate doing or you don’t wanna do, and you wait to do it on the last day, and you got hours of this crappy work to do, it’s gonna be painful.” Breaking boring, tedious, or just plain crappy chunks of work up into smaller sections will save you time in the long run and your sanity.
Check out the VLOG, it’s short and sweet. Check out our courses, if you haven’t already and just like eating your aunt’s salted cod and boiled peas dish, take it one bite at a time… -Enjoy!
New freelance web designers and developers have a choice between freelance sites where you have to compete globally, versus securing web development contracts from local business. But what are the Pros and Cons?
The Job market can be kind of tough, especially when you’re new and don’t have much experience or reputation to bank on. But thanks to technology and the internet, freelancers can work on jobs all over the world and in many different markets. We’re talking about freelance sites like Upwork, Guru, and Freelancer, etc, etc. where you can bid on contracts against people all over the world and how some freelancers have chosen to work in the global market over local businesses.
Pros & Cons: One big con would be that, “if you’re not in India or Bangladesh or if you’re in a richer country where your cost of living is much higher, so you have to charge more…if you’re in the West and you got to compete against people in India and Africa or wherever else on the contracts, it could be daunting. But even on those sites, if you position yourself properly -you develop a reputation, etc, you learn the pricing models <shameless promo>, I talk about this in my freelance course- you can compete, even in New York city with people in Bangladesh.” Btw, another advantage to the freelancer sites is when you bid on jobs, you can offer to do them for free, just to get your experience and start building that reputation.
Local jobs, on the other hand offer much less competition. “Because it’s a local business: likely a small business, <they> are less likely to deal with people overseas because they don’t trust it, they don’t know, they don’t know how to deal with them, they don’t know how to assess anything…they’d rather deal with local talent because they can actually communicate with them, in their language and there is a cultural alignment as well, but you have to go out there and put yourself out there.
I don’t know if you’ve been keeping score or not but unless you’re leaning really hard to one side, they both seem to have their faults and potential upsides, so we’ve come up with a strategy, “first do your foundations, one or two projects, then do a couple of freebie contracts whether it be local or use one of those online sites <Upwork, Freelancer, etc.>,then I would start cultivating both: online and if you can cultivate local business, do that as well.”
The VLOG goes into heavy detail about this subject and is definitely worth you time to check out. No matter which side you pick or even if you decide to do both, just get out there and get what’s yours. -Enjoy!
Is using developer tutorials cheating? Or are they the steps you need to take to move from beginner to advanced developer?
Imitation is the sincerest form of flattery…and in some cases, it’s also the quickest way to a lawsuit. Beginner devs are often cautious (and quite rightly so) when looking at someone else’s work/tutorial and wonder if making something similar is ‘cheating’?
Generally speaking, “it’s not cheating. Everything that you see in this world, whether it be software development, music, martial arts -whatever, it’s all based on other people’s work.” Some would even argue that’s how things evolve and get better; by different people messing around and riffing on the same idea. BUT, let’s clarify that, “if you’re stealing it; line for line, that’s bad -it’s illegal and it’s immoral. But if you’re learning how to do something…it’s not cheating to do a tutorial and then based off of that tutorial, you build your own app.” Of course, please do your due diligence, for example, “unless they give you specific permission to copy the code, don’t copy the code. But you can basically learn from it, and then write your own thing accordingly.”
At the end of the day your code/project will be different because everybody’s needs are different, so your app, project, etc, will be not be a carbon copy unless you want it to be…in which case lawyer up! But everyone had to start out somewhere and they became experienced by using what they saw and adding their own thing to reflect the needs of their client, employer, or the very project they were creating.
The VLOG goes into greater detail and you should check it out. Go out there and create, learn and be better than you were. -Enjoy!