Engineersvision

Ticker

6/recent/ticker-posts

Best free ways to learn coding

learn coding

 Hi, friends 
I have shared a few coding apps to learn coding-free


Link - this is some free app to learn coding-free recommendations by experts. 

https://play.google.com/store/apps/details?id=com.getmimo


https://play.google.com/store/apps/details?id=com.freeit.java


https://play.google.com/store/apps/details?id=com.area120.grasshopper


https://play.google.com/store/apps/details?id=com.sololearn


Few websites to learn coding-free 



one of the best free website to learn a coding language free

Why Should Every Engineer Start Considering Developing Analytical and Programming Skills?

A Perspective From a Non-Computer Science Engineer

Data scientist: the sexiest job of the 21st century’. ‘Data is the new oil’. ‘Data is shaping the way we see the world’. Phrases that rumble in one’s mind making you wonder if you have taken the best decision while choosing an academic major or professional career. ‘My major does not require coding skills’. ‘There is no need to learn how to develop software’. ‘If I would have known how to code, I would have studied computer science’. Paradigms needed to be broken in a time where continuous education and constant self-learning represent keys for staying updated and qualified on today’s highly technological and competitive world. As an industrial and systems engineer, I would like to invite non-computer science engineers and professionals to start developing analytical and programming skills by sharing how they have helped boost my professional career at a young age and the advantages and benefits they can bring to theirs too.

‘Linking people, technology and business’

As an industrial and systems engineer, my main goal is to serve as a bridge between engineering and management to analyze and adapt processes or create new ones. My role consists in identifying people, materials, technologyinformation and energy required for a process to be efficient and to determine how these resources should interact to be effective.

Engineers love numbers and feel comfortable working with them

Or at least they should. Data and information are implicitly and explicitly present in every engineering task. However, the usefulness, utility and insights that can be obtained from them could be truncated by one’s abilities to capture, understand and transform data. Take a moment to analyze the DIKW pyramid shown below. As you move upwards, the width of the steps becomes smaller; this represents the gap of knowledge and abilities to work with it. Since data itself does not tell anything, it must be transformed in some way into information for a better understanding. But the real challenge consists in jumping towards the upper side of the pyramid.

DIKW Pyramid

The use of data minig, machine learning and deep learning algorithms (e.g. linear regression, logistic regression, k-means clustering, support vector machines, artificial neural networks) is mainly involved during the steps of the upper side of the DIKW pyramid. However, due to the large amounts of data that you will be exposed to, implementing them manually will become inefficient, time-consuming and endless. This is where programming skills play their major role. Being capable of coding these algorithms into computer programs will allow you to work with large and unstructured datasets in a faster and more efficient way. Nevertheless, having developed, trained, tested and validated a mathematical, predicting, classification or analytical model (just to mention some) represent just some of the tasks involved in these steps. Drawing conclusions, obtaining insights, getting knowledge and achieving wisdom is the ultimate goal and what makes a data analytic, data scientist and data engineer a valuable asset for companies and organizations. This is where strong analytical skills play their major role.

‘Communicating your results and findings is as important (or even more) as obtaining them’

Great! You have developed a great algorithm. You have obtained results and significant findings. What’s next? Communicate and share them with your team. As a first thought it might sound as the easiest task of the entire process, but the truth is, many people find it to be the most difficult one. Less is more. You must be able to communicate your results and findings as clear and concise as possible, in a technical language that even people without strong statistical and programming backgrounds can understand. Rarely often managers will ask you the process that took you to got to the final outcome, but instead they will ask you to explain, justify and defend your final results. This is the reason why most job postings require the candidates to have both ‘strong analytical and communication skills.

During my entire academic and brief professional career as a non-computer science engineer, I have come with these personal seven reasons why you should start considering developing analytical and programmings skills despite your age, college major, or current stage in your professional career:

1. It will help you strengthen your logical thinking

Writing code will require you to think logically. You will have to consider a logical path from the given inputs all the way to the desired outcomes, considering constraints, limitations, and potential errors during the execution of the code. Using logical operators, while loops, for loops and conditional statements, will strengthen your logical thinking and your ability to build effective programs, analyze situations and propose solutions.

2. It will help you strengthen your systems thinking

You will develop systematic thinking where you will realize that everything is connected with everyone. Teams, departments, and divisions work all interconnected towards the same goals, not independently. While analyzing a problem, and while proposing a solution for it, you will have to analyze and evaluate the impacts and implications it will have on the entire business and organization at a large scale, not exclusively on the department you are working at. The whole is more than the sum of its parts.

3. It will help you strengthen your problem-solving skills

While writing a code or developing a program to perform a specific task or to solve a given problem, you will have to decompose it into smaller components. Analyzing a problem by smaller components will result in more effective rather than analyzing the big picture; it will help you identify root causes to tackle faster; it will help you visualize the small details that others might not be able to see. Divide and conquer.

4. It will drive your creativity while developing solutions

You will realize that, in most cases, there will be more than a single solution for a given problem. However, you will have to evaluate and compare the effectiveness of each of the solutions and the degree of feasibility before implementing them. Some solutions will require more coding work, some less, and some will require you to expand your current knowledge to be able to code it. During the process of developing a solution, you might change your mind several times, rethink if the used approach actually solves the problem, ask for feedback and receive suggestions that will drive your creativity to achieve your goal in the best effective and efficient way.

5. It will help you understand processes better

In order to know where you want to go, first, you will have to understand where you stand. Understanding the current state of the process being analyzed will become a must. Which are the inputs, processes, decisions, transformations, exchange of communication, delays, errors, and outcomes of the current process? Who are the main actors and stakeholders of the process? Who is the final client? What do we want to achieve? How far are we from where we want to be? You will have to be able of answering these questions before and during the development of your code to be sure that you are having a significant contribution and impact on the process being analyzed and on its problems to be solved.

6. It will make you feel more confident while making decisions

Having solid analytical skills, as well as a strong statistical background, will help you build better decision support systems capable of evaluating multiple scenarios that will lead you to the best decision based on given constraints. While presenting your solutions, you will be confident while justifying your outcomes with statistical and mathematical support, not just by mere intuition or because a computer tells you to do so.

7. It will take you out of your comfort zone

As any other new task, there will be a learning curve that you will have to overcome. There is no doubt that at some point of the journey you might find yourself stuck or struggling, but hey, there are plenty of online resources that can help you get out of it. Once you get deeper and deeper into the subject, you will find out that the more you think you know, the more you really do not know, which will drive your curiosity to expand your knowledge and learn new stuff. There are tons of packages, libraries, algorithms, functions, programs, languages, and software for a list of varied purposes. While you do not have to learn all of them to become the next master programmer, you do need to identify which of them best align with your goals and with the outcomes you want to achieve.

Concluding Thoughts

No one is really too old, too late, or too advance in his/her professional career for having an excuse to do not start developing analytical and programming skills. The world and the market are changing at an extremely fast pace without precedents. Most of the jobs’ qualifications are migrating into analytical and programming skills to some degree (or being able to use and work with specific computer programs or software). It is up to us to be prepared for when opportunities arrive. The market will not adapt to our needs, but instead, we are the ones who need to adapt to what the market asks for.

Give it a try. The feeling of running a code you wrote that works effectively is amazing.

                                                                  -ENGINEERSVISION

Subscribe to our blog and get updates 

Comment and share with your friends

Check this blog daily for more updates

Post a Comment

0 Comments