Someone asked me, if I had to pick the most important things you can do to improve your programming, what would it be?
Have a consistent self describing naming convention. This saves you yuuge time because you will make less mistakes and be able to code more quickly.
Keep your code fine-grained. This means you write functions and methods that do only 1 thing … Not five. This will keep your code easy to understand, to debug and expand.
The first thing to do when starting a new project, is to see what others have done. Perhaps there will be libraries to leverage, perhaps even entire open-source software you can use as a starting point. This is yuuge!
Given the big moves in the cryptocurrencies this year (Bitcoin, Ethereum, LiteCoin etc,) I figured there must some programmer / developer jobs in blockchain! So I checked out a job site to see what was out there, and what skills companies involved with blockchain are looking for.
In terms of programming languages, it’s not just C++. There is a demand for a whole slew of languages including:
… And others. So when looking for blockchain related jobs, knowing the core of programming, regardless of the language, is the key. This will make you a much more valuable asset if you know your fundamentals well, so you can jump in and learn whichever language that is needed to do the job.
Frameworks and other support technology
Besides the programming languages, when working with crytpocurrency based business, you will likely be needing to know some of the following:
My advice is to be sure you have a firm understanding of the foundations of programming, once you have that, the rest comes easy. Then you can learn about blockchain and supporting tech depending on the job you are interested in.
The key is to get past the hurdle of learning the foundational concepts and techniques in programming.
Now that coding is widely recognised as a core skillset that students should learn, schools around the world are looking for code curriculums.
Too many code courses!
There are plenty of code courses out there, but unfortunately, the vast majority are created by coders who have no teaching skill, or experience. For adult students, you can get away with that, but when it comes to middle school and high school students, you need a set of courses created by experienced teachers.
What makes a great coding course for middle school and high school students?
It comes down to a few things:
The lessons have to be video based.
The video lessons have to be a reasonable length, otherwise students will quickly get bored.
A code teaching platform should provide instant feedback, and other incentives to engage students.
Code courses should breakdown concepts into small chunks that students can learn.
A teaching platform should provide flexible lesson plans and other materials teachers need.
Most of all, the courses have to fun!
Why use web design to teach code?
I am now going into my 7th year of working with schools to teach code, and I’ve seen great success with coding courses based on the coding languages of web design:
The web design languages teach 3 different TYPES of computers languages: markup, styling and programming.
Web Design can be taught on any type of computer. Compare this (for example,) to Apple’s Swift, you need to have expensive Apple hardware. Whereas with web design, you can teach it on Chromebooks, Windows, Macs, Linux computers and tablets!
Free web design code editors – so many to choose from! In fact, you can teach web design just using a simple text editor … every computer has one!
Web design is visual …. students see their work come alive on screen.
Web design is real! Watch student engagement skyrocket when they see their code do real things.
For schools and teachers who want to give their students an amazing coding experience, there is no better way than using the web design languages.
StudioWeb provides a fun interactive training platform and curriculum designed with the help of many teachers and their students across the US, Canada and places around the world.
I’ve been using video to send bug reports to my developers for years. That said, I’ve been doing it the hard way with screen casting software, and manual uploads to cloud storage, to share my videos with the developers. With BugReplay, it takes care of all that for you … and it’s super easy!
What is BugReplay?
BugReplay is a browser plugin that makes it easy to record bugs, and send video reports to your developers. It is a huge time saver for web app developers.
Here are some of the highlights:
Facilitates communication between devs and non-devs; and between companies and their end-users
Available as a Chrome extension and Firefox add-on- very simply browser extension install and quick setup
Network requests and responses are synced with the screencast
WebSocket data is displayed alongside HTTP requests
All the environmental data is there so you don’t have to ask the basic questions to get the information you need (e.g. what’s your browser, operating system, geographic location, system memory, are cookies enabled, etc, etc)
Unlimited screenshots (and you can add helpful notes to them)
Integrates with Slack, GitHub, JIRA
You can create a shareable URL for the video bug report and share with anyone (they don’t have to have a BugReplay account)
With Feedback By BugReplay, our consumer-facing product, you can also send requests to your customers/end-users, and they can very easily submit video bug reports without creating an account
Unlimited users (we don’t charge per team members)
In 2018 C++ is still a very viable programming language to learn. In fact, many programming languages are worth learning in 2018:
Java for web apps or Java for Andriod
… And others. Although, the above would be my top picks.
The key to choosing a language comes down to two things: market viability of the programming language and what KIND of programming you want to do.
Kinds of Programming
You have many choices in terms of marketable programming languages … there is plenty of work for the languages listed above. Each language though, means a different kind of programming, and that often means a different type of person would enjoy programming language ‘A’ vs programming language ‘B’.
For example, C++ programming is a low level language, and that means you will be writing code that requires lots of management by the programmer of little details. It reminds me more of math.
Choosing your language
I could write 10 pages on this, and still scratch the surface. Regardless, the key is to explore a little on your part, check out which TYPE of jobs you get with C++, and which type of jobs you get with Python … and the other languages. Again, different programming languages mean a different type of job.
The good news is that you don’t need to worry about your choice too much because you can always switch languages later. It’s easy to switch over, because all the above languages share about 90-95% of the same principles and concepts. The code looks different, but learning the code is the easy part.
Suggested first programming languages?
Because of technology, it has never been easier to start and grow a business. Tech is a key tool of business, and especially small business owners need to understand how, what and when to leverage tech. In my own entrepreneurial career, an understanding of technology has been invaluable.
Every business has to use the Web, whether it be a website or a social media presence:
Entrepreneurs need to use these tools. To fully leverage technology though, you need to understand it.
Do Entrepreneurs need to become coders?
Short answer: NO.
… But it wouldn’t hurt!
A friend of mine who runs a successful business (does $2 million/year in sales,) has told me repeatedly, that one of the best things he did, was to learn the basics of web design … specifically, learning HTML and CSS.
His core business has nothing to do with technology, but like so many companies out there, the company website is key to sales and marketing. Understanding the basics of web design allows him to make better business decisions about the website.
Knowing the basics of HTML also makes it easy for him to understand his web developers and web designers … this saves time and money since there is better communication.
Because technology is now a key tool in all business, entrepreneurs have to become entreprenerds if they want to be able to compete in the market. The first step is to become code and Web aware, business owners who have a basic understand on how code works, will have a significant competitive advantage over tech savvyless players.
There are lots of advantages to starting your own home business; you can be your own boss, you can set your own hours and you can decide on the direction of the company.
These benefits are part of the reason why so many people are leaving their full time jobs to become self-employed; every year over half a million Canadians become self-employed, with many of them choosing to run websites and home businesses. But how do you actually build a successful home business? From buying a domain name and setting up a website to learning marketing skills, there are a few essential things that you should do if you want to start a home business that will succeed.
Use surveys to learn more about your business
If you want to start a home business it is likely that you already have an idea; maybe you’ve already built a website for potential customers to check out – but either way it can be useful to use online paid surveys to find out more about what your target audience think about your services or website. This is because it will give you an insight into the mind of your customers, making it easier for you to alter and improve your website so that clients find them more appealing.
One of the main reasons small businesses fail is due to poor marketing – and it is very difficult to have an effective marketing campaign if you don’t have a website. Millions of people use the internet as their main tool to find businesses and companies, so if you don’t have a website you could be missing out on thousands of customers.
However, a standard website probably won’t be enough; there are over 1 billion websites online, so you will need a high quality website if you want yours to stand out among the others.
How to make your website stand out
If you want to make sure that your website stands out it needs to be easy for users to use. This means it should be optimized for all devices, including mobile, and it should have clear and simple navigation links, as well as quick loading times. Today, most websites are ultra fast and slick, so a slow, clunky website will be very off-putting to users. It is also important to have a solid web design that is visually appealing and uncluttered.
Set up social media pages and a social media strategy
Social media is another vital marketing tool for businesses, and it can be a great way to build up extra revenue, so if you haven’t already you should set up business pages on Facebook, Instagram, Twitter and LinkedIn. After all, checking social media is in the top three online activities for Canadians!
However, that isn’t all; you also need a strong social media strategy to help you reach new audiences and engage with customers. Try to aim to post on each website at least a few times a week, and it can be useful to vary your content if you have different target audiences using different platforms. Anyone can build a home business if they put the time and effort in. It is also important to embrace the internet as a marketing tool, as this is the one of the best ways for you to reach new customers without spending too much money.
Love the YouTube channel, I just wondered what your thoughts on Webflow are? Will it spell the end of web development as we know it (coding) or will developers have to adopt a more visual approach to building a website with such as platforms like Webflow? I realise that the system is built for designers, however without the need for a developer on a platform such as this, the code is seminally marked up, they keep increasing the features capability and complexity, I ask the question where do we fit in if platforms like this become very popular?
I don’t see it as a threat – it is a tool.
A big part of modern web design and development goes WAY beyond code:
Site aesthetic design – pre code design if you will
UX – making the site EASY to use
Information design / architecture, if you will. WHAT to place on the site
Setting up the domain, hosting … the basic mechanics of it
Tweaking – I’ve always found that no matter how good the tool, you will need to know code to tweak it
Then there is consulting on social media strategy, content marketing strategy
Finally, the websites function: do they need an e-commerce setup, wordpress, etc …
So Webflow, if it works as perfectly, can help automate the process and perhaps shift your time allocation (meaning you’ll write less code,) but you will still have plenty of work to do as a web designer/developer.
This is nothing new. In the early 2000’s, we did lots of stuff as web designer / developers that we no longer have to do because of better tools … and it’s a good thing!
Regardless of the tools that come out, it’s still good to know the code behind the pages and to learn how to put things together, because it will make you life easier as a web professional and even as a small business owner.