In his book entitled “The War of Art” – not to be mistaken with “The Art of War” by Sun Tzu – Stephen Pressfield says something that really stands out for me. He says that most of us have two lives: the life we live and the unlived life within us. The life we live is pretty straight forward – it is our reality: where are in life, the work we do, the people we work and live with, etcetera. As for the unlived life, it is the life that we dream of; the life that we are meant to live, the life that we truly desire to live given a choice. If we had a magic wand that could change our lives, then that is the life we would change to. That unlived, but often-desired life. When I read that, it made me both happy and sad at the same time. It made me happy because I know that there are people out there who are living the life they love, and I take inspiration from people like that. They wake up in the morning, excited about work. They go to work and put their hearts and souls into what they do. They live up to their potential, because that’s what they meant to be. They feel like a round peg in a round hole, like a duck in water. They just feel at home, they feel comfortable there. They are truly happy. On the other hand, I imagine that there are millions of people out there who know that something is wrong with their lives; that they are not living the lives they desire. They know they deserve something more. They don’t quite fit in – they are the square pegs trying to fit into round holes, they are fish out of water. Whether consciously or unconsciously, they know they should be doing something else in life, and it makes them deeply unhappy. But they are helpless. They are helpless to change. They lack the knowledge, skills and tools to make that change. They lack the courage to make that change. It makes me really sad knowing that that there is a person somewhere in the world who gets up every day, who drags himself out of bed, who goes miserably to a job he doesn’t like, working with people he doesn’t like, looking at the clock, waiting for home time so he can disappear, so that he can go home and forget about that ghastly place. He looks forward to his holidays, and he counts the days for when his holidays come. He tries to make the most of those precious few days, tries to forget his torment at work. But he knows this will end shortly, and he has to go back to work. On Sunday evenings he sits at home with his family, but his stomach is cringes because he knows that on Monday morning he has to go back to that horrible place. I know that too well because I used to live that life. I was in a job that I hated, with people that I didn’t like. I had the same feelings until I found the courage to go and start my own business and live the life that I am living now. I am truly grateful because this is the life that I love, the life that makes me happy, despite its challenges. I am happy because I made the change. And I was able to make the change because I empowered myself with the knowledge, skills and tools to make that change. But it took me decades to learn these and to implement them. And these are the same skills that I describe in this book. I am not speaking about from theory. These ideas are not something that I read about in some book. I’ve lived them, and I continue to live them. I run my business with them. What’s more, is that I’ve studied some of the most successful people in the world, and I’ve recognised that they found their success through instinctively knowing and practicing these 6 skills. So, in this section I am going to be discussing some of these people who have found success, and whom I take inspiration from. Previous Chapter | Table of Contents
When I was a kid, my grandmother used to tell me, “you must go to school, and then you must go to university, and then you will become a doctor, lawyer or a teacher. You will get a good job, and when you’ve made enough money, you’ll be able to retire and then travel the world.” It all seemed so simple then. Maybe what she said was true at one time, but today, unfortunately, nothing is further from the truth. There is no such thing as that linear career path that my grandmother used to tell me about. It’s demolished. It’s gone by way of the dinosaurs. In today’s age, people change jobs every couple of years, and they change careers at least every six years. Now think about that for a moment. If people are changing the careers every six years, where’s the place for the linear career part? Does anybody still go to university, study and spend the rest of their life doing what they studied for, at a single job? Maybe there are people doing that, but for the vast majority, the world doesn’t operate like that any longer. And what what makes it even more challenging is that the world is constantly changing at a breakneck pace. With technology and artificial intelligence make huge strides and affecting all aspects of our lives, we are constantly being forced to re-examine and re-imagine our jobs. We will need to constantly adapt. The linear career path is dead. What we’re going to need now is a completely new form of learning, a new form of approaching careers and business; and that is what we are going to be talking about in this book. Previous Chapter | Table of Contents
Getting into the world of development is potentially lucrative and fulfilling career. However, for every person that jumps into it, there are others who are intimidated and shy away. In my last article, I wrote about why people are afraid of getting into a programming career, why people think coding is difficult and how schools exacerbate the situation. Like with any skill, coding is one that can be learned with time and practice. There are also other seemingly unrelated skills that can increase the speed at which you learn, and help you become a much better coder. So, if you’re looking to get into a career as a coder, or want to improve your development skills, here are some skills you should work on. Logical Thinking The ability to organize your thoughts in a structured manner, to see the world in patterns. To think like a computer. Remember, computers have no emotions, no creativity and don’t interpret what you tell them in their own way. They do exactly as they are told, in the order they are told. So, to effectively and efficiently give instructions to a computer, you need to think in a logical manner. Logical thinking will also help you to streamline your code, which will make it neater and more concise, and cause it to run faster. Problem Solving The majority of what you do as a coder, is problem solve. By this I don’t just mean trying to find and fix bugs in your code, although yes, you’re probably going to spend a lot of time doing that. What I actually mean is every feature or function you want to build into an app is a problem that needs to be solved. Let’s just say you need to build an app that does ABC. You’ll need to think of the best possible way to accomplish this. You’ll need to take into account the resources you have and the platform your app will run on. Very often something will go wrong with the solution you are working on, or you’ll hit a brick wall. It’s all part of the process. You’ll need to step back, assess the situation and come up with a new solution. Creativity Most people think that logic and creativity are opposites, and that no one can be both logical and creative. Coders prove that theory wrong. While computers need to be given instructions is a logical manner, the process that comes before that is a creative one. Trying to find the best solution to a problem you’re having, with the resources you have, requires a lot of creativity. While computers are completely logical, the people that are going to use your app are not. You need to design your app with them in mind. User experience design is something that also requires creativity. Project Management Every development project, whether you’re working on your own or in a team, is a complex project with multiple moving parts. Especially in larger projects with dozens of files, it’s imperative to manage your time and resources carefully to make sure the project gets to completion in the most efficient way possible and that everything that needs to get done, is getting done. You need to allocate budgets and deadlines and stick to them. At any given point you need to know the situation with every part of the project. Patience This is probably the most important skill of all. Patience to a coder applies on multiple levels. Firstly, understand that building an app, game or website, takes time. Every piece of it needs to be built one line at a time. There are plenty of engines and frameworks out there that cut down development times and make your life a lot easier, but it still takes time. Secondly, remember that things are not going to work as expected, or there’s going to be an error in your code that you just can’t seem to find. It’s important to resist the urge to pick up your pc and hurl it at the nearest wall. Thirdly, if your clients are a bit fussy, there might be a bit of back and forth. It might get frustrating at times. The best advice is to just stick to it and push through. To some degree, everyone has at least one of these skills, meaning everyone has the makings of a great coder in them. Don’t be intimidated by incorrect ideas of how difficult coding is. Once you get into it, you’ll realize it’s surprisingly fun. Who knows, maybe the next big app could come from you!
The IT industry is amongst the fastest growing industries in the world. Over the last two decades, the tech industry exploded and began expanding exponentially. Today, it’s not showing any signs of slowing down. In fact, the growth of the IT industry and its adoption into various other industries is only increasing. This exponential growth has presented a gold mine of opportunities that attracts millions of people from around the world every year. But a large number of people that are initially attracted to a career in IT shy away from ever getting into IT due to a notion that it’s too difficult and so they might not cut it. Today, I’m going to highlight to you just how easy getting into IT can be. But first, let’s answer a burning question, Why are so many people afraid to get into IT? The fear comes from a misconception that coding is extremely difficult and only the ultra-intelligent can manage it. There is an idea that you have to be born as a talented coder in order to be a successful one. Or the idea that you need to be a maths wiz to be any good at coding. These ideas are often spread or reinforced in many schools. The entry requirements to study IT are set unnecessarily high. The IT that’s taught is often outdated by at least a decade and the teaching methods are focused more on theory delivered from massive textbooks even though IT by its very nature is a practical subject. Intimidation is also the cause of many people turning away from a potential future in IT. Opening an app or website or playing a game and not knowing the first thing about how any of it works might lead you to feel overwhelmed. However, once you understand the basics, it’ll all make a lot more sense. Is coding really that difficult? The simple answer is “no”. Once you get the hang of it, it is a lot easier than you’d think. It’s like learning to walk. You start by taking your first step. Initially you might be a bit wobbly, but over time you’ll get more and more confident on your feet. After a bit of practice, you’ll learn to jog, then run, then sprint. With coding, the principle is the same. You start by learning the basics and writing your first line of code. From there, you slowly build your way up. Eventually you’ll be developing full scale apps, websites or games and it’ll seem like second nature to you. IT varsity we once had a particular student a while ago who barely knew how to use a computer when he started with us. After his first month with us, he had already developed a complete mobile app from the ground up. After about six months with us, he took on a role as a mentor, helping some of our other students that had just started. In just six months’ time this student went from having almost no knowledge on how to use a computer, to mentoring other students and helping them get into app development. So, if you’re interested in getting into IT, don’t be intimidated or let a bad experience in school throw you off. Get started by first learning the basics and slowly building you way up from there. Don’t let the end goal intimidate you. Just work on taking the first step. And that goes with anything in life.
The in Internet is undoubtedly the greatest marketing tool the world as ever seen. It gives companies, and even individual people the ability to deliver content to millions all over the world. It’s a feat mostly taken for granted today because it’s become an integral part of our everyday lives. But imagine, 100 years ago, if you created an add or wrote an article, and you wanted to make it visible to every single person on the planet. It would have been logistically impossible and insanely expensive. Today, in under five minutes, you can post something on the internet. And anyone anywhere in the world will be able to view it. The challenge with marketing yourself, or your company/brand on the internet is the volume of content out there. There are millions of gigs worth of content uploaded every single day. So how do you get people to find and notice you, and how to you keep them interested in you? Here are five tips on how to market yourself on the internet. Put yourself out there The first and most obvious step. You need to start by putting yourself out there. Don’t think too much about it. Just jump in. Let everyone know who you are and what you do. You can always change things up later. Don’t try to be “perfect” right of the bat. There’s a learning curve to it. You’ll eventually figure yourself out. The important thing is to just be yourself and keep an eye on what works and what doesn’t. In most cases, videos perform the best. Be authentic Building on from putting yourself out there, work on being authentic and true to yourself. Don’t try to adopt a second personality or put on an act. Act natural and be yourself. Another mistake people make is trying to be too “professional” or be too scripted. In most cases this comes across as stiff and wooden. It’s fine if you make mistakes, or if you stumble and stutter, just keep rolling. Consistency Consistency is key. Posting randomly once every few weeks simply is not going to work. You need to set try to post something at least 3 times a week. The easiest way to do this is to set up a posting schedule, and hold yourself accountable to that schedule. By posting consistently, you’ll contestant be putting your content in front of new people, building awareness of you and your brand. People who are interested in your content will also have a reason to keep coming back or to follow you. Consistency will help build your following and keep your followers interested. Deliver value People aren’t going to follow you or share your work if you just post adds. Adds definitely have their place and purpose. But if you want to build up a loyal following, you need to deliver genuine value to your audience. What’s in it for them otherwise? Give them a reason to keep coming back and to share your posts. Value can be delivered in the form of valuable information and advice or entertainment. Or a bit of both. Target the right audience Make sure you understand who you target market/audience is, and make sure your content appeals to that audience. Most of the time, this will happen organically, but it’s easy to end up targeting the completely wrong market. You’re not going to be able to sell oranges to a man who wants apples. On the other hand, you could have the right audience in mind, but the type of content you put out doesn’t really appeal to them. This is why it’s important to keep an eye on what works, and what doesn’t. The internet is a really big and busy place. But don’t be overwhelmed. Start of by breaking it down into your desired market, then just start posting. Don’t think about it too much. Don’t expect miracles right of the get go. It’s takes time. But with consistency and quality, you’ll build up a following in no time.
Working as a freelance web designer is an increasingly popular career many developers are choosing to get into. And it’s not hard to see why. Not only is it a potentially lucrative career, many developers love the freedom that it comes with. The freedom to work at your own times and from wherever you want. You can work while never needing to leave your home or office, or you could work from a holiday resort in the Maldives. As an entry level developer, you’ll be able to charge at least R6 000 for a basic WordPress site. On top of that, you could charge at least R2 000 a month for maintenance and upkeep of the site. Now times that by at least 10 clients and you’re in business. Bear in mind, these are just entry level fees for basic WordPress sites. Naturally, once your skill level and brand strength increase, so will the fee you’ll be able to charge. Additionally, you’ll be able to charge a bit more for sites that require additional features like eCommerce solutions or additional plugins. Getting into the web development industry can be a little tricky, but it’s definitely not impossible. In fact, with a proper approach, you can be up and running in not time. So, if you’re an aspiring web developer keen on setting up your own freelancing business, here are some tips to help you get started. Get the Right Skills This is the obvious first step. You need to equip yourself with the right skills, and become really good at them. For starters, you’ll need to learn the basics. HTML, CSS and JavaScript. These form the foundation of web development. You’ll need a solid foundation on which to build the rest of your career. Once you’re comfortable with these, you’ll need to learn WordPress and WooCommerce. These are going to be the most powerful tools in your arsenal. Majority of your work will most likely be done with these. It’s also worth investing some time into learning a bit of Graphic Design and basic design principals. As a developer, your learning should never be complete. Keep exposing yourself to new technologies and better ways of doing things. You need to keep practicing to become better and more confident. Aim to be the best. Set up your Corporate Identity This is important because this is the outward appearance of your company. This is what people see and will remember you as. This includes your branding, your company name, logo and your company colors. Look at companies like Google or Facebook. Notice how their names are so memorable. Take a look at their logos as well. Simple, yet unique. Notice how they also use the same set of colors across their sites and apps. A well-thought-out corporate identity will make your brand unique, memorable and professional. Build your Portfolio Site Aside from explaining who you, what you do and displaying your contact information. This site needs to be a showcase of your skills as a developer. Put everything you’ve got into this site. Make the best site you’ve ever built. Your portfolio site should also showcase projects you’ve done before. This includes work you’ve done for clients as well as projects you’ve developed on your own. Setup your Social Media Accounts A strong social media presence will help establish yourself in the industry and get you noticed. Be active on sites like LinkedIn, Twitter, Instagram and Facebook. Use these platforms to market yourself and expand your network, obviously putting you in front of more clients. Been active on Social Media also builds industry credibility. It helps establish that you’re a real person who’s active and connected. Potential clients will be more willing to trust you as a result. Setup your email address You can’t go around using a Gmail, or worse, a yahoo email address for your business forever. It’s growing to raise a few eyebrows. You need to make you brand look as professional and established as possible. Setup your domain specific email address as soon as possible. Remember, majority of all communications between you and your clients, as well as between you and potential clients, will be going through emails. While you’re working on your email address, take some time to design a good-looking email signature as well. Get some Experience Under your Belt There’s a painful irony you might run into getting into a web development career. At IT varsity, we call it the work experience cycle. It goes like this, you need experience to get a job, but you also need a job to get experience. So how do you break this cycle? On effective solution is to approach small business or NGOs, and offer to build a website for them for free. Be honest with them. Explain that you are a student or entry level developer trying to get some experience. In any case, most small business will jump at the opportunity. Once you’ve got a business on the line, build for them an amazing site. Put effort into making it as beautiful as you can. On top of that, give them a good experience. Listen to their ideas and suggestions, check with them periodically to see if they’re happy with how the site is turning out, respond to their messages and emails timelessly. When the project is done, not only will you have experience developing for a real client under your belt, you’ll also have a very satisfied client as a referrer. This will help greatly in getting more paid clients. Web design is potentially a very lucrative career that allows you to work at your own times, and from any in the world. It’s a very exiting career that’s always changing and evolving. There are a few hurdles you might face heading in, but with clever planning, you can overcome these with ease. On any journey, the hardest part is the first step. So, hold your breath, dive in and build your dream career!
The development environment is huge and it’s always getting bigger. It’s the Ideal place to build your career, whether you want to be a freelancer or get a permanent job at a company, or whether you develop websites and apps or back-end systems and games. However, the dev environment can be quite competitive. It can be difficult at times for people trying to get into the field. To make it a little easier, we’ve put together 5 tips you can use to boost you coding career. If you’re already in a dev career, you can use these tips to take your career to the next level. Market yourself on social media/ build your person brand. The world is a massive place. It’s too easy to get lost in the crowd. If you remain anonymous in the crowd, the world is never going find out who you are and what you have to offer. The idea is to put yourself out there and market yourself. In this industry, it’s one of the easiest tasks in the world. Just be active on platforms like Instagram, Twitter, Facebook and LinkedIn. Constantly put yourself out there. Tell the world your story. Make it know who you are and what you do. This will greatly expand you network and expose you to greater opportunities, but it’ll also increase your reputation and add credibility to your name. Show don’t tell. Actions speak louder than words. It’s that simple. Showing someone what you’ve created has a far greater impact that telling someone what you can create. It’s not all about what qualification you have. Clients and employers are far more interested in what you can do. And as far as I’m concerned, there’s only one effective way of doing this. By showing them. I’d highly recommend building a portfolio website for yourself. Make it the best website you’ve ever created. Constantly add to it and improve it. On your site, show case all the projects you’ve done. This should include projects you’ve completed as part of your studies, projects and experiments you’ve done in your own time and projects you’ve completed for previous clients. Work cheap/ free when starting of When starting of as a developer, you’re probably going to run into this issue. Companies might be reluctant to hire you due to a lack of experience in the field. Ironically, you won’t be able to get experience if no one hires you. An effective way to combat this and break that cycle is to start of working for free, or for really cheap. Take on development work from NGO’s or small businesses. This will add some experience under your belt and build up your portfolio. Additionally, your future clients will have references to contact. This will give a giant boost to your credibility. Finally, with your higher experience, you’ll be able to charge a lot more in the future. Keep your skill set up to date. As developer, your greatest asset is your knowledge and skills. These are why people hire you. These are what your reputation is built on. So always take time to expand your assets and keep them up to date. Take time out every day to expand your knowledge on the technologies you already know as well as to learn something completely new. The tech space is constantly changing and evolving. You need to make sure to keep yourself up to date with the latest changes and trends. Be ahead of the curve. Keep on the lookout for opportunities. World is full of opportunities. You just need to be on the lookout for them. Learn how to identify and capture opportunities. This might be tricky at first, but over time it becomes second nature. However, you need to keep in mind that not all opportunities that present themselves should be persuade. Learn to identify which opportunities are worth looking into. Don’t be afraid to walk away from certain opportunities. There’ll always be more opportunities. As the late Tony Hsieh, Founder of LinkExchange and former CEO of Zappos wrote in his book “Delivering happiness”, a business is more likely to die of suffocation than starvation. Although the dev environment can be challenging at times, it’s an extremely enjoyable and rewarding field to get into. It requires a lot of dedication and patience and, if you play it smart, you can accelerate your growth and jump start your career. So go out and make your dreams come true.
In the development world, it’s not just about knowing how to code. There are a number of additional skills that make a good developer. Skills that will help you develop user-friendly apps, cut down development times or increase the efficiency of your apps. Every developer should now or learn these skills. So if you are getting into development, or are already a developer and are wondering how to take your career to the next level, here are the 5 skills every developer should know in 2021. Front end tech There’s one thing that every single app out there needs. And that’s a front end or the face of the app that users will see and interacted with. No matter what’s going on behind the scenes or what languages are been used, every app needs a good front end. So, every developer should know front end development. Whether you’re a Java, Swift, C# or Phyton developer. HTML, CSS and JavaScript are a great option for front end development. They’re easy to learn and understand and are capable of running on virtually any device. Apps like Facebook and Uber use make use of them for their front ends. UX Design UX design is the ability to design apps with your users in mind. Functionality isn’t always everything. If your app is difficult to use, it’s going to turn people away. UX design will help will help you design user-friendly apps with clearly defined user journeys. This is important in giving users a positive experience and building loyalty from your users. Keep the layouts simple, beautiful and Userfriendly Object Oriented Programming Object Oriented Programming is a programming model that organizes your code into “objects” that can be reused and added upon within your project. Think about it like this, if you’re developing a game in which the player needs to fight off a hords of zombies. Instead of having to code each zombie, you’d simply create a zombie “object.” This object can then be reused an many times as you need. To put it simply, you develop once, use This significantly reduces development times and streamlines your code. It also makes maintenace and updates much easier to perform. Additionally, it leads to code been neater and running a lot more efficiently. Web Dev Frameworks Frameworks like .NET of Spring are a must for app developers. Most apps out there, while being unique in many ways, generally have similarities in their structures of functions. With any app you’re going to build, chances are parts of it have already been developed before. So why re-invent the wheel? Framework like .NET and Spring give you access to prebuilt features and “skeletons” of apps that you can include into your app and then customize to match your specific needs. This again cut’s done development times significantly. Frameworks are also well refined and optimized, meaning your apps will run smoother and with fewer errors right off the bat. Git and GitHub Last but not least, Git and GitHub. At this point, these should be compulsory for any developer for a number of reasons. Firstly, GitHub allows you to automatically back up your code to the cloud. This, in my opinion is reason enough to get a GitHub account. I’ve had the SSD hard drive in my laptop die at one point. I managed to recover most of my data, but I also lost a lot of work. Since then, I’ve made it a habit to regularly back up all my work and I’d encourage you to do the same. Secondly, Git is a powerful version control tool. Every time you make a change to your project, Git will save is as a verion of your project. At any point in time, should you wish to revert your roll back to a previous version, maybe you’re not happy with a certain update or you made a change that broke the entire app, Git allows you to do this with the click of a button. Finally, GitHub enables easy and fluid collaborative development. With projects been automatically synced to the cloud, entire teams can work on a project at the same time and have changes appear to everyone else instantly. These are just some of the skills and tools every developer should be familiar with. But naturally, the list isn’t complete. The complete list would be far too long to cover in a single blog post, and the truth is, it will always be changing and expanding. That’s the nature of the IT industry. The idea is to never stop learning and innovating.