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).
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 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!
Should you continue to learn Python, even if Python jobs in the area are more or less in data sciences or other areas you’re not interested in?
So, what if you’re learning a language; Python in this case and you start looking around at possible jobs and realize that all or most of the jobs for Python are ones that you have no particular interest in? Do you stop learning and move onto something else?
“I think it’s a good idea to learn multiple languages, …every time I learned a new language my skills as a developer went <sound of a rocket taking off>, rocket[ed] right up. All these modern languages…they all share so many of the same qualities, but they look at things from a different point of view.” Think of it in terms of hanging out with different friends, even though hanging out with different friends has a lot of similarities: having a drink, talking, laughing, etc, the experience will always be different, ya know?
We’ve said it here before but there is no such thing as a wasted language, because each language learned is like a tool in your tool box, there will be an occasion to use it. Now that being said there are some obscure tools out there and if you’re getting into this business to make money, you’re probably better off learning to use the most popular tools. But, hey, you’re an adult and as you become more experienced in this field, you’ll figure out what’s worth your time…
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!
Complex development can linger in production, as you work on the last 5% of the job.
So you’ve got your project, your app – mobile or web, etc. ready to go and you’re almost done, “You’ve got the end and use case defined, meaning people can run through your system, you’ve got the UX defined, you got your UI in place…now at this point you’ve got just 5% left -so you figure, ‘we’re going to crack this thing out in a month…or a week depending on the scope of the thing over all- but what you’re going to find is that last 5% lingers…” Oh yes, ladies and gentleman, like a fart left in the back of an airplane bathroom…it lingers.
Light at the End of the Tunnel To get that crucial 5% working from end to end takes longer than you think and that is just par for the course. “[You’ll] find all these little things: this has to be fixed here, that has to be fixed here…this is normal. Keep that in mind when you’re first getting into the game, especially when you’re dealing with clients, and you’re building their system; you’ve got to account for that last bit of back and forth.”
So there it is my weary devs… Check out the VLOG for the some more insight into ‘the forced march of the last 5%’ and just know that it’s normal and to always account for the back and forth between you and the client when you hit that last 5%… -Enjoy!
Heads up! This is going to be geared to our courses (specifically our web development course), but you can definitely take advantage of the information we’ll be providing…but it works best with our courses 🙂
So, when should you start freelancing after taking our developer course? “This is what I’d do: you finished my full stack course, you do all the foundations training, you do the first few projects that I suggest on the project section, and then the thing which you should do at this point is if you got my freelance course, you should read the first few chapters of the freelance course which gives you the framework to setup your freelance business. Then you have to complete your web design training as a padawan web designer or web developer-junior: what you do is you go out there and you do one or two small…SMALL projects as a freelancer for some independent company/third party.” Consider this your final exam cuz you’re going to be out there doing work AND communicating with clients! “…And if you have our freelance course, you’re going to get all the templates, the contracts, the initial proposal templates, etc…”
So there you have it. The VLOG goes into even more detail and you can even hear about how Stef got started out as a freelancer, having no idea how to build a CRUD based application and what he did. Thanks for listening to our shameless promos and if you’ve had your interest peaked by what it is we offer, check out our courses, it’s definitely worth your time. -Enjoy!
We make fun of Ruby a lot here: 1. because it’s fun and 2. … …okay, it’s just fun really, but a question did come up recently from an individual who was offered a job working with Ruby on Rails. They come from a PHP – Laravel background and while they don’t know how to use Ruby, per se, their potential employer also offered to pay them while they learn it. So the question was do they take the job knowing that the use of Ruby on Rails has diminished or should they look for something else?
Now Ruby aside, we’d like to answer this question in general terms if you ever find yourself in a situation like this and you’re on the fence… “If you don’t have other work and the job is high paying, why not? …A language or framework does not define you as a programmer… you [just] happen to be using those tools at that particular time”. Now, specifically regarding Ruby jobs: “…it’s not gonna disappear over night and in fact we’ll probably see Ruby development for the next five years, at least, so …you do that for one year, two years, 3 years; what have you…”
Another question we’ve been getting recently is if Java is dead? With Google making the switch to Kotlin for app development and Oracle charging for Java licensing, what will be happening to Java jobs? “Does that mean the whole Java-Android development is going to collapse overnight? Probably not: it won’t, it’ll probably take a couple of years.” That being said, “if you’re writing code for your android app using Java, you’ll be able to transition into Kotlin very, very quickly.”
Check out the VLOG for a more sensible and detailed answers to these questions, and remember, “you cannot lose learning any programming language.” -Enjoy!
What is the best developer computer/laptop in 2019? Should you go with MacOSX, Windows 10 …. or perhaps Linux?
It’s 2019 and you’re just getting started as a developer and you want the best gear that will help you get this job done quickly and effectively, so you look into it and maybe you should get a laptop for on the go work? Mac? PC? Or maybe you’ll just decide to get a ‘tower’ setup and just stay home? But what kind of specs do I need? Where am I? Who’s that guy and why’s he smiling? What’s going on, why is the room spinning?
Easy, young warrior, you don’t have to go pedal to the metal when it comes to getting a computer because, “it really doesn’t make a difference anymore in terms of which laptop you get or which type of computer operating system(OS) you get for software development (I wouldn’t use iOS yet for software development or Android…although I imagine that is going to be coming pretty soon…), …all these computers are pretty good: all very powerful, all very capable”.
Not only that but in terms of how much power you need, “You could use a six year old laptop and be able to do most coding with no problem. Where power comes into play…is compiling, if you have to compile…having a faster computer will allow you to compile much more quickly…”.
So there it is, the VLOG will go into a much more deep dive into what Windows 10 is doing vs. Linux vs. iOS, but it’s all pretty much the same. The only real thing you have to consider when possibly buying a new machine is “… think about your broader use case…if you’re a gamer, you’re probably going to want to be on Windows, as an example”. -Enjoy!