DEV Community

Ali Spittel
Ali Spittel

Posted on • Updated on

What's one thing you wish you knew before you started programming?

Discussion (85)

listnux profile image

That working as a programmer/coder/developer isn't nearly as fun as coding for hobby. Actual work is tedious, you often have to meet requirements you don't like, you often have to follow practices you consider bad, cause it's how the company wants it and that, if you cannot find enough free time and motivation, you might end up completely burned out.

navarr profile image
Navarr Barnier

I code for fun. I think having coding as a job is fun. My biggest hurdle to productivity is doing stuff that I don't particularly want to do. It's killer

jamland profile image
Andy Burkovetsky

This sounds more like -- One thing I wish to know before I started working. 😄

hellovietduc profile image
Duc Nguyen

Totally relate to this. But having coding as your hobby helps you overcome the difficulties as long as you keep your work/life balanced. :D

captainawesomedi profile image
Di Wu

You don't have to be good at math.

edwinthinks profile image
Edwin Mak


So many times I've been told people never tried programming because they said they were bad at math. I feel like programming is a lot more like literature & composition, my job is to express things clearly to both humans and machines.

ozzman profile image
Ozzie Love

I do agree, it is your story, hence copyright as opposed to patent.

mcdtbo profile image
Thabo Pali

I like this response, I'm gonna use it later.

rzpicazzo profile image
Alejandro AP

At least for standard web development it might not be. For research based positions, data analysis etc etc we would most definitely need math, not necessarily to be a prodigy, but at least to have the drive to learn and adapt to it.

murtezayesil profile image
Ali Mürteza Yeşil

This is my favourite answer so far.

faridkhan profile image


ryansmith profile image
Ryan Smith • Edited on

That you don't need to know everything or compare yourself to others. There is no need to feel inadequate because of the vocal minority in-person or online that always have a complex thought, opinion, or question on a programming topic. Learn what you need, when you need it or learn when a topic interests you and you want to learn it. Most students or developers are in the same situation as you and they are doing fine.

christopherarter profile image
Chris Arter

So true. Among my peers it's a tireless competition to see who can be the most clever, and have the most interesting and provocative blog title / tweets.

Sometimes I just want to talk about memes and fantasy football and admit that I google half my docker files.

rubyjane88 profile image
Ruby Jane


dechamp profile image

My self worth. I under estimated my pay value for years. Always taking the lost offer because I didn’t feel I was worth more. Many times seeing those who knew much less than I, making much more. I finally had a coworker years back, tell me that “you need to demand a raise for twice what you’re making or quit and get a job that does, because you have twice the skill set I do and I make twice as much as you”. That was the wake up call I needed.

aore profile image
Emmanuel Oreoluwa

Projects are important very important
Learning programming can be very clueless sometimes if u don't have a goal in mind
With Projects you run into bugs fix the them yourself which as a major part of the learning process

luqman10 profile image
Abdul Qadir Luqman

I can totally relate to this. I spent years accumulating knowledge without actually practicing my knowledge

veedhee profile image
  1. Prioritise self learning over college lectures
  2. Practice is the key to being comfortable with programming
dwayne profile image
Dwayne Crooks

Deep domain knowledge + a little bit of programming skill is more valuable than little to no domain knowledge + plenty programming skill.

Of course if you have both then that's the most valuable.

Take data science as an example. The domain knowledge required to truly excel as a data scientist is Statistics. Then add in a little Python, R or Julia and you're set.

The clearest example for me though is this video,

MS Paint is a simple application. Even my grandmother could learn to use it. But neither she nor I would be able to do what Pat Hines does until we learn the more fundamental skill of drawing.

It's the same with programming. Figure out your interest, study the domain and then leverage programming to achieve your goals.

jacoby profile image
Dave Jacoby

Funny you said 'excel as a data scientist', because you can do a lot of data sciencing with Excel.

lady_phair profile image
Amber P.

How many meetings you will attend and how important interpersonal skills are vs. hardcore programming skills.

codingmindfully profile image
Daragh Byrne

That I would end up making a career of it. It was just something I did out of interest when I was twelve - so I would have paid more attention.

It's nearly 30 years later, and I still do it and they give me money for it, which amazes me.

shane profile image
Shane McGowan

That C# is just Java for people in suits

mburszley profile image
Maximilian Burszley

You realize Java is the OG Enterprise language, right? C# sees plenty of adoption within open source and "indie" now, especially with Unity.

karataev profile image
Eugene Karataev

Try every possible way of learning you can find, but stick to the most rewarding and enjoyable ones.

ryands17 profile image
Ryan Dsouza

I wish I knew how important reading code is. I spend almost 70% of my time reading code than writing. Learning how to analyze and refactor code is one of the most important concepts in software development.

tdannecy profile image
Tim D'Annecy

Do you have any recommendations of good code to start reading? I feel overwhelmed by the number of projects.

ryands17 profile image
Ryan Dsouza

Are you working with JavaScript currently?

djtai profile image
David Taitingfong ubiquitous it is? I wish it had occurred to me sooner how often I interact with things that are programmed: calculators, POS systems, automatic doors, traffic lights, etc...

Once I did it gave me a deeper appreciation for programs, their creators, and their uses. For a while I was only associating programming with websites and databases and games and etc... the stuff I think a lot of people are familiar with.

skoria profile image
Ale Fernandez

take breaks regularly. Don't overwork your tendons. Using the CLI helps. Now I have RSI and am lucky to be ambidextrous so I can switch the mouse to the other hand every week or whenever it starts hurting. We are not made to spend 20-40 years hunched over a computer for 8 hours a day... The problem is you don't get the symptoms until about 10 years in.. It can be terrible as some friends had to abandon their careers when it started getting too painful.

elmuerte profile image
Michiel Hendriks

Absolutely nothing.

I started programming at a young age (25+ years ago), self taught until I started CS at the university. I just stumbled upon a compiler and started playing around with it.

The journey was full of wonder and amazement. The benefit of not knowing anything, discovering all these new things. Making all these mistakes, learning from them.

hardi profile image

In building any program, I wish I had spent more time thinking about the problem and its solution first before writing any code. Back then, I would eagerly jumped into writing code although the problem and solution were still iffy to me.

Somebody (can't remember who) said that "if you can't solve the problem by hand, then you can't solve the problem by code", and that holds true to me. This might sound obvious to many people, but it wasn't to me back then :P.

svijaykoushik profile image
Vijay Koushik, S. 👨🏽‍💻

I started programming when I was 15yrs old when my dad enrolled me in a computer course. Until then I didn't know how to turn on a computer. My first programming language was C. I wish I knew Turbo C++ IDE was a dead software. I learnt C & C++ with that s/w. I thought that it was the only way to write C & C++ programs and I could not develop apps with GUI in those languages

danielkakai profile image

Don't be afraid to google or ask for help

zmercedes profile image
Zoilo Mercedes

That programming is an iterative process. I initially thought that you had to know everything about what you want to make from the get, and that if you don't, you're a bad programmer. Now I understand that it's okay, and even encouraged, to work on little bits of one part at a time, and stopping to do research about implementation is also okay.

jacoby profile image
Dave Jacoby

Context: I went through high school believing that I'd need to have 2 years of high school foreign language, but where I went, the requirement was one year of hich school "computing", which I didn't have. So I took a course on "programming", which was taught in BASIC.

There was a certain amount of "just make a thing, we'll judge it later", and I played roll-playing games, so my "make a thing" was a program to print out random numbers between one and six (a common die to roll), and then I made another that would do between one and eight.

I GOTOd to a high-number block, ifd to determine if it was d6 or d8, did the random thing, and jumped back to print.

And I found that computers are highly deterministic machines and that rand is not as random as you want, by running it a second time and getting the same page of "random" numbers.

So, the things I figured out from that process are:

  • seed your randomness, even if it's for toy values of randomness

  • functions and subroutines are an important thing for your language to have, and if you don't have them, you will try to re-implement them, poorly

  • that was enough of all that

But this is what I knew by Jan 1, 1989.

The thing I (today) wish I (then) knew about programming that these stupid roadblocks were known issues at that time, and that the languages I would use as a professional will have worked these dumb things, discovered a whole lot more dumb, and worked out that.

And that the process of fixing and improving is very fun.

(That's another off-by-one error, isn't it?)

ssimontis profile image
Scott Simontis

Estimates are BS for the most part, if we could accurately estimate software projects the consulting industry would tank overnight.

Find somewhere where you can be happy, if possible. Not everyone has that luxury and sometimes life seals your fate for the time being. But when you are leaving work early to go home and work on your pet project, you might be in the wrong job.

If management doesn't trust employees, your best reaction is to get out of there as fast as you can. I have never seen the situation improve, no matter how hard I tried.

Don't date coworkers. I have gotten myself into some real ugly messes dating coworkers and behaved in a manner I am ashamed of. But these experiences let me learn I have some significant mental health issues that I need to address, so now I need to work on that and find peace not dating for a while.

calebpitan profile image
Caleb Adepitan

I wish I knew how to hack 😎. Hell yeah. Watching it in movies seemed so motivating (and way easy). But then, I just had to settle for programming.

Moreover, I have learnt that; to be a good hacker, I must be a good programmer first 🤔.

nedyudombat profile image
Nedy Udombat

That programming languages are tools in getting the work done, or in building that solution. That it is okay to have a preference on which you prefer to use, but it is wrong to try and throw another language under the bus because you don't like it or because of what you heard about it.

garrett profile image

How hard it was going to be.

dylanesque profile image
Michael Caveney

How to learn quickly and comprehensively, as detailed in books like Make It Stick by Mark McDaniel and Peter Brown. Also, to focus on high-level concept understanding versus trying to memorize EVERYTHING.

lucpattyn profile image
Mukit, Ataul

Assembly language :) . My first two years of programming was horrible, but after doing assembly language course, everything became clear and I became better at it knowing what programming is really about. That's why i believe it is important to teach new comers, basic concept of hardware like how the cpu and ram actually works, how statements like assignment and looping works etc.
That's why I wrote an article for beginners, you may want to check out.

jacobmgevans profile image
Jacob Evans

Do it sooner. Don't be afraid. You will suck at things and it's ok, you'll get better at them.

tallship profile image
Bradley D. Thornton

That we put two men on the moon, with 8k of memory ;)

Seriously. All the krufty bloat nowadays. I recall a time when I could flatten out hold up a card to the lights above that was shredded in a reader (prolly because I stacked too many at one time) and read it off to a keypunch operator...

All the krufty bloat nowadays - memory's cheap, right?

maciekchmura profile image
Maciek Chmura

How exactly heap and stack "works". Many things in JS would make more sense from the beginning if I knew how exactly memory behaves in a computer.
Event Loop

aschwin profile image
Aschwin Wesselius

I started programming when I was 10 in 1975. Does that count? I had no idea about programming careers at all ;-)

My second take was in 1999, the time web development took a surge and HTML, CSS, JS etc. was easy to pick up and be paid for it. If I knew back then, that software engineering is a discipline and certain principles and theories were older than I was, I would have invested in that knowledge.

But hey, I'm a Pragmatic Programmer and I pick up things a long the way. It took me a long time (in solitude) to be where I am now. Now I do value the worth of good software engineering and what it offers to the economy.

ronaldoperes profile image
Ronaldo Peres

Who else wrote your first line of code when you were a child ?!

I used an Apple 2 when I was six, had some basic programs and made some changes to see what happened. That was really fun at the time!

artoodeeto profile image

I thought you should be really good at MATH. And don't compare yourself to others. especially in class, if they got a perfect score, they got the project done early, if they don't want to share their homework or teach you how they solved it. If no one will sit beside you because they think your dumb for not understanding flowcharts. its ok. I was that person but hey out of a 100 IT graduate batch 2012 only 3 has a dev jobs. The top 2 persons in class and me. YES!!!!! TO GOD BE THE GLORY!

olivierjm profile image
Olivier JM Maniraho

I wish I knew English so well before I started programming.
Most of the resources I had access to were in English and not being able to get all the vocabulary was a huge barrier.
I remember it took me so long to fully understand what “mocks” in testing actually were 🤦🏾‍♂️

shreyasht profile image

Just knowing how to code won't help. You need to know how to use the coding knowledge to solve a problem.
Just knowing for loops without knowing their use cases won't help.

peterwitham profile image
Peter Witham

That 80% of the work happens after you think it's almost done and that the words 'edge case' is really where you will spend most of your time.

edwinthinks profile image
Edwin Mak

Being vulnerable is not a weakness and is the starting point for amazing growth personally and professionally.

delko654 profile image

One of your most important skills is your ability to look things up. You won't need to memorize the entire "dictionary" of a language or framework to get stuff done. It's just important that you know what's possible then learn/remind yourself how to implement it.

sample profile image
Ian • Edited on

About programming? I knew nothing when I drew my first line in QBASIC. What should I have known? I think nothing. What should anyone else know? I started when I was a kid. I knew nothing and it was empowering; it left me only with the capacity to be creative, excited and inspired.

akshay5995 profile image
Akshay Ram Vignesh • Edited on

1) No one can be an expert at everything.
2) Anything you imagine is possible in the world of computer only three things you'll require are passion, persistence and willingness to learn.

waylonwalker profile image
Waylon Walker

What I wish I knew before entering mechanical engineering was that much of the learning and creativity are lost when you get a real full time job. Much of what you do is maintaining decade old designs, making very small careful changes, and talking about them for days in meetings.

Moving to software engineering allows me to learn new things every day, be creative, and create new things.

hebaahmadsaleh profile image

There is no magic in programming. It is logic as 1 + 1 equals 2. I believed that not each one can code and that made me late for almost four years learning how to code.

nombrekeff profile image

It's a social job, most times!

Don't expect to be working on your own in a dark room with a hoodie. You will need to talk to humans and maybe even they will talk to you :P

zeddotes profile image


foresthoffman profile image
Forest Hoffman

It's all about repetition. You'll encounter the same situation over and over until it makes a solid connection in your brain. Then you'll forget the solution, but you'll remember how you found it.

danjconn profile image
Dan Conn

You will never know everything. And that's OK. Just learn to defer to others when you don't know.

joshcheek profile image
Josh Cheek

There aren't correct answers, context always matters.

rcmedeiros profile image
Rafael Medeiros • Edited on

That syntax, trends and technologies are transient and therefore irrelevant in the long run. A solid understanding of the groundworks of computer sciences though you keep you confident and reliable throughout the years.

dvincent1337 profile image
David Vincent

If you wanna get better, try to solve a problem you don't know how to solve. Don't give up.

alifhasnain profile image
Alif Hasnain

I wish I knew programming was that much fun. So I could start learning it a long time ago.

felipperegazio profile image
Felippe Regazio

that I was capable, that what I did at home thinking it was fun could be what would support me later. it took me a while to realize this

morales_eze profile image

That I would love to do it