Digital Media Endeavours – Day One – Pushing the Comfort Zone

Purpose of this Log

Today was the first day of my Digital Media Endeavour, on the path to push my comfort zone into the other creative industries. The purpose of this personal section is to keep a personal representation and log of my journey into Digital Media, alongside my current knowledge of the IT field and Development field. where cloud certifications are being earned. (Thank you Linux Academy)

Meeting Others

To all the fellow aspiring IT and Software Developers, I suggest it’s our duty to push our comfort zones and to become more proficient with business in general and understand how the other departments work & function. As a follower of John’s Sonmez’s work, one of his philosophies is get comfortable working unmotivated. In the context of business, this includes learning and interacting with other departments. When the CEO has an interview, offer to observe and give a hand. When the senior digital marketer asks for you to write a blog post in your expertise, say yes. I am firm believer of expanding our skill-sets and learning all areas of business, this can only raise our value to any company.

My Experience So Far

CreativeProcessDigital are offering an excellent course with a wealth of knowledge and advice available to those seeking the digital skills. If you are willing to things that extra mile, which I’m looking forward to demonstrate, so fat this course is promising.

How Does this course compare to Online courses?

From personal experience, I am unable to directly answer this question. However, at the end of three weeks, I will be able to give you an honest answer and look forward to what opportunities arise. As Grant Cardone would say, 10X!

This section will be an outline of what we accomplished and what we have been assigned for the day/week:

  • We created our first poster displaying six areas of the creative industries plus a job role within that specific section.
  • Second, we have been told what will happen over the next couple days, and a CV template will be created tomorrow. (We can bring our own CV in too)

For Ella’s reference: we need to create the report of a creative company by Friday, more will follow tomorrow. See you then!

Complete List Of All Cloud Certifications – AWS, Azure, Google, VMware & Cisco

The IT Industry has been changing since ARPANET adopted TCP/IP on January 1, 1983.

Since the turn of 2019, there has been a rise of Cloud Certifications and the big Four; Microsoft, Google, Amazon and Cisco are releasing newer and modern certifications to bridge the employment gap. This is a great time to earn a new Cloud Certification. Find a complete.

Here we have a snippet from the Github page I have released. The page is a work in progress and will be completed by 25/01/2019. The purpose of this blog post is to be a central hub to quickly navigate to the desired cloud certification and all the related information about the certification. Github is a wonderful application and am glad to share this resource to the public.

The Future Of Mobile Development – Flutter, iOS or Android? (Part One)

The Future

In five years time, in the position of a Mobile Developer, we may facing a complete turn of the mobile tide, a new mobile operating system reaching the masses and the downfall of Android? The future is bright with Google making progress with Fuchsia OS and releases of Flutter 1.0 in scene. Let’s dive into a prediction of where Flutter could be in the future.

Flutter 1.0 was officially released for the first time on December 4th 2018, at the Flutter Live Event. In addition, Fuchsia has not been officially released yet and there are still rumours floating around. In the mean time, we will see further development of Fuchsia. The launch of a new operating system will create a new influx of problems for users, with the choice of sticking with the Android OS suite or going for the new Google Fuchsia, or simply moving to iOS. On the mobile developers side-of-the-coin, there is Flutter.

Flutter 1.0 was officially released for the first time on December 4th 2018, at the Flutter Live Event. In addition, Fuchsia has not been officially released yet and there are still rumours floating around. In the mean time, we will see further development of Fuchsia. The launch of a new operating system will create a new influx of problems for users, with the choice of sticking with the Android OS suite or going for the new Google Fuchsia, or simply moving to iOS. On the mobile developers side-of-the-coin, there is Flutter.

Flutter

Flutter has the ability and potential to change the way businesses, especially CTOs and directors approach their strategies. It is paramount that organizations find an effective way to tackle the cross-platform challenge. In many instances, the user experience is limited on both platforms, with technologies over the past five-to-sevem years, developers have been needed to create two separate code bases. Given this, in recent years, there has been an emergence of mobile frameworks including Xamarin, AngularJS and React Native. Recently, there has been a new entry into the scene – Google Flutter. There will be a rise of exposure, interest and possibilities of the framework in organizations.

While we can go into the technical details of flutter, let’s going into the actualities in a business environment. Here are four reasons why Flutter will expand:

  1. Limitations in the past, are truly in the past.   With companies like Alibaba and Tencent constructing their app development process on Flutter and companies such as Square, Firebase increasing their relations with the Flutter community, the early-bird adopters of this technology will truly see a widen-acceptance and positive public image of their ambition. This list of companies will continue to grow in the coming years.
  2. Productivity is increased significantly. With the need for creating two code bases is out-the-window, we can focus on one case base. Flutter gives your software development team, in essential, more time to spend on other aspects than programming the core app. With your code base being reduced and running simultaneously on both Android & iOS, you can launch your app faster to market.
  3. UI Experiences will improve. With Material design being at the core of Flutter’s specification, it is much easier to create powerful UI experiences out of the box. This helps bring a crisp, experience that one would expect to see only in an native application.
  4. Fuchsia will use Flutter. For software developers learning a new programming language, we know takes time to learn from scratch, which can be a long-process, therefore learning two separate languages, like in the past, is no longer needed. Gone are the days of learning Objective-C and Java, at the same time for the legacy systems. Also, embedded inside the operating system, Fuchsia will be using Flutter, which uses the language Dart as it’s main language. From a developers perspective, using Flutter to create mobile apps but also Fuchsia – is an added bonus for future career prospects.

Conclusion

In my next post, we will dive into the future of Android and where we can expect to see the operating system in a few years.

Resources:
Of course below, please find a list of resources discussed in this post for all the fellow-programmers in mind.

The Importance Of Being an Agnostic Developer

September 6, 2017

Agnostic Developer – Why Being Agnostic Is Important?

Welcome everyone! Today I will be discussing the importance of being an agnostic programmer for when it comes to learning programming languages and why it is in your best interest to become a Agnostic Programmer. As an aspiring developer, each and every day I am crafting my skill set and psychology, documenting my process along the way and helping you to become a better developer too!

Personally, open-mindedness of one of the most important characteristics we need to adopt to be world-class programmers and as strong human beings.  In my life experiences, it is common to come across programmers and tech enthusiasts who are passionate about their specific programming language or chosen-technology. Those who have used one programming language for the whole of their 10 year career.  I personally have found it to be a rare occurrence for someone to be radically open-minded to new technologies.

I see people around me who get easily offended when someone is learning a different language. It’s almost laughable. It’s almost funny to me because it’s extremely egotistical to be offended, there’s no reason to be offended at all. It is a limiting belief. The reason it’s funny because when they get offended they are avoiding the exact things that are going to excel their growth because they are getting offended at the things their ego doesn’t want to admit to itself.

A couple weeks back, I went to a Python Meetup in London to learn about the technology. I was asking some Python Developers what do they think of Java (as an experiment) from a minority of developers I got responses back “Java’s a dead language” and “Who even uses Java!“, they are right to have an opinion, but the fact that when the word “Java” is mentioned once, these two developers got easily offended is shallow. Though, of course, there is the other side of the spectrum, other Python Developers who were open to discuss about other languages and technologies.

Personally, it is very difficult to offend me, I am curious about all kinds of different perspectives and ideas. When a new programming language comes out, I am curious to learn about it,  I would read an article or two about it, even buy a book on the subject. Expanding our mindset is one of the best investments we can make.

Shoes Of An Employer

In the Android space, I can imagine there is a lot of Android Java developers out there right now who are hesitant to jump onto the Kotlin ship with the potential that it possesses. In my opinion, if I was in the employee’s shoes, looking for a new programmer, I would hire the most open-minded and willing to learn programmer, knowing they are open to new ideas and ways of thinking.

Let’s say you are an Mobile Android Developer using Android Studio and you have committed yourself with the goal of becoming one of leading expert in the field, learning all areas of Android Studio. You currently are working for an employee and they ask you to help with a Python AI project for one month in the Data Science department. Firstly, you know that Android Studio only supports C++, Java and Kotlin to develop Apps, so this would mean learning a new framework and so why would you want to learn a completely different language?

Let’s look at this scenario with a positive mindset, from the Agnostic Programmer’s point of view, questions of following may arise:

  • What can I gain from this experience?
  • What new concepts can I learn from Python that Java does not have?
  • What fascinates me about Data Science?

Well firstly, Python is a different language, you will pick-up some familiarity. There will always be something to learn from new experiences. What have you got to lose?

Times of Adaption for the Agnostic Developer

At some point in your career, there will come a time when you will need to learn a new programming language as required from the employee or the client. If you are beginner programmer, I would recommend to develop an open-minded mindset. To be willing to learn more than one language. For example, Let’s imagine if you are learning Java right now as a hobby, you become employed and so you are required to take your current Java skills and transfer to C#.  Having that skill of transferring to a new programming language as and when needed is an extremely valuable tool. But what’s even more valuable is having the mindset of being willing to learn a new language, embracing the opportunity, and taking action. This comes back to the mindset of life-long learning, having the drive learn something new everyday.

Be willing to adapt to a new language whenever you are required. In your spare time, read upon other areas of the industry. Let’s say, you have 2 years of pure iOS development,  you are secretly a die-hard Apple fan and refuse to develop anything for Windows, your company has a client that requirements an Android application to be developed and they ask you to help. Will you be open minded to say to your employer “I’m willing to adapt”? If you do, you will present yourself in a professional & bright light. It can reap benefits for your career and for your personal life too.

To sum up, having a Agnostic mindset as a programmer can open new doors for you, you will be willing to adapt, consider new programming languages, new technologies and new ways of thinking you haven’t come across before. But most importantly, be able to develop the skill of life-long learning will pay dividends in the long-term.  The technology industry is changing rapidly everyday and developing our minds everyday is, if not, the most important asset we can give ourselves.

Let me know in the comments below, what scenarios in your life experiences has adopting a open mindset benefited you?2

Programming Concepts – The 5 Most Important Concepts You Need To Know

September 4, 2017

Hey you, yes you! You are awesome and let’s get started! Firstly, I am writing these introductory posts in a format that I assume you have very little knowledge about programming. The goal is to make this content accessible and understandable to the “general populace”.

So, let’s get straight into it. 5 basic programming concepts you need to know first in any programming language. You might be asking “But Chris, why are you talking in general terms, I thought you specialize in Android Development?” To start off, from personal experience, it is extremely important to understand the basics of any programming language.

 

“What separates the good coders from the not-so good coders, is that the good coders have an advanced understanding of the basics” – Stefan Mischook

 

What he is saying is that it’s not just one thing to know basic concepts such as functions, objects and arrays. But knowing how to use these concepts in sophisticated ways is another. To fundamentally understand when to use functions to lower the amount of code, or to use an array to solve that complex multiplication problem you have.

It is highly recommended that once you have learned the basic concepts, to take the time out of your schedule to “peel the onion“. To dig deeper into things that you think you know already. For example, if you know and understand arrays then you can move advanced concepts like two-dimensional arrays. Understanding why you would use a one-dimensional array over a multi-dimensional array. What are the performance differences in each type of array for a particular circumstance? Concepts can get deep very quickly, and that’s a great thing.

Here are 5 basic Concepts of any programming language: 

  1. Variables
  2. Data
  3. Conditional
  4. Data Structure
  5. The Toolbox

If you are a complete beginner, I understand these words might seem foreign to you, that’s the nature of the learning process, I will do my absolute best to help you understand their meaning. Each concept can go into depth, but I will only talk about #1 Variables.

What is a Variable?

A variable, in the context of programming, is a symbolic name given to an unknown quantity that permits the name to be used independent of the information it represents.

Well that’s very abstract. To me, a variable is simply a location where we can store information of our choice to use later, and we can retrieve this information by assigning a “word” to describe this information.

For example, let’s say you want to visit my website “www.actualizedprogrammer.com” and I ask for your first name (To customize the experience for your next visit). I would create a pop-up screen that asks what your name is…this pop-up represents the variable!  Let’s say we called this text box ‘YourName’, this would be the symbolic name for your variable.

So when you type in your name into the ‘YourName’ Text box, the data/information that you enter will be stored into the variable called ‘YourName’. Fast forward 24 hours and we ask “What value does the ‘YourName’ contain?”, and the program would display the data you physically typed into the text box.

How common are variables in programming? 

They are everywhere! I almost guarantee every program that 99% of all programs that you interact with will have a variable somewhere. Big companies such as Google and Amazon use variables in their code. It’s part of a network of code that allows you to make a purchase on Amazon, or to withdraw cash from the cash machine. Ask any programmer and ask them how often do they use variables, you will get a positive response on the importance of them!

Strings, Integers and Doubles in Java 

Now we’ve covered where they can be used, let’s dive into the meat of Java. In Java, this programming language wants to know the specific type of information you are storing inside a variable. Be it a decimal number, word or whole number. There are a number of reasons why types are important in Java, let’s find out.

So Chris, what would happen if I tried to store something that is not a string into a String variable, let’s say the value “28.55”? Simply, your program would be screaming at you asking you to fix it!  The value “28.55” is a number with two decimal digits. In Java, when you specify that a variable is of the type String, you can only store characters, no numbers of any kind.

A String is simply a list of characters in a specific order, the computer does not understand the variable is a “word”, it only understands the characters individually, and so when these characters are placed in a specific order it creates different circumstances.

Defining what type of data that the program is dealing with will allow the programming language to manipulate the data in certain ways. Again, when I say “defining what type of data” I am referring to the type of data.

What Can You Do With Data Types?

Here’s a simple example.

You have the goal of adding two numbers together, let’s say the number 7 and the number 44. Java will behave differently depending on the type of variable that these pieces of data are assigned to.

Let’s see what I mean:

If you have defined your variables to be the type String, then “7” and “44” are stored in two separate variables.

A string has a different nature to Integers, and these behave differently because it is a different data type.

If we were to add these two variables together, each defined as Strings, what do you think the result is?

The resulting String would be: “744”

You might wonder, why is this confusing, but it makes more sense when you look past the illusion.

Now let’s say, both variables: “7” and “44” are the variable type Integer, and now we want to add the together, what do you think the result would be?

That’s right, we would get “51”.

In another example, let’s assume that we are storing 2 list of characters and number.Variable 1 is “Hello” and variable 2 is “World”.

With this in mind, can you work out the final result?

I’m confident in you and i’m sure you came to the result “Hello World”. If not, that’s okay this content will take time to digest, just keep consistent at the study and you will progress.

The exact same behaviour is occurring with the Strings “7” and “44”, remember Java behaves different depending on the initialised data type.

In Java, the String “7” is the same data type as  the String “seven” as they are both a specific order of characters.

 

To summarise, we talked about what a variable is and how you can store information and then manipulate the data in a specific way.

All in all, I hope you can become aware what the benefits are of learning a programming language! The desire for a company to hire employees capable of learning new programming languages is a crucial skill, and many companies are hiring people to build new applications such as mobile applications. Let’s continue the journey of learning a programming language and come back for section two – Assignment.

 

References

[1] Stefan Mischook – https://www.youtube.com/channel/UCyUBW72KU30dfAYWLVNZO8Q