SEC-S20W1: Who is a Programmer? What should you have done before to become a programmer in the future?
6 comments
Hello everyone!
I have joined a course by @sergeyk under the umbrella of the great Steemit Team. If you have not joined it yet and want to join then
First of all I agree with your point that many students who go to learn programming they do not even know about programming. Not going far I can start from myself. I am a final year student of Software Engineering. And when I was in matriculation and after that in intermediate I thought to become a software engineer but I did not know about software engineering. Actually the problem is that there is the deficiency of guidance. There was no one who could guide me. And I think everywhere this thing is same there is the need of guidance. Students should be guided properly. There should be proper career counselling sessions. Now let's move to our main topic.
I Want to Be a Programmer
Technology is evolving day by day and computers, phones and applications are working together like a magic. But if we think that why and how this magic happens then it comes to know that this magic is because of programming. And programming is performed by the programmers. Seeing this interesting thing I want to become a programmer.
Actually even from my childhood seeing the revolution of technology I always thought that I would go in developing and programming to develop something unique and beneficial for everyone in the whole world. And my this thinking is the catalyst to become a programmer.
The programmes are the persons behind the curtains who define the logic and design to solve the problems and to provide easy and suitable user experience. They transform our living by providing their services in the form of different applications. This is the reason I want to be a programmer.
Who Are Programmers?
The words programmer is very famous and the persons who does programming are known as programmers. The programmers are actually the architects of digital world. I'll elaborate it using an example. The architects build the buildings using their skills. And then these buildings are utilised by people for different purposes. Similarly the programmers are the architects of the digital world. They build the websites, apps and games. Moreover if see keenly they also build technologies used in our surroundings.
But more than just writing the code they solve the problems. And the programmer who solves the problems in easy way, with less effort and with less number of lines of code is considered as a good programmer. If we see in depth we can say that the programmers are the thinkers with creative minds. The always think to automate the processes to solve the real world problems. They bring innovation using the innovative logic and creativity. The programmers maybe analytical but they are imaginative as well. These two traits of programmers are very appealing.
What Obstacles Will Arise?
Learning anything has it's own obstacles on each level. As the complexity increase the obstacles also increases. Similarly programming also comes with obstacles. There are different languages with their own syntax. In my opinion the first obstacle of becoming a programmer is the learning curve.
Programming languages like Python, JavaScript, C or C++ looks complex foreign languages. As mentioned earlier each language has it's own syntax. Some languages are of loosely typed language and some are of strongly typed. In loosely typed languages the variables are not bound to specific data type at the time of declaration. But in strongly typed languages the variables are bound to a specific data type at the time of the declaration.
The other major obstacle is to learn different algorithms, data structure as well as object oriented programming. It also becomes difficult to debug the code as a new learner. Resolving errors in the code often becomes hectic and as s new learner it becomes more ridiculous. I can relate myself when I started my first semester and I was unable to find the errors easily. I had to struggle a lot to find them. To resolve the obstacles there is the need of patience and persistence behaviour. The errors can be frustrating but they help to learn new things.
Another obstacle is the time for the practice. In my opinion if we do not get enough time for the practice then we cannot easily move ahead. So there is the need of enough time and a balance between programming and other activities of life.
What Will Be Easy?
Every complex and hard thing had some ways to make it easy and interesting. Similarly programming can become easy if we see it's outcomes and it's potential in the job market. The passion for learning something new which can shape the future makes it easy and interesting to learn programming. When we think about it's future benefits it gives us motivation.
Creating new things from scratch also motivates whether it is a simple app or a simple piece of code that solves problems. I still remember that when our first problem solving program runs successfully and solves the respective problem then we feel very happy and it makes our learning process easy by providing motivation and excitement.
In my first semester I was given assignments of writing a program which calculates the sum of numbers, a program which calculates the area of the circle by giving radius as well as average finding program. When I became able to successfully run those programs to solve the problems I became more motivated. This motivation led me towards the next stages of learning programming. So solving the real world problems make our way to learn programming easy and excited.
And nowadays there are a plenty of sources available online and offline to learn programming. We can get video tutorials with step by step guide free of cost but with the minor cost of internet and electricity. So in order to become a programmer I can follow the video tutorials, online support communities to get the help and from them to make my learning path easy.
Pros and Cons of Being a Programmer
We know each picture has two sides, one side is dark and the other side is bright. Similarly being a programmer has it's own pros and cons. These oris and cons are given below:
Pros:
There are a number of pros of being a programmer. Some of them are given below:
Flexibility: Programming offers flexibility in work. A programmer can work remotely. They can do freelancing. They can also work on their personal projects without restrictions. In this way programmers can enjoy flexible lifestyle.
Job Opportunities: In today's world of technology programmers are in high demand. They are required in each industry whether it is a tech company or a startup. They give their services in finances and healthcare companies as well. And the demand for the programmers is continuously increasing.
Good Salary: Programming is generally a well paid profession as compared to others. Especially when you become an experienced programmer your salary also becomes higher. So s programmer can earn more than others.
Creative Problem Solving: Programmers solve the complex problems with creativity and with the implementation of logics in programming. Programmers build things from scratch.
Endless Learning: As we know the tech industry is advancing all the time. This advancement gives an opportunity to programmers to learn new and innovative things.
Diverse Career: A programmer can work in different fields. He can work in web development, game development, data science as well as I'm cyber security.
Cons:
There are a number of cons of being a programmer. Some of them are given below:
Sedentary Lifestyle: Programming often requires sitting a lot of hours on the computer. And it can lead to health issues such as eye strain and back problems. And if do not manage it carefully it ultimately leads to sedentary lifestyle.
Burnout: The life of programmer can become exhaustive. It can happen when the deadlines are right for the completion of the project or project is large. And if we do not balance the work with rest it can lead to burnout.
Isolation: Indeed the job of some programmers involves teamwork. But the actual work of a programming which is coding can be solitary. Programmers have to spend many hours to complete the tasks leads to isolation and many people do not like isolation.
Debugging and Frustration: Programmers can fall prey to frustration and stress while debugging the code. Sometimes it becomes very hard to track the errors especially from the complex problems.
Competition: There is a lot of competition for the programmers. And a programmer have to improve his skills constantly. It can put pressure on the programmers.
Tight Deadlines: In some companies the programmers are required to work under tight routines and deadlines. It leads to stressful working conditions. It happens when the projects are large and the resources are limited.
So on the whole if I conclude the pros and cons I can say that whether programming offers good career opportunities with flexibility of work but it also comes with some challenges such as continuous learning, burnout and occasional frustration.
What Should Have Been Done Before to Become a Programmer?
If I look back and to current journey of software engineering then I realise that I could start my this journey earlier as I was interested in technology and innovation. I should have instructed with computers as well as programming principles. If I should have interacted with basic programming skills then it would be a great start of my journey to become a programmer. And I think it is very necessary for anyone who aims to become a programmer.
One must be aware of at least basics of computer languages to officially start becoming a programmer. In the primary classes I should have done practice of the basic coding principles which are the base of becoming a programmer.
I should have strong math and problem solving skills. I should have practice of building logics and understanding of solving the complex problems. Solving the puzzles also provide foundation of solving the problems. These logical games make mind broad and put mind to think to solve the problems effectively.
But the most importantly I should have a determine mindset. I should have the love for coding. I should be strong enough to face the challenges during coding and debugging.
So in my opinion these are the required traits I could have build earlier to become a programmer.
From Dreams to Actions: How Would I Study?
The dreams always come true with actions and learning. If I say that nowadays in this era of great technology where a number of free resources are available, becoming a programmer does not require any formal education from a university. Although it is just a one way. I will choose self study as well as learning from authentic online resources according to my learning pace. Here is his I would continue to learn skills to become a programmer.
Online Courses: There are a number of well known platforms which offer free as well as paid courses for learning online by staying at home and not attending the physical classes. Coursera, Udemy and YouTube offers comprehensive programming courses on all languages. These courses come with a proper structure of projects and quizzes. It helps the students to test their learnings and to stay on the track. So I will use online platforms to learn programming.
Books: Books are a great sources of authentic knowledge. They explain step by step guides to learn programming languages. I will use well-known books such as Python Crash Course and JavaScript: The Good Parts to learn python programming language and JavaScript. And another benefit of learning from a book is that I can go with my pace of learning. I can dive deep into the theory behind the code.
Practice Through Projects: As we know that practice makes a man perfect. And programming is uniquely a hands-on skill. I would start building some small and basic projects. I would build simple calculator. It will make my logic building skills strong. I would build simple websites.
Join Communities: As we know that this is the era of expedite technology and social media. So I would involve myself in online communities such as GitHub, Stack Overflow and Reddit's programming forums. These places and communities are full of programmers at each level. They share their practices knowledge and projects. They also help each other so I would learn from those experienced programmers.
Find a Mentor or Peer Group: Indeed working alone is always best but in my opinion in programming you must have a mentor it will boost and accelerate learning progress. So I would find mentor who could guide me in my learnings.
Consistency: I would setup a schedule to study daily and on weekly basis. I would divide my course into milestones to ensure that even a small progress adds up with time.
Most importantly becoming a programmer is not about just about learning technical skills. It also involves enhancing your creativity and problem solving skills. There is the need of consistency to overcome the obstacles. It requires curiosity to keep learning. The path maybe challenging but it offers juicy rewards.
Who are Programmers?
Programmers are the builders of the digital world. They write code which empowers everything which we use in our daily life. They build websites, apps and complex softwares. If we see deeply we can say that the programmers are the problem solvers by using programming languages such as Dart, JavaScript, Python or C++.
They create solutions for the real world problems using the programming languages. Programmers can work in various fields. They build things for all fields such as finance, tech, healthcare and gaming. And these are the programmers who drive automation and innovation in each industry by building respective softwares.
Being a programmer does not just mean to write code. It is about creating systems that can work effectively and efficiently. Programmers debug the errors in the code. They constantly learn new technologies to keep themselves up to date according to the market demand.
The Profession of a Programmer
The profession of a programmer involves designing, writing, testing and maintaining the code. Programmers professionally build softwares, websites and systems function. The profession of programmers also involves translating the human ideas into instructions that computers can execute.
Job roles for the programmers vary according to their expertise and skills in respective fields. They may be web developers, game developers, mobile app developers, software engineers or data scientists.
What Do Programmers Do?
This is the most important thing to explore that what programmers do. So the programmers generally write, test, and maintain the code of the software products. Here are the key responsibilities of a programmer:
Writing Code: Programmers build the logic and structure of the software products by writing the code in the specified language.
Debugging: Programmers debug the code to find the errors and mistakes to ensure the program can run smoothly.
Testing and Maintenance: After writing the code programmers test it if it meets the requirements or not. There are many ways of testing. They do exhaustive testing to find even minor mistakes. If they face any error then they fix the code for smooth working.
Problem Solving: The purpose of building any software product is the solve a real world problem. So the Programmers analyze the problems and they fix the problems by developing required tool by writing the code.
Collaborations: Programmers work collectively with others. They often work with the designers, engineers and product managers to meet the needs of the users.
What Should Have Been Done Earlier?
In order to become a programmer it is important to start learning basic key skills. In includes the following key skills:
Learning the Basics of Logic: Math is important for programming. It helps to build the logics. Solving puzzles help to build your logical skills more strong. Understanding of flow of the programs and algorithms is also necessary and it helps to write code easily.
Problem Solving: One should have problem solving skills. It helps to build the logic. If you have good skills to solve the problems then you can move in Programming swiftly.
Exploring Technology: Get involved in the computers and new technologies. Learn how to operate the latest machines to run the environment for coding.
Curiosity and Learning: You should have curiosity and love for learning coding. You should be curious about the working and development of the software products such as we sites, apps and desktop applications. It will push you to learn programming. It will motivate you.
Basic Coding: Before starting learning programming you should have basic knowledge of coding. If you have knowledge of simplest language HTML then it can work as a driving force for you. It will help you to understand other languages with ease.
So these are some basic and key skills which should be learnt before starting programming.
Thoughts on Programmers and Programming
I will say that programming is more than a career. It is the mindset. It is about constant learning and problem solving. It is about mastering and adapting the new technologies and tools. It is a never ending learning journey.
Programming offers wide variety of fields of work because of it's high demand programmers can earn good livelihood. So programmers can avail flexible jobs. Programming needs dedication and persistence.
On the whole we can say that becoming a programmer is both challenging and rewarding. But with strong dedication and persistence anyone can learn to code. Anyone can solve problems via coding and can make a meaningful impact in the digital world.
Conclusion
Programming is dynamic field. It offers opportunities as well as challenges. Programmers solve the real world problems. They are the innovators and shake the digital world by creating software products. The journey to become a programmer requires dedication and curiosity. It can be difficult to learn new languages and debugging the code. But these obstacles can be solved with persistence and using online forums and courses. Programming offers flexible professions with diverse career opportunities. And with careful management and determination anyone can learn to code and make a meaningful impact in the digital and technological world.
I invite my friends @patjewell, @kouba01, @suboohi to join this course.
Comments