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.
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
An aspiring artist using code as another medium for creation. I am currently a software developer in an EdTech company focused on improving communication in the workplace. I work heavily in Ruby!
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.
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.
I'm a software engineer working as a full-stack developer using JavaScript, Node.js, and React. I write about my experiences in tech, tutorials, and share helpful hints.
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.
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.
Just a coder and a dad. I love my family and I love to code!!!! started coding at 11, so I have 25 years under my belt. Still love learning about it every day. Black lives matter!
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.
Projects
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
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.
I am a simple programmer living in the DC Metro area. My main objective is to become a better software craftswoman through continuous learning, mentorship and industry practice.
From humble beginnings at an MSP, I've adventured through life as a sysadmin, into an engineer, and finally landed as a developer focused on fixing problems with automation.
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.
Probably...how 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.
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.
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
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.
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.
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 wholelotmore dumb, and worked out that.
And that the process of fixing and improving is very fun.
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!
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.
Value
Reference
Closure
Context
Scope
Event Loop
etc
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.
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.
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?
Versatile software engineer with a background in .NET consulting and CMS development. Working on regaining my embedded development skills to get more involved with IoT opportunities.
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.
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.
I consider myself as an enthusiast in learning new things everyday, about our history and future as well as the present. My interests: Ancient History, Comparative Religion, Science and Tech, C++
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. dev.to/lucpattyn/basic-programming...
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.
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 🤦🏾♂️
An aspiring artist using code as another medium for creation. I am currently a software developer in an EdTech company focused on improving communication in the workplace. I work heavily in Ruby!
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
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.
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.
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.
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.
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.
I'm a passionate learner and sharer. I always try to give back to the developer community. I create mobile and Web applications by day. Not Batman by night, in case you wondered :)
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.
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.
Hey! I'm Dan!
I have been coding professionally for over 10 years and have had an interest in cybersecurity for equally as long!
I love learning new stuff and helping others
Location
Brighton / London, UK
Education
Edinburgh Napier (Postgrad Cert Advanced Security & Digital Forensics)
Google Developer Expert | Auth0 Ambassador | Media Developer Expert at Cloudinary | Twilio Champ | Technical Coach at SpringBoard | Google Women Techmaker | Postman Supernova | AWS | Microsoft MVP
Just a guy who is passionate about staying current with [modern] software development. Encourage others to contact me for help/advice relating to jobs or NODEJS-based questions or front-end.
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.
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
This sounds more like -- One thing I wish to know before I started working. 😄
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
You don't have to be good at math.
+100000
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.
I do agree, it is your story, hence copyright as opposed to patent.
I like this response, I'm gonna use it later.
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.
This is my favourite answer so far.
Really
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.
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.
relatable!
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.
Projects
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
I can totally relate to this. I spent years accumulating knowledge without actually practicing my knowledge
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.
Funny you said 'excel as a data scientist', because you can do a lot of data sciencing with Excel.
How many meetings you will attend and how important interpersonal skills are vs. hardcore programming skills.
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.
That C# is just Java for people in suits
You realize Java is the OG Enterprise language, right? C# sees plenty of adoption within open source and "indie" now, especially with Unity.
Try every possible way of learning you can find, but stick to the most rewarding and enjoyable ones.
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.
Do you have any recommendations of good code to start reading? I feel overwhelmed by the number of projects.
Are you working with JavaScript currently?
Probably...how 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.
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.
Don't be afraid to google or ask for help
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
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.
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.
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
GOTO
d to a high-number block,if
d 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?)
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!
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.
Value
Reference
Closure
Context
Scope
Event Loop
etc
Do it sooner. Don't be afraid. You will suck at things and it's ok, you'll get better at them.
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.
How hard it was going to be.
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.
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 🤔.
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?
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.
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.
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!
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.
dev.to/lucpattyn/basic-programming...
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.
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 🤦🏾♂️
Being vulnerable is not a weakness and is the starting point for amazing growth personally and professionally.
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.
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.
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.
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.
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.
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.
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
There aren't correct answers, context always matters.
I wish I knew programming was that much fun. So I could start learning it a long time ago.
If you wanna get better, try to solve a problem you don't know how to solve. Don't give up.
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.
this
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.
You will never know everything. And that's OK. Just learn to defer to others when you don't know.
Where the any key is on the keyboard.
To plan and make a schematic of what you want it to do before writing any code.
That I can't do it all.
Don’t overthink about coding languages, don’t overthink about the stack you should learn and don’t overthink!
I wish I knew how smart I was before I got into coding hahaha (kidding)
My value
That I would love to do it
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
There's no minimum entry requirement.
Stop rushing so hard.
You can't get a Software Developer in 2 Days ;)
Its not a dumb question .. ask away
Programming for fun is very different than programming for a product.
i think programming is like palying video games but with words to create something . it's like a mission and you want to complete it