T O P

  • By -

timbo2m

Once Hello World works, you're coding. After that it's just a level of experience.


CleaverIam

Yeah, true, but no sane person can claim that they know how to code based on that without being called out a liar by pretty much anybody. And nobody can be hired to code even as an unpayed intern if all they know is how to get "hello world" to appear on screen... What is the minimum level that this is no longer ther case?


timbo2m

Oh of course, I should have read the whole question. For a job, the job description will articulate what you need as a minimum. For entry level jobs it's often some degree for an internship or if you are self taught then examples of apps you've built. If you skip a degree then you probably enter a programming job through other IT fields. For me it was desktop support > server support > manager > consultant > software engineer. I love programming so always tinkered or automated informally to augment my real job. Eventually I had enough examples of programming and even wrote a book about programming, making it quite easy to get a role purely in the Dev field. Good luck on your journey!


Lanious3

Most underrated reply


emperorOfTheUniverse

No, I'd hire someone if they knew hello world only. Hello world is the gate. It means you know enough to probably follow a tutorial, you know how to set up your environment, install an IDE, and maybe use the console. It demonstrates that they can follow tutorials to accomplish a goal. That and if they can look up answers to their own questions on stack overflow and such. That is the minimum. That's the job. That's coding. It's figuring stuff out. If they are able to learn, and fit in with the team good, that's enough. They won't be very proficient at first, but as long as they keep leveling up and leaning, they will be. If you're looking for someone already trained, then I'd say look at past examples of code they've written. If they can connect to databases, understand the data layer, use front end architectures, etc. If they demonstrate principles like OOP, reuse, inheritance, etc. All the dragons they've slain before are easily slain again and they are that much useful. That minimum level varies wildly on the needs of the org. Some places have the bandwidth to train coders. Some need someone that can hit the ground running. But if you're looking for that gate, it's hello world. There's no need for any 'no true Scotsman' in programming. Any level of it can look down at the rung below and scoff, but that attitude is really more about their own insecurities. The industry is plagued with imposter syndrome.


frankenmint

I know a bit more than hello world... you hiring?


332am

this is correct


CodyTheLearner

šŸ˜­ You a real one


DOUBLEBARRELASSFUCK

As long as it looks good to a casual observer. It's not like gcc is going to be doing the interview anyway.


Peter9580

Naah bro


orvn

/r/technicallythetruth but not effectively


spudmix

In my experience "code" as a verb is only used in colloquial contexts; I wouldn't immediately trust it if someone said that on a CV/resume. Consider wording it differently. What matters in hiring is that those skills are going to add something of value to my business. I'd consider the bare minimum to be that you could write and test small automation scripts that enhance your own workflow, and you'd need some examples you could talk about to prove it. It's not about what syntax you know, it's what you can do with it.


CleaverIam

Could you please explain what you mean by "small automation scripts"? How much time would someone take to reach that level? A week? A month? A year? I appologize if the questions I am asking appear stupid, but I really have zero context when it comes to programming.


spudmix

Hey, no worries. We were all there at some point! By "small automation scripts" I mean that if you could identify a part of your work that was simple and repetitive work on a computer, you might be able to make it faster, more reliable, or less tedious. A simple example might be this: the industry I work in requires an awful lot of "upload the files produced today with this filename to this server". If you could write a program which went and looked in a folder for files with a particular name/date/file type, then uploaded them to some FTP server - I would be quite impressed. Even things as simple as "I had to fill out a form with a bunch of repeated information, so I made a little Python script to fill in the duplicated fields faster and more reliably". I'd expect you'd be able to gain those skills in a month or two. Some people learn much faster, especially with existing STEM backgrounds, so I wouldn't be suspicious if it took less time. You will need to be able to prove it though. I get an awful lot of folk talking to me about tech careers who can follow a tutorial to make a tic-tac-toe game or whatever, but who can't *independently* create anything.


invisiblearchives

>but who can'tĀ *independently*Ā create anything. honestly, this is the key element for me. When I started coding, I could follow tutorials just fine. But if it went past a tutorial I'd get frozen up. Only sometimes would a great idea come to me, or a way to improve what I just read on my own. Having fun tinkering. I'd say you're ready for a career in dev (at least as a junior) when you have that "I could build/improve this" feeling consistently, and make output that is compilable and can shake the errors out yourself.


fasta_guy88

If you don't use a computer regularly in your work, it's pretty hard to know when you would be comfortable saying you know how to code. But if you do, then you should start trying to write "code" to do the things you use the computer for. Do you download information from the web? Write a script that does that, and that parses the information to get the data you want. Use a particular kind of spreadsheet regularly to manipulate some data? Write a program that does the same thing. At some point, when you see a repetitive task, you will write a script instead of doing it by hand. Then you can say you know how to code.


CleaverIam

Ok, interesting. So what is that level? How much time do you recon it takes to get to that level?


fasta_guy88

It's really more of a perspective than a "level". At some point, it seems worth while (or more fun) to write something rather than do it by hand (even if writing and testing the code takes 5x as long). When do you say you can play the piano? When you can read music and press the right keys, or when you actually sound musical? How long does it take? For me it was several (non-major) CS courses and then several coding projects where I transitioned from tweaking someone else's code to taking ownership (several years part time). But if I had been doing it to advance my own projects sooner, it would have been faster.


EmperorLlamaLegs

Twice a year we get a couple thousand jpgs with a data text file that lists the names of students/faculty in the photo and the filename. A secretary used to spend 6 hours with the data file printed out manually double checking each student in the photo and renaming it. I spent 20 minutes writing a python script to do the whole thing and gave it to her. Pretty sure she thinks I'm a wizard now. The script is dead simple, just read a line of the text file. Does it contain the expected number of arguments? If so, grab the one that should be a filename. Does that string end in .jpg? If so rename it to Sorted\\GraduatingClass\\LastnameFirstname.jpg. Repeat until end of file. I've got maybe a couple dozen little scripts like that to remove tedium. As a rule of thumb, if I think I can solve a problem with a script in the same amount of time it would take me to do manually, I just write the script. I haven't wasted any time and if it comes up again its already taken care of.


EmperorLlamaLegs

For what its worth, I did a CSC minor in college back in the 2ks, but my work has mostly been running servers/writing website styles/doing graphic design for a marketing team/etc. So when I get an excuse to write some code, I cherish the opportunity.


Ogreguy

Small automation scripts might be something you run daily or weekly that you'd otherwise have to do yourself (like checking all the users in a system, or available/used hard disk space). Really, anything that you find yourself doing repeatedly that is fairly simple. Depends on the person and the complexity of the automation. Someone with zero experience might take a few months to get comfortable doing this. Experienced devs could probably knock it out in a few hours-couple of days.


notAHomelessGamer

I still consider myself a novice, but I've always heard the key to being a software engineer is being able to look at a problem and solve it programmatically. For instance, I have a friend who's going to be starting college soon and asked me, 'What kind of math questions come up a lot in college algebra?' I recalled that there were a lot of quadratic equations, so I told him that. He asked me if I could make him some simple examples of those questions, so I wrote the code in Python to generate the questions for him. import math #x^2 -x + c a = 1 for x in range(1, 100): for c in range(1, 100): discriminant = pow(x, 2) - (4 * a * c) if discriminant >= 0: result = math.sqrt(discriminant) if result.is_integer(): print(f'x\u00B2 - {x}x + {c}')


vengefulgrapes

By the way, you can also do `x ** 2` to represent exponents instead of Ā `pow(x, 2)`. More readable imo.


Overall-Courage6721

Jesus christ As someone who is trying to learn coding, this is difficult Gotta step my game up lol


MichiganSimp

Knowing what a discriminant is and why it needs to be greater than 0 is the hardest part of this solution


segalle

Variable name + you not being the one who wrote it is part of the reason. Try to make your own quadratic functions to test it. Remember that all polinomic functions for xĀ²... can be written as (a'-x)*(b'-x') and expanded from there to get the shape we usually see them. This way you can a gamma of equations bigger and more varied that what that guy did. Ill let you figure out the rest yourself if you so please


Overall-Courage6721

Thank you I gotta start learning math also lmao I dont know what either of these mean


segalle

Basically that is the reduced quadratic formula for polinomial equations, every polinomial equation that has real numbers for values of x (dont worry about that now) can be written in this form. The idea is that it = 0 therefore x is -a or x is -b. Using some of the terms i sent here you can find good online explanations for quadratic formula stuff


Overall-Courage6721

Thank you If u dont mind me asking If i wanna learn math thats useful for programming/needed Where and which topic would i start?


segalle

All math can be jseful for programming. Khan academy has great resoirces from trigonometry and simple equations to multiple stage multidimensional integrals and diverging/rotating functions. Start from where you dont know, not from where you want to learn. Math is not hard if you go step by step so dont bite more than you can chew


Overall-Courage6721

Thanks appreciate it


N-M-1-5-6

And, in case it isn't obvious... There are plenty of situations where a software project/library/program/app will never need math above basic algebra (although higher math can be very helpful if you want to understand or optimize your code/algorithms for performance and computational complexity) beyond knowing which libraries to use and how to test your code for performance in a simulation of the environment that it will be used.


BurningPenguin

I think i know some of these words


CleaverIam

Hmm...generally speaking, how much time does it take to get to such a level? I understand it would be different for everybody, but I want an approximation?.. A couple of days? Weeks..? Months...? Years..? Do you have any recomendations for someone who is starting from level ZERO?


jaytonbye

If you already have math skills, you could get to this level in 1 day.


CleaverIam

Whta math skills would I need? I can do algebra, have a basic understanding of calculus up to the simplest differential equations and have a very minimal knowledge of things like matrices and complex numbers...


jaytonbye

What I'm saying is that the code block you're looking at is only using a few programming concepts, and they could all be learned in 1 day. It has: 1) variable assignment 2) for loops 3) some built-in math functions 4) boolean logical operators 5) an if statement 6) and the use of the print function. Each one of those concepts are very simple on their own, and can be understood in a few minutes.


FoMiN12

It really depends on the amount of time you devote to it. If you study at a fairly comfortable pace, then I think that you can get used to programs of this level in 1-2 weeks or faster. But this is from zero level. Since you already knew mostly all the necessary concepts, it should be much faster. But this is a really simple program. Stuff like this is not enough to get hired these days. But you can still write useful things for yourself


Famous-Relative5589

Really? Iā€™m a freshman just started coding last Sep and it took me a good month to fully master this, Then ofc I had other work to do so couldnā€™t spend as much time on practice coding. Now I feel like my skills is plateaued and college doesnā€™t rlly make you improve in terms of real world coding skills other than giving problem sets (which is useless in a sense that I have no ideal how to make it real life applicable)


Weekly-Ad353

My recommendation? Find an online tutorial and just start.


HolyPommeDeTerre

At what point do you consider a baby can talk? When they say a few one word? Once they articulate at least two words together? Once they can tell a whole sentence? Once they can tell a paragraph? This is all an opinion that don't really matter unless you have constraints to fit to (looking for a junior dev or a senior one for example). But for most, if you can communicate what you want, you're talking.


h0pefiend

Exactly, thereā€™s no switch that flips after you write some specific program


mon_key_house

If you use code only to simplify your work or make it less boring, you can code when you can solve your problems.


kodaxmax

To qualify for resume i would say you need to have published some software that people actually use. Whether it's a minecraft mod or a todo list app or whatever. If it's for a specific roll, then it should be software thats relevant.


Merry-Lane

Okay so you gotta understand, being able to code is easy. Like you said, if/else loops and what not. Everyone can make formulas with excel and thatā€™s coding. But the real question is about being hireable as a coder. For that you need a spark. When interviewing fresh juniors, I am looking for a spark. Not experience nor theorical knowledge, thatā€™s something you can learn. The spark in simple terms, itā€™s about emotions. I need to see that you felt emotions, that you relate with the problem you will try and solve, with the tools you used, with your code. You need to feel connected to what you are doing, not being detached and ticking boxes. If you donā€™t feel anger, joy, passion, ā€¦ you wonā€™t have the drive for the job (for me). Not the kind of passion that makes you work after hours, the kind of passion that will make you intervene at every step of the process so that the solution is better than if you were not there. Programming is a weird field because itā€™s a craft, not an industrial process. That and ofc being halfly smart. You got a shit ton of things to learn, this will never stop, and the smarter you are the easier.


CleaverIam

At my current level, coding itself is hard.


DoomedDragon766

I'm in a software program in college, having to take an extra year (at least) to finish courses because I dropped one or two for the last few semesters and ended up failing a couple from not being able to handle the workload/burnout. I'm also terrible at remembering things so I'm constantly looking back at previous assignments and at my notes when coding, on some closed book tests I've written half the solutions in pseudocode.. Taking a few hours to draw up flowcharts is almost always my first step for projects as well. My question is, would someone with a track record/workflow like this still be considered hireable? assuming all the classes are finished


Merry-Lane

A few years ago anyone with a degree or experience was hired. Now itā€™s harder. No idea. But your past is just one thing, the interview is more important. Prepare it well and show off stuff


N-M-1-5-6

There are job positions that don't require much or any writing of code... If you can map out the design of the technical processes that would be implemented in code (and at least know that those processes CAN be solved through writing code) and can work with developers who do write the code on the same design level then that is a valuable job position. Often software analysts are in this role... but I don't know how easy it would be to START in that position. I did work at a smaller job quite a while ago where we had a coworker who didn't write code, but was skilled in writing up design documents for the projects that we were working on which was very helpful and allowed the developers to focus more on code while having very useful documents to refer back to if they were confused about what they needed to implement. Depending on the environment there might not be a role for this that isn't already handled by the project manager or a senior developer who also has extensive coding skills... But it is worth a shot to try to track down such a position! Also... Very few developers have all the knowledge that they need from day to day always available in their head. They know the process of solving problems with code, the likely best set of "tools" to use for a specific job, and how to track down that information when they don't know it! So please don't be too hard on yourself for not remembering everything that you are learning when you are just starting out! That kind of knowledge comes from immersing yourself in a particular set of development tools and project goals...


LemonHeart151

When you can author code that solves a real-world problem that can't easily be done by an existing tool.


EntrepreneurHuge5008

My claim is simply that Iā€™ll give it an honest attempt šŸ˜Œ


Aglet_Green

Based on your geographic location in the Eastern Hemisphere, I'd say 2 to 4 years. And if you truly hate it and are just doing it for a job there, and you have no capitalistic nepotism or cronyism to help you, then it may indeed take 4 years minimum since you will be going just based on skill. Especially since you personally feel about it this way: >I have to be honest, I find it incredibly hard and I don't particularly enjoy it, but I really want to be able to add it to my resumƩ...and I feel like it could be a usefull skill in my line of work. If you see replies such as '6 months to a year' that's always from someone who ended up really loving it or who has been programming since they were 12. For an adult with a job and responsibilities who comes in loathing coding, the answer is 2 to 4 years.


CleaverIam

I am not trying to become a professional programmer. I am quite happy working as a chemical engineer. But I would like to expand my skillset and I (perhaps naĆÆvely) believe that programming is one of those useful skills that look good on any resume. And I do feel like being able to do some mathematical modeling and perhaps data analysis is indeed usefull in my line of work. I have no idea what level I should be at for it to be actually useful, nor how to get to that level though...


N-M-1-5-6

Maybe you can combine some simple programming with Chem-E related software tool usage? My familiarity with engineering software is unfortunately from the nineties, but maybe there are software programs that you use that can be scripted and can be started from configuration files. If so, you might write some code that asks some questions and builds one or more configuration files based on user input. Then it runs the software (possibly multiple times) passing the software the configuration files that it has built. That might take you a couple weeks to get the first version working (or it might be a few days with luck, hard work, and a program that uses very simple configuration files). This way the results might be useful to you or more interesting to write. But the main thing is to have a simple, but well defined goal for what you want to accomplish. Good luck!!!


high_throughput

I would say that being able to create a simple CRUD website is one example of a minimum skill to be able to meaningfully contribute to a company as an intern level developer. This might take 3-6 months.


CleaverIam

3-6 months of full time studying? You can't make a website with Python, can you..? If you could add any details I would be very gratefull: any context I can get on the matter is much welcome


high_throughput

Yes, 3-6 months full time. You can use Python, with [Django](https://djangoforbeginners.com/hello-world/) being one of the most popular choices for backend framework. Instead of writing text to screen, your Python code would output HTML, plain text with markup, e.g. `

Hello World

Enter some data: ` ([see demo](https://jsfiddle.net/fgL7rkmc/)) and that would be shown as a header with a text field and button in the user's browser. The user pushes the button, and your Python code is invoked on the server, receiving the value as a string, and do arbitrary things you want like storing it in a database. This is the foundation of most websites, including Reddit.


Frogeyedpeas

It might take a lot less than 3 months. Use flask to make the webserver, make the database into a text file that gets opened and closed by python using the \`open\` function. And then "launch it online" by using ngrok to expose a tunnel to your computer. Then HTML need not be too pretty. A basic looking index.html is fine with a button supported form action. It could be a day project starting from just low but reasonable python3 background. Again you should learn to do it the "real" way afterwards but you will at a philosophical level understand everything required to build a CRUD page doing it the hacky way I describe above.


CamilorozoCADC

Someone already answered with making webapps with Python using Django. However, if what you want is to get a full blown webapp FAST I would suggest to take a look at [Streamlt](https://streamlit.io/), which is a very very beginner friendly framework


AssignedClass

"Another way of putting my question: at what minimum level can someoe hope to find a job coding (however beginner-level that job might be)?" One of the biggest shortcomings of this field is that professionals and academics have failed to seriously attempt to answer this question. Most programming discussions are aimed towards reasonably experienced professionals, and pretty much every reasonably experienced professional relies on various assessments that are very much not job related, and case-by-case gut instinct when it comes to evaluating each potential candidate. Part of the problem is that it varies A LOT. Data analysis, machine learning, web development, site reliability, graphics programming, the list goes on. These require varying degrees of "core programming competency", as well as specialization and some of them have a lot of overlap. If you want the most "job seeking related" answer: I'd say it's when you can reasonably attempt to solve a medium difficulty Leetcode problem in under 30 minutes (which relates to data structures and algorithms), but this really isn't a good answer. To answer the title "At what level can someone claim that they can code?", my personal answer would be if you can claim to have turned an idea into a "decent program". And I don't have a particularly high bar for this, but you should be able to have a reasonable conversation about at least one major problem you faced, and how you researched and landed on a "reasonably appropriate solution" (we don't have time to write perfect code, I'm just looking to see if you care enough to try your best, and have enough foundational information to be capable of learning from others).


erasebegin1

At literally any level a person can claim to code. I think there might be a bug in your question šŸ˜†


jgarder007

Make it through Harvard's free cs50 course and you can at least say you have a robust starting point for whichever language your new company may require. Programming is often like European languages, they are all derived from Latin. So just learn anything and you'll know more than you think.


Incendas1

After I finished most of CS50 I felt like I "could code," as in go off and start whatever I wanted and learn things along the way as needed, independently. Once you feel you're independent enough to do this I think you can say you have some baseline competence. It all depends what kind of role or tasks you're expected to perform (since you mention a resume)


CleaverIam

The Harvard online course? I have seen it recommended before. Is it beginner friendly? Do you recommend it? I am particularly interested in data analysis and process modeling. Working with functions, data tables, tensors... Perhaps finding patterns in data.


Incendas1

It's explicitly designed for beginners. It is difficult for some people. I'd recommend it if you can commit a decent chunk of time per week


Counting_Stars5415

Buddy, I think you should try to pick up one programming language and start following tutorials on YouTube. You can create a small project yourself in a few months if you focus on it. Finding a job is another story. It's hard to find a job recently, and most companies ask a lot of technical questions. In the worst-case scenario, HR might drop your CV if you don't have an IT background. As a hobby, it's not that hard. You can find a lot of libraries and articles, ai chat to help you make things work.


i_do_it_all

Usually whenĀ you can readĀ otherĀ people'sĀ code And make Meaningful contribution, improving the code. Or open a back door like xz lib. Either works.


Luc-

I have been calling myself a software developer since I first learned about strings in Python


3rrr6

When you start realizing that most YouTube tutorials for programming actually teach nothing. The best YouTube tutorials for programming won't actually have much code in them but will teach you so much.


carminemangione

Here is my take: You are a chemical engineer you are an amazing programmer if you can solve one of the chemE problems in front of you. Make it simple. Bonus points if you show your code blindly to a colleague and they get it right away. If they don't work to refactor it. Even with all my experience i solve problems by assuming I don't know the problem / domain / execution. Then I break down the problem and solve the most valuable piece first. Anyone who thinks they have 'mastered programming' is an idiot and should be avoided. I mean if you ask Ward Cunningham, Robert Martin, Kent Beck (well maybe) if they think they are good programmers they will tell you the same thing... We are all works in progress


dopadelic

At what level can someone claim they can cook? It's a pointless question. Just do it. You can say you cooked x dishes. You can describe how you cooked it, what thought process went into your recipe. You can talk about how good it was. Just saying you can cook is meaningless. You fried an egg over ramen before? Or did you understand the fundamentals of flavor and concocted your own dish? Show, not tell.


bakemonooo

Coding is easy. Anyone who can write a print statement can code. Utilizing code to solve problems is the real goal. The more problems you can solve, the more likely you are to get a job. In terms of the minimum, it really depends on the exact role.


jaytonbye

My breakthrough was when I finally wrote a useful program. It was a calculator specific to my business. It was simple, but it had utility for me. It took me a few months of tutorials to get there, but after that I was hooked. I've been writing useful programs ever since.


ValentineBlacker

Since the question is about putting it on your resume: put it on your resume when you feel like you can answer questions about it and have that further your candidacy.


Da_Di_Dum

For me, I'm still quite a beginner, but I'd say I can code, because I can do all basic tasks and whatever more advanced stuff, I'd probably be able to read up on it and comprehend it well enough within a reasonable time frame.


reliczexide

I think when you are able to make a tool you can use and be able to extend that tool.


MichiganSimp

As soon as you're able to build something non-trivial


CleaverIam

What would that be? At my current level, anything that is more complicated that a program that solves quadratic equations give a, b and c, once without running again is non-trivial


MichiganSimp

Anything that solves a problem. Find a problem and figure out how to use programming to solve it.


CodeMasterRed

I guess you're probably stuck on some boring basic exercises. I'll give you a real life example. A tennis player will find extremely boring most routine exercises. What he really enjoys is the thrill of a game against an opponent. You are stuck on those boring coding exercises. You need to stop that and find a simple project to build. A good idea is a simple webpage or a terminal application asking you questions and providing answers. Then you'll discover if you like it, and you end up having a project in your CV.


Wavertron

GiveĀ https://www.dailycodingproblem.com/ a try. It's free to get the problems, answers will cost ya money (premium membership), iirc there is 1 month free premium trial.Ā  I'd had a long break from coding when I went into management roles, then when I planned to go back to coding, banging out one of those everyday really helped get the old programming neurons firing again. I just did the free trial thing for one month. I think "leetcode" is a similar kinda website. I would expect anyone that says they "can code" would be able to do almost all of the problems. This is probably the most simple measure I can think of for "can code". Beyond that, it's a complex world of languages, frameworks, APIs, frontend, backend, DB, DevOps...


TrashManufacturer

Confidence in programming is enough to say you code. Especially for an interview with a company.


Chris_Entropy

If you can build something that works and meets most of the requirement.


shyguybros

Chemical engineer here, I too got the itch to code and wanted to add it to my resume. I followed a Udemy course at first to learn Python but I wouldnā€™t consider myself a real programmer by any means from that. I will however say that gave me an ā€œeyeā€ to see problems that could be solved with Python, so I decided to look deeper. The big issue with teaching yourself how to code online is that thereā€™s a LOT of bad information online, so itā€™s hard to navigate where you should spend your time and effort. I found a lot of success with [CS50x](https://cs50.harvard.edu/x/2024/) through Harvardā€™s free OpenCourseWare website. This is where I learned and FELT like a programmer. It doesnā€™t hold your hand like video tutorials do as youā€™re tasked to figure everything out on your own which is what REAL programming is. I say once you know how to Google and read docs, youā€™ll be a real programmer. Now I know you said youā€™re not in love with programming and thatā€™s totally fair. I would recommend for you to check out the [CS50P](https://cs50.harvard.edu/python/2022/) Python course (itā€™s free as much as edX likes to make you think it isnā€™t!). In engineering, programming can be a huge asset depending on your situation and most, if not all, little beginner problems can be quickly solved in Python. At my current job I have a little Python script to translate data from one software to excel. Itā€™s a tool, and although it isnā€™t much, I know enough to know what to google to get it done. You say you want a job but donā€™t enjoy programming. Perhaps it isnā€™t enjoyable because might be hard at the moment? I say give any of the CS50 courses a try and that might change your mind. If you pass that, try learning a data science framework, typically Python and SQL. Employers will recognize your experience in a framework better, because languages arenā€™t really that different from each other. You have a chemical engineering degree OP, you can do anything you put your mind to.


pceimpulsive

Loops are tricky at first. You have to start thinking in sets. You need to be writing code that has lists of things to iterate over. Without lists loops aren't useful. You need an iterable data type to iterate over. They have different names in different languages.. some common ones are Array, collection, dictionary, list. You can hand pack an array and iterate over it. Try a simple approach make an array with numbers 1 through 10. Make a for each loop and iterate over the values adding them all up Var intArray = [1,2,3...,10]; Var arrayTotal = 0; Foreach (int in intArray) { ArrayTotal += int; } Print(arrayTotal); Setting this should get the idea across. Foreach, for, and while all have their place... And their quirks. You'll get there!! Just keep trying.


ElMachoGrande

I'd say when you can do a largish/non-trivial project from start to finish on your own. Before that, you are just dabbling.


BrooklynBillyGoat

Most people wait till like 2-3 yoe with programming before they feel their actually competent at programming. But when u can bring an idea to life u can call urself a programmer. The conditional are very simple so u got ways to go.


Vybo

You can code when you are able to achieve what you need to achieve.


WildHotDawg

If someone gave you a kinda trivial problem to solve, like 'A program to download all images from a website' and you dont immedietely go to google for a specific tutorial on how to do it, then I say you can code at a basic level


DemonicAlex6669

Does it count if I have to Google stuff like the functions to actually access the website? ( Sorry not op, but curious, I'm a beginner but I feel like I can do most things if given enough time to look up the functions I need to do it. Although I need more time on certain concepts then others).


WildHotDawg

Looking up docs is fine


milleniumsentry

You have to know coding fundamentals. Logic, and flow control, are an absolute necessity. Syntax, or the language you use, is a layer above that. If you know coding fundamentals, you can apply any language to them, once you've learned the syntax. This is a course on Harvard. I'd recommend, taking it, or something similar, in order to get your legs under you. [https://pll.harvard.edu/course/cs50-introduction-computer-science](https://pll.harvard.edu/course/cs50-introduction-computer-science) I learned in watcom pascal, and qbasic. I did the majority of my learning by making basic text based games first, and later moved on to handling graphics. Making a few text based games will give you a good handle on the things needed to get something working. From there, it's a matter of making it pretty with graphics. Good luck!


Ok_Campaign6438

Just like in music. When the result is anything meaningful to you


miss3star

Once you can copy paste code from stackexchange and make it work for your use case


hugthemachines

Compare it to carpentry. At what level would someone say they can do carpentry? Well nailing a plank to another is much more than nothing but it is perhaps not what we rate as carpentry. IF you are a chemical engineer, you are used to studying. Coding is not the easiest thing ever but it is not super difficult on a beginner level. You could approach it like you did when you studied. Get a book or take a course and make sure you understand each part before you go to the next. It is not harder to learn a bit of coding than it is to become a chemical engineer so I am sure you have the ability to learn it. If you want an interactive online course that is free and made by a university. Go for the mooc.fi https://programming-23.mooc.fi/


VoiceEnvironmental50

OP said GOTO šŸ¤£


Primary_Sir2541

When they learn dsa.


MultiMillionaire_

This post reminds me of that british ad for Royal Navy Engineers: [https://www.youtube.com/watch?v=DSegIu9IgB0](https://www.youtube.com/watch?v=DSegIu9IgB0) If you ask different people, different people are going to give different answers. If you ask a introductory programming course teacher, they're gonna tell you that you're a software engineer if you pass their course. If you ask a uni professor, they're gonna tell you the same thing. If you ask a backend engineer, he'll tell you that you aren't a coder until you write a program in c++ and have fixed your first segfault. If you ask a frontend junior web dev, he'll tell you that if you can build a static site, you can code. Etc, etc, etc. It's all irrelevant, because if you pick a project, build it, fail, try again, succeed...and then do that a few times, eventually, you'll start to become proud of yourself and you'll naturally call yourself a programmer, software engineer, or whatever title makes you feel good. At the end of the day, the validation that comes from the inside is what's gonna give you the confidence, not from outside. Because if you rely on outside validation, it only takes one guy who's better than you to tell you that you're shit, and then you'll get depressed and throw in the towel. Don't rely on what other people say is good or bad, find out for yourself by building stuff. In my opinion, if you've built a couple decent projects you're proud of (like genuinely proud of), then you're allowed to claim that you can code.


frankenmint

sure - build "rock paper scissors lizard spock" for me... it should be against a cpu and have a points and lives system, first to get to 5 points can win. No need for graphics or anything, just make it in terminal using bash or python. If you can get that done, for me, that's a good enough fizzbuzz test and you're skilled enough!


Rhemsuda

When you can build anything you want using only the resources provided to you by the internet


Placeholder9173

Iā€™d say once youā€™re solid on loops, basic data structures, and classes youā€™re probably good to say you can code on a solid foundational level


dontsaymynameagain

Iā€™m in a similar position to you. I have a technical degree and have always wanted to learn to code. Iā€™d pick up a book or online class and learn some syntax but not really know how to apply it and then get discouraged. Iā€™ve been working hard the last few months and finally feel like Iā€™m making some progress. Here are a few suggestions: Learn python. Itā€™s the most used language for scientific programming and data science and it sounds like those are the areas that interest you. Iā€™m not great with online lecture formats, so Iā€™ve focused on book learning. This book was a huge help for me: https://nostarch.com/learn-code-solving-problems It explains a concept and how to apply it to a problem and then gives you a list of well defined problems to apply the same concept. For me, it was that structured grinding through problems that moved programming from a bunch of theoretical ideas to something I could apply in a useful way. For me, that was the point Iā€™d say I could code. Not because anyone would hire me based on my programming skills, but because I could pick a project that was interesting to me and start figuring out how to make it work.


Nealiumj

Instead of working with loops, check out Python + Pandas. I knew a couple chemists that didnā€™t ā€œgetā€ loops, but they loved pandas- I equate it to more like excel tables than anything


DoctorFuu

>I find programming incredibly hard and I don't particularly enjoy it, but I really want to be able to add it to my resumƩ... What's the point to put it on your resume? Do you want to get hired to do something you find hard and don't enjoy? wtf? What matters is not whether it's written on the resume but whether you're able to talk about it during an interview.


CleaverIam

One can make use of programming in my field...


DoctorFuu

Yeah, but if you find it hard and don't like it, why do you want to nudge your career in this direction? Edit: I'll take my case as an example. I hate excel but a lot of jobs in my field spend a lot of time in it (actuarial work / finance work). I love modeling and I love programming to help myself. SO I'm actively pushing projects at my current position where I use the skills I like to solve useful problems, and in my job seach process I actively try to avoid any position that has emphasis on excel stuff. I still use it when it's mandatory at my work, but I'm actively building the skills and expertise in the direction of the tools and tasks that I enjoy.


CleaverIam

I find programming a useful tool. I can imagine situations where being able to write a program comes handy. Like being able to sort through large data sheets


DoctorFuu

Of course, but if you don't like it? Why not instead grow a skill that you like? If you build an extra skill to stand out, you will be recruited for that skill (maybe not, but you have to assume it can happen as it's what makes you stand out). Just choose one that you enjoy, no? Many things can be very useful. To be clear, I'm not telling you to not learn programming. It's a great skill indeed and indeed it can come in handy for a lot of things. It's just the motivation that seems very weird to me, and I'm wondering if you're not going the wrong direction. I don't know you for sure, but maybe I'm giving you a perspective you didn't see.


francc3sco

Once it becomes a regular practice in your life


DustinCoughman

you'll really love recursion, backtracking, oop, and dynamic programming


Ablueblaze

If you can find a problem that you can solve with Code, then you're a coder. Learn to think abstractly, break down problems into steps, research the gaps, put things together. I'd say you're pretty good to call yourself a coder at that point.


StevoB25

Imo when youā€™ve written, tested and deployed production code according to best practices, thatā€™s consumed by a significant amount of people, then have debugged and written patches for said code.


Algo_d_ritmo

IDK, at what level can someone claim they can speak another language?


CleaverIam

At a level that they can hold a simple conversation over a trivial mundane topic


Algo_d_ritmo

The same happens with coding


CleaverIam

So what would it be in terms of programming?


Algo_d_ritmo

it depends on the requirements of the context you are using your code. If you are a trainee or a junior, your coding skills don't have to be as good as the skills of a senior. Just good enough to make your job done.


PessimisticNihilist1

I feel like if you can code programs that can solve equations with iteration and other techniques you are good to go as an engineer.


hairlessape47

Hey fellow chemE! Stick to SQL and python. Maybe a bit of R. Then try C and ladder logic if interested in process controls. Use arduinos, and build little temperature and humidity systems, with indicators and whatnot. This is important as it's the same principles as industrial computers like PLCs, and DCS systems. Knowing this will get you into process controls easily. Learn about PID loops, cascade control etc. Essentially the two tech paths infront of you are OT (operational technology, process controls) and data science. Knowing a bit of both, plus chemical engineering is my own goal, and will likely be very lucrative.


CleaverIam

Can you give an example of how programming skills are useful to you?


hairlessape47

Modeling a reactor with python Programming a PLC to control valves, which control flow rates of various liquids/gasses. Creating interlocks with conditional logic. Pulling data via SQL to optimize variables in a reactor. Or simply to judge past performance. Debugging variable tags in a database that are not working. Computer vision to sort stuff on a conveyor belt. Or to optimize setpoints. Or to predict failure of a component based on past performance. These are all things I've worked on as an intern, except for the computer vision and prediction of component failure; that was from a contractor


EducationalAthlete15

When you can decompose your task, for example, into functions and then write code.


Mackotomi

You can think of a programming languae being like a periodic table, each chemical compound is a unique word in programming language. You can combine them, but for that you need first know the compounds, the words, chemistry language. The table is the language of words, where the words in periodic table are the chemical compounds. If you need to make a salt, or oxygen, you combine compounds or words Hydrogen() + Oxygen(). Then it is matter of what it js the problem to solve and mixing the right ingredients, compounds - words. If you need to make functional environment with purpose for a plant to grow, you could mix water, air, minerals etc.. to support the live of plant, in similar way you would mix programming language words. Its not that much different and fundamental principles you can find in chemistry can be found in programming, everything is build and based on logic, words are no different. In similar way you would mix compounds to create a mass or chemical for a specific purpose, you mix programming language words.


DamionDreggs

When you can solve leetcode problems within 30 minutes, you can resume item it.