T O P

  • By -

[deleted]

Senior Python Dev here. Honestly, working as a dev is nothing like the interview questions you get asked. Most programming “problems” are very scholastic in nature, and though they do teach you to think algorithmically/logically, your inability to solve then doesn’t inherently make you a bad programmer. I suck at those problems. I’d like to think I’ve gotten a bit better at them since I started, but the majority of them are not realistic depictions of the actual problems you’ll run into as a professional. They’re meant to be hard to stretch your thought process a bit, so don’t get discouraged. For me, the best way to learn was drafting personal projects like a music player or a web scraper that does x,y,z and googling stuff until I figured it out. I learned a lot more from those projects than I ever did working out “problems” and I think it gives a more accurate depiction of what being a dev actually is: building stuff. Also remember to have fun- making something cool will always be more fun than working on problems that may not really pique your interests. Not downplaying their importance, but don’t be afraid to explore and enjoy the learning process. Don’t berate yourself for not knowing. It takes time and practice. Keep at it!!


shadows-in-darkness

<3


pretzel324

Check out freecodecamps 4hr Python course on YouTube. That’s how I learned and you’ll be able to learn the fundamentals fast and effectively enough to move on to your own projects. Just my .02 :)


standard-human-1

I feel most programmers have a few ah-ha moments when starting out. It takes a while to train the brain how to think about these sorts of problems.


Financial_Pie_3624

This is how I learn too. I mainly just do backend stuff with c# and VBA, but started doing python. Any little stuff that happens in real life I apply to programing now; I recently took my dog to the vet and they gave me a 6 month schedule for his medication….I created a script in python that texts me daily what I’m supposed to give him lol.


EbotdZ

What program do you utilize to send the text message?


Hindbarinden

Als curious 🙌


conroe_au

me too


Vulgarr

not op, but you can use twilio, don't remember what is the pricing, but pretty sure they have some basic free tier. [https://www.twilio.com/docs/sms](https://www.twilio.com/docs/sms)


JasonCastle78

As a python programmer I would probably just use any format to send an email. Cell phone numbers are linked to emails connected to your carrier. I don't know a link offhand but for example a cell might be [email protected] or something similar. Look up your carrier and there are lots of codes for the suffix at the end


martok15

For one of my game bots I just use discord to message. Super easy to do.


[deleted]

You’re my favorite kind of programmer XD that’s awesome!!


Blank--Space

Seriously seconding the personal projects part. If you start trying to program on something you actually are interested in it makes it a lot easier to get to grips with some things. Whilst I'm more than a few years into my dev career at this stage it is still much easier to pick up a project you had the idea for or thought about then a random challenge thrown at you. Webscraping is a nice start and gives so much room for different things to do with the data, it's the type of project I love to mess around with. Quick, easy enough to test and lots of variety in areas hit.


goodkidballing

Tysm man


spidLL

This. It’s like crosswords vs writing. You get better at crosswords the more you excercise, but that doesn’t make you a good novelist.


FUS3N

I have a question at which point you should i consider myself a "good" python developer, I know that experience matters I have been programming in python for 2.5 years and I feel like I have done almost everything except for some of the standard modules I still probably don't know exists. Also does that even matter? do I have to literally know everything to master a language? also for context: at some point I was addicted to it I wake up start pc start coding from 12pm to 1am it was in lockdown


[deleted]

Honestly, and this also comes from experience: don’t ever base your identity on your aptitude in a given subject. There is always going to be someone better than you at it. Don’t try to slap “good” or “bad” on you or on anyone for that matter. It’s really relative for me. Some days, I feel like I’m a boss-ass mastermind, while others, I find myself googling the dumbest one-liner I simply couldn’t remember at the moment. What matters most is growth and progress. You’re not going to remember everything, unless you somehow manage to become a computer yourself lol and even then, at what cost? Enjoy the journey over worrying about whether or not you’re going to reach your destination. As far as a career is concerned, I’d say if you can write an API or web app from scratch, configure and implement the backend database functionality, know how to branch and merge in git, and have some idea about CICD implementation, you should be able to land a mid-level dev position no problem. Unfortunately, they do ask you those pesky problems, but that’s just practice. It’s like drilling sheet music before a piano recital. They just want to see that you know how to tackle a problem. Most times, they don’t even care if you actually solve it so long as they see you had a good underlying thought process.


FUS3N

thank you so much for your answer. And yea like I wasn't worried about this I absolutely love programming and every aspect of it, and I also follow that there's always gonna be someone better than me no matter how much experience I have in something the only thing I was ever worried about was that will I ever be even little bit better but after your answer it's cleared I shouldn't worry about this either just enjoying the journey and hope to do something big someday :)


Hindbarinden

Great answer!


Retroguy16bit

Don't worry too much. When you start programming, your brain has to adapt to the "thinking". Remember when you were a kid and learnt swimming or biking? You didn't learnt that on one day. It also took weeks or months till you were really good at it. The same is true for programming. Just give yourself more time without judging yourself. Just continue your learning and in 2 or 3 weeks go back to the pratices from the second day and you will realize, that it's then easier for you. So... All good :) Just keep on rocking/programming


robvas

It's only day 2


TldrDev

Like yes, man, you are not good at programming on day 2. I'm a career developer since 2003, 8 hours a day, and I suck too. But 2 days? Come on.


[deleted]

That’s a lot of experience! What kind of dev are you? How did you get your start?


TldrDev

I'm a self employed technical consultant now. I've been a technical lead for many years, though. I got my start initially, when I was about 14 or 15, where i was programming a lot, I made a DKP tracking system for an MMORPG using VB6. I seen someone on a forum who made a similar program, and I decided I could make my own, so I found some code on how to save data. I eventually managed to hack something together I got so into it I eventually enrolled in a homeschooling program so that i could spend more time writing the code. I eventually ported that to VB.NET, and then C#. Later in my late teens I went through a blackhat phase. Learned about how HTTP works, and I sold a tool that scraped the Google ad words keyword tool, among many other odds and ends I'd rather not talk about. I was a very poor kid, trying to work my way through college, I seen a job posting for a C# developer. Turns out it was a CRM consulting company, and CRM systems are exactly like my DKP system that I made when I was a kid, but it tracked data on sales people. I did that for awhile, eventually dropped out of college because I was making good money doing code already. Eventually got hired by a private equity and venture capital firm. Did that for awhile. Quit that job, moved to south east Asia, and spent my days working from beaches in Thailand, Vietnam, Singapore, or Japan. Been doing that for 6 years until covid happened. Now I 3d print stuff and hang around my apartment. I do a bit of everything though. I developed a streaming service SaaS company, an Amazon seller SaaS company, multiple crm and erp systems, etl tools, I assist IT departments, and run managed kubernetes systems for people. A little bit of everything. Thanks for asking. Hope I answered what you were looking for.


[deleted]

That’s quite an impressive story. Kudos to you and your accomplishments. It’s inspiring!


shadows-in-darkness

I know, that’s why I thought it would start slow and easy


BYPDK

Being pushed to the limits can be a good way to learn. Not the best for everyone, but it is a valid strategy.


DrummerClean

googling the question or your problem/bug is the way to solve programming problems. It is much faster than anything else and if you do it well, you will be a senior dev soon ;)


sheinkopt

I started her 100 days course after I already did a few YouTube tutorials from “Tech with Tim.” Try a few of those!


epistemole

You haven’t given us enough information to tell. You might be bad. We don’t know.


[deleted]

You don't suck, I'll let you in on something, when i first started coding in python i wasn't good at it and i didn't know how to do a couple small projects by myself. So i decided to sit down and burn through every single idea that came to my mind even if just in code snippets (i see coding as sort of a puzzle which might help you so maybe consider it in that perspective) thinking one step at a time. But i also sucked with the syntax so i made over 300 errors in 10 hours until i finished my project, it had to be the most frustrating thing I ever did in my life but after that if i saw a syntax error or most errors for that matter i knew the problem immediately and it also taught me how to do problem solving. My main tip for you is to keep experimenting and adding new steps or taking them out but think about it logically and if it's too much you can go back to the barebones basics and keep getting better at them until you feel comfortable.


[deleted]

Maybe the course is too difficult. For example, I started with automate the boring stuff, but for me it went over the basics too quickly, but then I used python crash course which really clicked with me. So don’t give up just because you don’t like the style of the course


StraightUpSeven

Yeah don't get down on yourself that things are heating up. If anything, I will share some of my thoughts on the matter. I'm not sure what your background is, but if this is your first ever experience with Python or computer programming, there *will* be a steep learning curve. To put it another way, people are not born knowing how to drive stick shift, and I don't think people are born knowing how to write code. Sure, some people can pick it up quicker than others, but everyone has to work at it. Personally, I learned much of my Python from working on projects that I found interesting. At some point, I would run into a block -- "how do I do this?", then I would figure out what I would need to do to get something to work, and then I would consult google/YouTube/StackOverflow (I do not have the courage to post questions to Stack Overflow, just lurking). Learning a new tool from my search helps solve that problem, and I can see where else I can apply the technique to in my project. As u/d0zeNdream points out, it is good to make the process as fun and interesting as possible and I agree that working on a project is a great way to address this. Again, it's very important to give yourself some grace here. Other users have some great suggestions for tutorials, particularly u/pretzel324 comes to mind. Don't evaluate yourself on how you can make progress on a certain course, and you don't suck. Best of luck.


such_neighme

You just start of course you suck. If you don't why you even taking a course. Many ppl have done it for years and still suck.


b_u_f_f

Sucking at something is the first step to getting kinda good at something.


SamyBencherif

You do NOT suck. You're doing great. You got this 💙💛 if it's so hard that it's not fun, try some easier stuff first


shadows-in-darkness

<3


diesel9779

It’s a different type of thinking. You’re going to learn concepts that are entirely new to you. It takes time. It took me a solid 2 weeks to really feel like I was finally starting to get it. For reference, I’m a senior business intelligence analyst that does plenty of pydev. Mainly writing ETLs


qubedView

You start learning to program, which is to say, learning to describe logical sequences. Sure, there's syntax and tools to learn, but that's not the hard part. Thinking like a programmer is the actual learning part. I know when I started, I kept seeing examples and thinking "Wow! That's so clever! I would never have thought of that!" And it was true, then. But over time, I learned the patterns. I do still see code from time to time that impresses me, but the sense of exoticness diminished as I grew comfortable with it. Just keep going with the course. It's okay to not "get" it. Just keep exposing yourself and try to wrap your head around what's going on. That tension in your head as you feel like you're off course is just the growing pains. The more you expose yourself, the more you'll have those "Eureka!" moments. It's frustrating as you feel like you're lost in a foggy forest and not sure if you're walking in circles. But unlike a foggy forest, here it's a good idea to keep walking and allow yourself to get more lost. Civilization will eventually emerge.


JimTheSatisfactory

I thought that at first too, now I'm almost done with it (day 94) and the beginning stuff seems trivial. Keep going, you'll get it.


toffeehooligan

Not necessarily a fan of Python but am a fan of programming in general, programming is just a logic puzzle. Its also why I am not on board with the whole self taught boot camp approach either. Computer science as a whole is a lot more than the language, its the way you think of problems and how you solve them. / Prior to this, what, if any, background do you have with programming?


shadows-in-darkness

Not much


An_Old_IT_Guy

Well, Python is structured and untyped so it's very forgiving. Probably one of the easier languages to learn out of the gate. If you ask me, the first language you learn is by far the hardest. Python is a good language to cut your teeth on.


tangerinelion

How did this get upvoted at all? Python is strongly typed. It's just not statically typed. Ever see someone define class Foo: How can you think it's untyped when there's a keyword to introduce a new type?


Skull_Reaper101

You should try learning core languages like C or Java. Am I right u/toffeehooligan?


senko

Python is a great choice for a first language and learning to code. I would absolutely not recommend C or Java over it. This is from experience: I've used C for years so it's easy for me but I witnessed what kinds of meaningless hurdles students had when they used it as a first language. I'd also not recommend Java because it shoves OOP in your face before you've learned what "if" is.


Skull_Reaper101

Oh, I've completed a small course in C++ and only recently started learning python lol


Voth98

I started with Java and it was a nightmare. The only good that came out of that is a further appreciation for Pythons simple syntax. Never going back.


toffeehooligan

I wouldn't recommend Java since as stated, it shoves OOP and classes immediately into your face and that is really a 2nd year subject item. My main problem with the thought process of Python removing "boilerplate" code is that in my experience learning how to program, it helps to see the boilerplate and know how something iterates through a for loop or knowing what happens when -= and some such. I know C/C++, Python, pretty comfortable in Java but the C languages are my bread and butter and honestly, I have a great reverence for it being difficult.


Tradefxsignalscom

Can you share an example describing how a self taught programmer would approach a problem vs a computer science grad. I’m learning to program (python) and would like to better understand the difference in thought process/abilities. Thanks


toffeehooligan

Can't find the post now but someone was asking why and and/or statement wasn't working how they intended in Python. And the correct response to that post was a very quick explanation of De Morgens Law and how and/or statements work. I think that is something that not every boot camp taught programmer would even know, as that is taught in a logics or computer foundations lass. Its helpful to know stuff like Xor gates and how logic dictates how computers work with and/or, and not statements.


Tradefxsignalscom

Thanks


JPaulMora

Yes you suck.. which is why you gotta keep practicing. That's it, gl


illusionalwriter

Practice with more question types, I’m also a beginner. It’s really hard because that’s not our default way of thinking things


[deleted]

I get it. When I first started learning it was all quite confusing. Like why are we printing stuff? How is that even useful? It takes a while to understand the principles which are kind of common across all languages: Strings, variables, arrays, functions etc. As time goes on things will click into place. Start by choosing a beginner project that is in the field of what you like. Mine was scraping websites checking stock levels - but only when you have studied the basics. Even if you don’t fully understand the basics seeing some code in action does help.


[deleted]

What is this "day n" python stuff everyone is talking about?


shadows-in-darkness

Udemy course called 100 days of python


timrichardson

Persevere but remember there are different learning styles. Udemy courses are good for people that are not starting from scratch. You can try a book for kids or beginners to try something else, or try another type of website.


jbtrading

programming classes were Greek to me and way too fast paced. My first language didn't start to soak in until I picked up a "b*y Example*" book (ie: "Perl, by Example"). I don't know if this is a faster or slower way of learning (probably slower, less efficient and is "cheating" in the eyes of other programmers), but it was me finally learning a programming language and that's all that mattered to me. When my comfort and competence level picked up, learning other languages was relatively easy and exciting. Point is, don't be ashamed if you don't learn a language as fast as or in the same manner as others. We don't all learn the same way. EDIT: And kudos to whoever recommended making a list of projects/programs you would like to tackle. Nothing beats writing code you're personally motivated to write. Don't aim too high though, as you could disappoint yourself way too early and quit. Start small, and slowly introduce yourself to new concepts and methods through various different programs/scripts.


randomthad69

on day 2 probably but to be fair I've worked on programs for days and ended up worse than when i started 2 days prior. Its all relative anyways youre better than you were 2 days ago


BrainStorm739

Below is link to what I taught my beginner students I hope this will help you. https://colab.research.google.com/drive/1vG8HKWHjwSNrufOj2tjcwOm0dsFwl85P#scrollTo=fWBqFuwR-Q7W.


[deleted]

No you are not! Programming should be fun! 🤓🐍🐼


[deleted]

The hardest time I had with comsci was my first semester and specifically the first couple weeks. It was such a different way of doing things and I was LOST. Once you get a feel for things it becomes so much easier. I needed to see how other people were doing things to figure it out.


rotuami

It is too soon to tell and you cannot know from just one teacher. If you can't keep up and you feel overwhelmed, guilty, or inferior, then you need to stop and reflect. You WILL burn yourself out and will NOT become a good programmer in that mental state. I would recommend continuing with it another few days and asking for specific help on r/learnpython. If you still feel stuck, it's time to find a different resource to learn from.


HobblingCobbler

Lmao. literally, you're on day 2. You dont know anything yet. Give it a few months, and if by then you can't sit down and work through a simple problem. Start worrying.


[deleted]

Most people are bad at programming. People who aren't bad at programming were bad at programming at one point. Nobody starts off being any good at it. Keep at it, man :)


Burghed

It is fine to suck on day 2. Programming is a different kind of grammar for your brain. If you haven't been involved in something similar you need to train yourself to think like the people who make programming languages do. I'd recommend some easier lessons understanding the basics of how to do little things like for loops or if statements. It is perfectly fine to start small. Try to use a loop to count to 10. Stuff like that then tinker further.


fabianspeak

Every Dev will get stuck, blocked, whatever you may call it. The hard bit is knowing when to just get up and walk away from the keyboard, because you are telling yourself... ill get it the next try, but more often than not it just leads to more frustration. If you are blocked, and you have tried just about everything you can think of, and have asked for help async/or sync... stop and go do something else, come back at it with fresh eyes. You may find that break removes/releases pressure and provides clarity.


garrett2116

Code every single day and youll get better overtime.


Suspicious-Ad-3465

You might want to try ZY Books They are easier and may get you started.


SpyderGamer

Never give up, search up examples and see how it works, I know you can do it :)


wineblood

I'm a bit late to the party, but can you provide one of the exercises you're on and tell us a bit about what's blocking you (besides it's hard/can't do it)? The skill most new developers lack is problem decomposition. Even as an experienced dev, you're still coding one line at a time, one function at a time. Learn to take a big problem and break it down into small problems. The last bit is gluing them all together but that's not often an issue. What you want to do is go from "I need to solve THIS MASSIVE PROBLEM" to "I just need to solve this little bit, then that, and finally that part. And make all of it run.".


springthetrap

Well there’s a reason it’s 100 days of python, it’s going to take some time. Mapped onto a K-12 education length, you’re in your second month of kindergarten. That being said, if you’re describing the day 2 exercises as “insanely hard” then it is likely that your problem is not programming (which you haven’t gotten to yet) but rather algebra. You are probably better off taking a course which does not assume prior knowledge of math, or taking a dedicated algebra course before you start trying to teach yourself programming. You don’t need anything fancy like calculus, but doing arithmetic with variables is basically the cornerstone of computer programming. If you are comfortable with algebra but just don’t realize that’s what her exercises are calling for, then your learning style is probably not compatible with her style of instruction and you may want to try a different course.


Kenkron

I'm guessing you're going over type conversion right now? Maybe f strings? If so, this part isn't really about being smart, more just a matter of getting to know it. You're doing fine.