DEV Community

Cover image for My journey in code

Posted on

My journey in code

This is my journey throughout the years in learning how to code.

1. High School and code

My journey with code started when I was in high-school, we were introduced to FrontPage at first and I was like wow me make websites, me is genius. Afterwards, QuickBASIC came with it's blue screen I thought that I was officially a hacker! and then we moved into Visual Basic where I wrote my first if statement, my first for loop and made my first calculator -tears of joy-, the idea of me talking to a machine and telling it what to do was mind blowing for me. Yet, it took me a while to grasp and understand all these programming concepts.

2. College, code and tears

Then I got into college, and got into depth in programming. I basically studied C++ and Java as programming languages, then I was introduced to OOP concepts, Algorithms, Data Structure and Database. It was pretty tough, all I did during college was crying because I did not get good grades, every semester my GPA would fall, my tears and my self esteem.

3. Work and code

Following that, I did an internship in iOS development using Objective-C.
And for the past 2 years, I've been working as a .NET developer using MVC C#.

I know that am still at the beginning of my career, yet things are not easy for me and I'm doing my best to keep getting better and improving. I tried taking some online courses, and reading few books about coding, but I'm still not getting there.

The Struggle is REAL


Do you know when you like get something? There is a spark in your head that lights up and then you got it, you mastered that skill I am still not there yet but I really wanna get there.

So, do you have any tips for me? Also, I am curious to know how did you guys learned programming (self taught, school, boot camps, online courses etc..) and what was the thing that got you into programming?

Top comments (7)

martinhaeusler profile image
Martin Häusler • Edited

First of all: congratulations for making it this far. Most people do not.

I don't want to demotivate you, quite on the contrary, but I have been working for about 4 years as a professional (almost) full time developer now, and let me tell you this: things will never get easier. The more you accomplish, the better you become, the larger and/or more complex the problems will be that people throw at you to solve. If there is ever any "plateau" on this curve to reach, then I haven't reached it yet myself.

But things are not as grim as they may seem. You have seen a fair share of programming languages. What you need to do next is to look beyond the languages. Forget the syntax and features, free your mind from the restrictions of thinking of a program as a piece of text. Try to think in processes and patterns. "Build" the processes and structures (not the text/syntax!) in your mind. Try to poke these mental models a bit, try to question them, try to break them (e.g. are there concurrency issues? Any threats to data validity? Do you require transactions or locks? ...) and adjust the mental model if necessary. Once you are convinced that your idea is working, only then sit down and think about how to realize it in any given language, then start typing away.

Now this might all sound very esoteric, but it really isn't. It's all about practice. In time, you will be able to do everything I've just described within a couple of minutes for most everyday problems, sometimes you may even do this while you are already typing parts of your program of which you are certain that are going to look exactly this way.

Aside from practice, try to get familiar with the Software Design Patterns of the Gang of Four. Even though you are working in .NET these days, give "Effective Java" a go, the book is amazing and applies to C# in more than 90% of all cases. Learn about the professional code of conduct of software engineers - Uncle Bob Martin describes it in his book "Clean Coder". And while you are at it, you may as well read his "Clean Code", and Andrew Hunt's "Pragmatic Programmer". You will find that these books are very practical and told in anecdotes, which makes them easy and even entertaining to read, but they contain a LOT of very good advice. Finally, you may also want to concern yourself with Software Architecture. Again, Uncle Bob Martin has you covered with his recent book "Clean Architecture". The interesting thing is that none of these books are tied to any particular language. Especially Uncle Bob switches langauges from one example to the next, simply because there are ground truths in how to tell a computer what to do, and they are (almost) universal, regardless of the language at hand.

If you don't feel like reading books, check YouTube for talks by Robert Martin, Josh Bloch, Erich Gamma and the other authors I've mentioned above.

The most important part is: stay curious. Never stop learning. Never stop improving.

laraneedscoffee profile image

Thank you so much for this, this is what I have been looking for and it's okay o don't need someone to tell me things will get easier by time. I need tools and advices to keep going and up for the up coming challenges I'll face in my career. Again thank you! I'll start with the books and see how things turn up for me.

martinhaeusler profile image
Martin Häusler

You're welcome. May you do well on your journey!

theminshew profile image
Michael Minshew

This is encouraging to me too. I'm in a similar boat but I specifically got into programming because it was hard and I like solving hard problems. It's nice to know that although the solving itself gets easier there's an abundance of harder problems out there!

I'll be checking out those youtube channels for sure.

glokicar profile image
Ivan Glo

"... but I'm still not getting there. "

You're not gonna get there soon, believe me.

Just keep it simple for now, don't stress yourself because you don't know or don't understand something. I remember when I started my job, coding in the engine we're working in.. I've just left college and nothing has actually prepared me for this kind of experience.

But with time, I mastered most of it and now feel comfortable with coding new features or fixing legacy issues.

So my advice is, don't stress it, you're young and you're gonna get there, just keep at it.

laraneedscoffee profile image

This has given me hope!

ben profile image
Ben Halpern