DEV Community

kelvin ndunda
kelvin ndunda

Posted on

Software development journey. Newbie.

As a beginner learning coding and learning to think critically and applying your ideas through code can be intimidating. Learning to write "Hello world" program gives birth to more challenges you have to solve for yourself, or for the company, or for the society by use of code.

It then starts with asking yourself which programming language should i learn first. Most will advice you start with C it's like the mother of all modern programming languages, and another will tell you, no, C is no longer used in 2024 , it's almost irrelevant , don't waste your time.

You then decide to let C go and choose java, then java concepts start confusing and killing the determination inside you as you have no past experience with C, which is a little bit more gentle to beginners than Java.(C being the first stair you have to step on before going to java.According to me , Kelvin)

After you start feeling burdened by what lies ahead of you to learn. You skip java and try python. Python becomes sweet then you see how easy learning programming can be if all languages spoke sweet words like python, Easy , english like. (okay, all languages are english like, but not as much as python)

You learn about machine learning, data science and statistics and how python can be of use. You decide lemme learn some data science since i am good at python, it might help. You now realise you need to learn python libraries like matlib ,sci-kit learn to be able to be productive in that area.

Your lazy self gets bored hearing it has to expand the knowledge it knows on python, and somebody said Machine learning is hard and not all can learn it. You loose your determination and start writing less python.You ask yourself why should i learn it once and learn it again!,can't it just be used everywhere the way i learned it at first?

Okay, you know feel creative and decide to build a website and later maybe a web application. You start learning html, maybe easy at first, then css, easy but a little more content for a beginner. You create your first "

Hello world

" line you feel good just like the first day you learned programming. You then style it and feel good, like, you were made for this.

You decide to be more creative to build a web app. But first, I will need to learn Java Script to bring the functionalities in. You start a new journey. You meet classes and objects in JavaScript which you have little knowledge of OOP (Object Oriented Programming) but still manage to learn. You meet promises, AJAX, async and await and you feel , it's a little intimidating but you manage to gain some knowledge. Bravo !!

You now bring the functionalities into the markup and styling and your site looks like an app now. You go the next level and learn PHP and hey, you realise programming concepts are all the same. You manage to learn it and make your first web app by yourself. You feel proud and happy.

Thinking you are now good and productive, to better yourself more you learn data structures and algorithms and you gain knowledge to apply in your data structures. Your friends now start talking about Frameworks and you decide to learn them, still asking yourself how much will i have to learn to be enough.

You become old enough to realise programming and software development is a field that demands you to be a student forever to be more productive. It hurts but you start with react, quite simple and you can understand mostly everything except hooks. With time you gain the knowledge. You hear about Vue and decide why not. You learn new concepts. Angular almost kills your determination but you are now hard as a rock not giving up.

Aws concepts come to you and you decide to build cloud served apps . Back to the classroom you go with new concepts waiting for you to learn. You almost sleep but wake up and remind yourself your goal to build one of the greatest apps in the world ever used. To reach a wide range of users you decide to learn react native since you have some react knowledge to create native applications. Expo comes in handy to help you in your work. Some APIs from expo nearly kill your determination (ooh, determination, everybody wants you dead:( , anyway, you learn some and realise now the work is implementing your idea to reality.

(And coding continues )...
Protect the determination at all costs :)

Top comments (0)