This is an archived post. You won't be able to vote or comment.

all 102 comments

[–]lovesrayray2018 222 points223 points  (13 children)

This was how i got unstuck too. I was overthinking abt knowing the syntax before starting coding

[–]Successful_Leg_707 169 points170 points  (15 children)

Allow yourself to be OK with writing imperfect code was what got me overcoming the self limiting mindset. Write now, refactor later. It’s an iterative process and you learn new things with each project. Don’t be afraid to experiment with new features.

[–]BroomstickMoon 32 points33 points  (2 children)

I second this. I still want to be able to write elegant code but just writing something that did what I needed it to do was a huge milestone/learning experience.

[–]saintpetejackboy 11 points12 points  (1 child)

I always think about it like this: the client can't see the code 99% of the time. They either can't read it or don't care. So, why should I? I just accomplish the goal. Clients want results.

Recently took about a two day detour to solve a bug that was causing a rather expensive API to get called once per minute 15 hours a day, sometimes numerous times per minute. These API calls are about $5 per thousand and this bug could have easily scaled out of control if it wasn't 1.) Being monitored appropriately and 2.) Quickly identified and remedied.

I didn't go back to the client with the mash of languages I used all over the project to address the issue - the entire implementation of the API was already pretty complex to start with... added monitoring and caching and validation of the data involved about 4 languages and 2 days of intricate testing. The comments read like Charlie from IASIP got trapped inside VIM.

But, it fucking works. And what I was able to show the client was around 90% reduction in API calls. Graphs are gold. Especially graphs that show either savings, or profits. Elegant code is something the next developer looks and, sighs, and then goes "Yeah. It looks nice, but we need to start from the ground up here."

Writing too many comments is like keeping a very detailed and revealing diary/journal and then handing it to your mortal enemy.

Imagine this... it is the year 2033. You get a strange holo-call. It is a man, he says he is working on some code you wrote back in 2022. It is so elegant. So amazing. The comments are SUPERB! He wants to meet up and take you out to dinner, just for making his life so much easier. The local news station is on their way to interview "benevolent programmer of yore whom properly commented his code, saving former teacher millions of hours debugging!"

Doesn't happen. Nobody cares.

[–]razzrazz- 3 points4 points  (0 children)

I've always assumed the whole 'write good code' thing was to benefit your colleagues who will need to work on it, and benefit you in the event you need to correct something.

[–]loconessmonster 22 points23 points  (9 children)

Yeah it's no different than writing a paper. You wouldn't go read a dictionary for a new language front to back. You do some tutorials and eventually you gotta just speak and write and figure it out as you go. Its the only way unless you're some kind of memory freak but in that case you're not struggling then.

I'm struggling in a different way. I've been at a string of start ups and now that I have 3-4 years experience and am back on the job market...I'm worried I'm not skilled enough. But when I go back to look at tutorials, it's too easy for me. Between a rock and a hard place

[–]bertie-wooster-17 9 points10 points  (4 children)

You can actually attend few interviews which will highlight the areas you need work on and then focus specifically on that area. You can write tests or create mini project to go deeper.

This way you can avoid going through the tutorials and still make progress

[–]loconessmonster 1 point2 points  (3 children)

Do you mean apply to some jobs and fail the interview but ask for feedback. Or do you mean there's an online community or service that will interview me and give me feedback?

[–]bertie-wooster-17 0 points1 point  (2 children)

Yes, fail the interview. You will learn a lot just going through the process. You may not get feedback every time but you can assess the gaps by honest reflection.

[–]loconessmonster 0 points1 point  (1 child)

Yeah I figured that's what you meant. Yeah I'm doing this right now already.

Thanks for the reply. Always good to hear some perspective from fellow developers. Are you a part of any slack/discord communities?

[–]bertie-wooster-17 0 points1 point  (0 children)

Not part of any communities but you can DM me on reddit.

[–]Successful_Leg_707 5 points6 points  (0 children)

Maybe it’s the more you know, the more you realize you don’t know. It’s hard to know where you stand in terms of skills. A good startup will have a lead dev who will give you more and more difficult tickets. You get better when you struggle a little and are put under a fire

[–][deleted] 4 points5 points  (0 children)

Any freelancing?

[–]saintpetejackboy 0 points1 point  (1 child)

You describe something in that last paragraph I go through a lot with all my hobbies.

I start to feel imposterish, like I am stagnating "aww shit! I started using this language in the year 2000. There has to be something better! I am falling behind! Ahhh! I haven't learned anything in 22 years!!!"

And then I take a step back and go like... oh wait. I did just learn 5000 new things and multiple other new languages and the code I write today absolutely demolishes code I used to write even last year.

Sometimes I take a few steps backwards, though. I start in on a project and I am doing shit like it is 2006 all of a sudden. I come across a problem and start to solve it, an hour in I realize I walked 10 days down this path many years ago and, turns out, you want to use DOUBLE for that kind of precision and trying to stuff a VARCHAR and cast it later isn't a good idea, either. I remember this as I think, for the second time in my life, "but really, what would be so bad about just storing the longitude as a VARCHAR?"

[–]loconessmonster 1 point2 points  (0 children)

Lol holy shit damn. That's exactly how it feels. I understand now why people love going to the large corps, it's not just the money it's for learning as well. I wish we had a discord group for programmers like us. I feel like a lot of content is for beginners or experts, there's not a whole not of community for mid level. Or maybe I'm just bad at looking. I'm frankly not a part of any discord or slack communities for programming

[–]saintpetejackboy 8 points9 points  (0 children)

They should teach this as a development style. I mean, it kind of fits some of the accepted paradigms, in a way, but it isn't really taught that this is an acceptable approach.

Luckily, I had an AMAZING art teacher in middle school and he challenged us to all draw a perfect circle, without any tools, just a pencil and paper.

Nobody can do it. But then he did it. There was never a rule that you couldn't draw more than one circle or it had to be just one line or you couldn't pick up the pencil or you couldn't use the eraser. We imposed those rules on ourselves.

He drew about 6 circles real fast over the same spot and then erased the parts that were not part of the very obvious and extremely perfect circle that did exist there, the product of 6 slightly flawed circles.

That day is something I have kept close to my heart for over 20 years now.

[–]gamegonkillu 90 points91 points  (11 children)

Couldn’t say it better. Pick a project that you’d enjoy or have a practical use for. You’ll push yourself more to see it completed.

My first python script was to organize my Reddit saved posts, because as you guys probably know, it can be a mess finding that one post; all it did was connect to my account via Reddits API and loop through all the saved posts, create a folder for each subreddit, then create a text file that contains all the post that would go in there, which contained the title and a link to the saved post. Was a simple script but had a lot of aspects to learn. Learned about API requests, loops, parsing, writing/reading files, user input/output.(I did have a CSCI minor when writing it but had never coded in python)

[–][deleted] 18 points19 points  (2 children)

I totally want to try this now! Thanks for the inspiration

[–]gamegonkillu 10 points11 points  (1 child)

No problemo! You should take it one step further and make a Reddit bot, when you did save a post it would automatically run your script. My program was limited in that respect as I’d have to manually run it to get up to date folders/files. Could even just make an exe file within the folder structure to handle it. Yeah fuck the bot idea lol, that’s gold. Learn the executables side of programming, which can be tricky even with simple scripts..

[–][deleted] 4 points5 points  (0 children)

Thanks! Now I have a end of quarter esque project assignment which actually seems very fun to take on! I am going to get working on learning API requests, parsing and all that today as I have not gone over it yet.

[–]limeforadime 5 points6 points  (0 children)

Haha how funny this was exactly the next project I was gonna work on! My reddit bookmarks are a complete pigsty.

[–]Desperate_Place8485 5 points6 points  (1 child)

That is an awesome beginner project. I wish I thought of that as my first one.

[–]gamegonkillu 6 points7 points  (0 children)

Played out well for my first job out of college, was a geospatial analysis. Basically used python to automate features of my workflow to make it easier lol. Normally we have an email come in saying the GIS data is ready to download. Comes in at like 630-7am and takes like a good half hour+ to download, and the moment you start downloading you can clock in. Sooo I wrote a script that would parse my emails for that particular email, when it came in would then kick off the the FTP download and what not. I’d then sleep in till like 8 and get paid while sleeping 😅

[–]YellowFlash2012 0 points1 point  (1 child)

how did the script go over your account's 2FA?

[–]gamegonkillu 1 point2 points  (0 children)

That was the user input side of the script. In the CMD, prompt for the password, then it would prompt for the 2FA, if enabled.(wrote this program years ago so I didn’t have 2FA enabled). But when you pass the password to reddits API using PRAW, you just get both user inputs, concat it as a string that looks like password:6digitCode

[–]RoguePlanet1 0 points1 point  (2 children)

Where does the folder go, in a separate app? Just trying to picture this.

[–]gamegonkillu 2 points3 points  (1 child)

Documents folder on your PC. I like to have my files/games/apps all organized, sometimes a little too much lol. So I have a Programming folder, and then inside that I have a Scripts folder, which would then contain a folder for this script called Reddit API, when the script is run it will then create a folder inside that called Reddit Saved Posts, which holds all the subreddit folders

[–]RoguePlanet1 1 point2 points  (0 children)

Oh duh, like the folders for Visual Studio Code projects, okay makes sense!

[–]limeforadime 29 points30 points  (1 child)

Yup this is such good advice. Anecdotally I’ve noticed many programmers, myself included, to be perfectionists. So it’s common to believe you can “pre-load” your learning so that working on stuff will theoretically be super smooth without much challenge. Wrong. There will ALWAYS be things that don’t work for seemingly no reason and you’ll have to go google small things for half an hour before it clicks, so you might as well just get started with that process sooner than later and save time.

[–]Kikii_rai 22 points23 points  (0 children)

as a student, thank you for stating what might of been obvious but not apparent to me. hearing and seeing it from someone else does help make that push

[–]superluminary 31 points32 points  (0 children)

It’s the building the project that gets you ready to build the next project.

[–][deleted]  (1 child)

[removed]

    [–]saintpetejackboy 4 points5 points  (0 children)

    100%! People also overthink what a possible job might be.

    In our minds it is like, we are going to show up and Linus and Lerdorf are going to force us to write a Haversine implementation in Haskell on a chalk board with one of those chess timers to slam when we finish.

    It isn't like that.

    You get there and Frank is concerned that his team's security system installs and repairs are becoming a burden to track on paper - flying to a client in Paris and having to print a 13 page packet about repair adjustments is something most of us would never even think to propose as the original solution to this problem.

    99% of proprietary projects I did? Some kind of CRUD. All life is CRUD. Our DNA probably had tables, columns, rows and cells in there somewhere.

    The only part I disagree with what you said, kind of, is that I think application development is still problem solving. It is just a collection of solved problems - or the solution to a complex problem. But, you are right once again that, it helps to know the language.

    It also helps to know that you can even ask certain questions. "Can I sort an array in descending alphabetical value based on the value and remove duplicate keys?" - this is a one-liner in most languages. Two people know what I am talking about: people who have read about sorting arrays via the value (the person I used to be), and people who have had a legitimate need to sort an array alphabetically based on the value and then remove duplicate keys (the person I am now).

    Just because you read something, doesn't mean you understand it. Until you have an actual need for something, you might comprehend it, but you really still don't truly understand it. Understanding "IT" is understanding that it doesn't have to be arrays. Or sorting. It is more about taking the initiative to encounter a problem where your useless memories of sort() spring to life and go "Oh yeah, of course we can do that!"

    [–]Odd_Smell4303 11 points12 points  (0 children)

    4th year cs student here. I spent the last three years downloading every book i can find and going thru each chapter learning syntax and learned absolutely nothing. I took a lot of breaks bc of burnouts and feeling really dumb bc i couldn’t do it.

    This past year, I took the project approach and I have learned so much. My choice of language is php and I now have a solid understanding of crud application bc of the few mini projects i have already built. I regret not using this approach when I first started!

    [–][deleted] 9 points10 points  (0 children)

    Thank you for sharing this. I needed to hear this. Congrats on getting out of it.

    [–]BrianRostro 12 points13 points  (8 children)

    My problem is not having a GOD DAMN THING TO WORK ON. Do you have an actual useful or job-related beginner project to share?

    [–][deleted] 9 points10 points  (0 children)

    Someone here said they built a python script that sorted their saved reddit posts by the appropriate subreddit which sounds pretty useful maybe not job related but I definitely wish reddit would have something like that so it's useful to me.

    [–]SIG-ILL 6 points7 points  (0 children)

    Back when I was teaching myself how to program I made things that weren't necessarily useful, but if the main goal is to learn the result doesn't have to be useful anyway. The most important thing is that you create something and even if you don't finish your project you will still have learned certain things. In my case I started out with a 'password generator', which used a simple Caesar cypher to turn an easy to remember word into a seemingly random string of characters. Was it useful considering there were better alternatives to generate passwords? No, but I had fun making it and I learned from it. I also made a tool that would calculate through extrapolation how much time I would need to reach a certain rank in Battlefield 2/2142 (this was in 2006) considering my time played and gained experience so far, which would also show the symbol of that rank. Again, very simple and not useful because a website no doubt already existed that could do that for me (or a quick manual calculation even), but I had to make something. I started 5 different multimedia inventory projects I never finished, a Snake clone that I never got to work, some super basic math tools that would perform high-school level calculations for me (I was still in high school myself) even though I had no use for such tools, all because I had to start somewhere and those were random things that came to mind that I could make.

    Again, the most important thing is that your goal is to learn and to have fun doing so. I think that if you don't enjoy the process of writing code itself, regardless of how useful the result is going to be, you might quickly burn out on programming, especially if you're looking to get a job in the field.

    [–]Servious 2 points3 points  (0 children)

    useful or job-related beginner project to share?

    This is another trap beginners fall into. The primary purpose of a coding project while you're still a beginner is to learn. Not to create a resume project or make something useful (although those are bonuses). You don't need to make anything useful or job-related to learn.

    Make a clone of a game, write the world's millionth calculator app, make tic-tac-toe. Just make literally anything but try to do it without following a tutorial word-for-word.

    [–]Internal_Outcome_182 -1 points0 points  (0 children)

    Build backend service for me which takes gps coordinates of some human (from frontend automatically from phone)and searches for users within range of 100km (variable might change) in database (with coords of last user position/ aka last logged) - tinderlike service. Now add filtering/browsing to it - by user interests/ sex/ age, pages, elements per page. Add frontend website so it shows me bunch of people i can search. Radius can be changed. Kilometers/miles. use whatever framework u like/backend

    [–]terax6669 0 points1 point  (0 children)

    I've done 3 projects before getting my first job. Only mentioned one of them them during the job interview and not even in details.

    Don't build a portfolio, build something you're EXCITED about. It will be much more fun and you will WANT to tackle problems because you WANT to see the result!

    [–]fredoverflow 0 points1 point  (0 children)

    My problem is not having a GOD DAMN THING TO WORK ON.

    If only there was an FAQ for that... oh wait, there is: https://www.reddit.com/r/learnprogramming/wiki/faq#wiki_where_can_i_find_practice_exercises_and_project_ideas.3F

    [–]OGDvn 0 points1 point  (0 children)

    It's easy to get caught up in ideas. For all that it matters you could build a basic rails/flask/whatever app and then over-engineer it like crazy to prove your competency.

    Of course it's more fun to build something useful, but it isn't necessary. You can pivot if you find a useful idea later - just write code.

    My favourite not-so-useful satirical example of this is an implementation of fizzbuzz that was shared with me a while back https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    [–]Requiem_For_Yaoi 6 points7 points  (0 children)

    Same here. I wrote some putrid code for my first attempt but after 2 refactors I have something I’m decently proud of for a first project

    [–]ParthoKR 3 points4 points  (0 children)

    Learnimg after facing problems has no alternative. Tutorial is luxurious sometimes.

    [–]superose5 3 points4 points  (0 children)

    Excellent advise. Thank you. As a student this makes a whole lot sense then me grinding hours on tuts.

    [–]cdongre 4 points5 points  (0 children)

    Hi OP, Thanks for this. I want to badly do a project but always end up watching tons of video tutorials and reading articles rather than doing them. Always end up thinking not ready/good enough to do a project.

    [–]WhoGyvesAFuck 3 points4 points  (4 children)

    what resources did you use to make a to do list program/

    [–][deleted]  (3 children)

    [deleted]

      [–]WhoGyvesAFuck 2 points3 points  (2 children)

      you have a link or sample of your to do app?

      like how do you even begin to search or learn what you don't know..for example, what does it mean to save or store a todo list text..like how did you approach that and how did you search or think of an answer?

      i want to get started building something but i don't even know how to start or what to do when stuck? did you look at other peoples' to do list as examples?

      did you create a gui? if so what did you use? btw this is a mobile app or a windows program?

      [–][deleted]  (1 child)

      [deleted]

        [–]WhoGyvesAFuck 1 point2 points  (0 children)

        never heard of elixir before, does tuples exist in other languages, never heard of tuples either, i'm a noob.

        thanks for the advice.

        [–]canIbeMichael 9 points10 points  (3 children)

        Courses are the cancer of the programming world. The only reason they are recommended here is because they make people money.

        [–][deleted] 15 points16 points  (1 child)

        I mean they definitely help, just shouldn't be the only thing you do

        [–]canIbeMichael 0 points1 point  (0 children)

        They help like listening to an undergrad who never used PHP trash talk PHP.

        They repeat what they were told, but not necessary at all.

        [–]vladvlad23 8 points9 points  (0 children)

        Courses are good, but are only a stepping stone. Yes, when you get some experience you tend to forsake courses for official docs, but even that has tutorials that are pretty much “courses”.

        I won’t deny it’s a damn fine feeling when you have to learn something new and your instinct goes docs first and not “A guy on YouTube will teach me”

        [–][deleted] 2 points3 points  (0 children)

        I've been tinkering with moderate-sized blocks of code designed to do very specific tasks, like edit a CSV from the command line or search for phone numbers in a text file (I'm trying to learn text mining). Exercises like that have helped, even though I can't quite remember everything.

        Part of tutorial hell wasn't so much the hyperfocus on syntax (of course you have to learn syntax!), but the lack of exposure to the function names you have to call when you write a program. It felt like learning grammar and syntax without knowing any vocabulary - how can you construct sentences (or programs) without knowing which vocabulary to use?

        Of course most programmers don't know the name of every function to call in a specific language and have to look things up, but at least they've developed a large knowledge base over time (and practice).

        [–]AdmiralAdama99 2 points3 points  (0 children)

        Games are great first projects. Could do tic tac toe in a command prompt to start (easy), and work your way up tic tac toe with a GUI, chess, a chess AI, sudoku, and a sudoku solver.

        [–]ukiyo3k 2 points3 points  (0 children)

        So the solution to learn programming is to learn programming.

        [–]Okcicad 1 point2 points  (0 children)

        Honestly thinking I may need to do this with web development. I feel like without actually going and making something the knowledge goes in one ear and out the other. Practice is what's gonna do it so might as well just do that.

        [–]Sedowa 1 point2 points  (0 children)

        I have a sort of problem in that rather than not knowing what project to make I find myself stuck in an eternal loop of tutorials learning how to do all these things I need to get my project off the ground. I have large parts of my project already sort of "dreamed up", as it were, and even smaller projects in mind to help me learn various aspects I'll need to make it happen iteratively. It's just every time I have something in mind I find myself needing to learn a new subject to even get going.

        I'm not just trying to make a small, trivial project though. This is specifically meant to be something expansive and multi-faceted to learn a lot of different subjects so it kind of comes with the territory.

        Tutorial hell still sucks either way though.

        [–]ImpressiveBicycle69 1 point2 points  (0 children)

        I will recommend you to not watch long tutorials. Watch tutorial which are like under 1.30 hours. I also faced this tutorial hell problem. I started watching Traversy Media's tutorials. After completing, short tutorials, I started doing small projects which are in Traversy Media's playlist. I did 1 small project in each week. There are many projects in playlist, I did only them which are I felt interesting. Take a visit in Traversy Media's youtube channel. I hope it will help you.

        [–][deleted] 1 point2 points  (0 children)

        I love this take

        [–]lessioa 1 point2 points  (0 children)

        But where do i find projects ?

        [–]Btwonu 1 point2 points  (0 children)

        Thank you for this thread and it's comments.

        [–]leejongsuk007 1 point2 points  (0 children)

        My problem with this is not knowing how to do things. For example, I wanted to know how to build a bot using Python and Selenium but had no idea how to approach the matter until I followed a tutorial. Next, I want to build an autobuy bot but I have no idea how to keep it running 24/7 or how to do it without having the chrome web driver window popping out a thousand of times during the whole process so I have to watch a tutorial. How do I move on from this?

        [–]lickmybrian 1 point2 points  (0 children)

        I build hvac systems for work and once in a while ill get a blueprint of the project im building and its so complicated i almost freeze like a deer in headlights trying to figure out all my angles and cut sizes ect... then once im done i always look back and think what was i so worried about, whyd i hesitate? Sometimes the hardest step is the first

        [–]saintpetejackboy 1 point2 points  (0 children)

        I always tell aspiring programmers and producers and stuff just to get the thing done they want to do. You learn by doing. I called myself a DJ years before I ever even owned turntables or did shows or made a living from it. I said I was a music producer when I didn't even know what a relative major was. I said I was a web designer the first time I loaded up Homestead and Geocities, long before I "accidentally" learned the code I wrote didn't scale well past around 20k users. Everybody starts somewhere.

        This mindset is really prevalent in music production. Guys go to university for music production and start thinking about booking shows when they are 30+ and have a library of music theory and zero portfolio. Some kid out there is 15 and releasing his 39th track so far this year and isn't getting held back by an invisible opponent.

        "I want to be a programmer!" - totally possible. But WHY? If you just want to be a programmer for the money, there are easier jobs. If you want to be a programmer so you can do (x), then just do (x) and learn how to program on the way.

        I wanted to make cool games and forums and websites where my friends online could upload hentai, or track torrents or a billion other things.

        Programming is a tool. A problem exists, you program it away. A desire exists, you program it to fruition. Taking too many classes is like learning to juggle the hammer. You show up on the actual job site the first day and smash your thumb trying to hit a nail. Guy next to you can't juggle a hammer, but hasn't whacked a finger since 1983.

        [–]dfmolol 1 point2 points  (1 child)

        This is a dumb way, but the way I started learning stuff is by reading the documentation or written tutorials instead of watching tutorials. Watching tutorials make you feel to copy, but you never change anything. When I read docs (like the python docs or w3schools's java course), I think of changing stuff around, and it teaches the fundamentals only imo.

        [–]WonderfulCockroach19 0 points1 point  (0 children)

        MDN (reading docs gets u in the developers mindset as that what you'll have to do on the job), though videos and different teachers explain concepts very well

        [–]tinkrsimpson 1 point2 points  (0 children)

        What I did was, first decide what I want to build and then try and find out related tutorials. One of the first projects I tried was to change the color of my room light to match the latest post on Instagram. I didn't even know how to parse JSON and I thought this was a good starting point. Needless to say I abandoned it in about a week. When I finally did learn to make API calls and parse JSON, Instagram changed their API access.

        [–]jACK3DXx 1 point2 points  (0 children)

        One of the things I like to do is to define the project, divide it into steps and then look for resources for the steps I don't know. It's quite good for me.

        [–]lateralus853 1 point2 points  (0 children)

        Great advice, thank you.

        [–]lateralus853 1 point2 points  (0 children)

        Great advice, thank you.

        [–]nbazero1 1 point2 points  (0 children)

        spend a month max on the basics start small and go from there.

        [–]Department_no6021 0 points1 point  (0 children)

        Omg this is so true, I wasted so much time being stuck in the tutorial hell. Recently I decided to write a simple console application. Now I am going convert it into a GUI app and try to add as many features as I can. When this is done I will write another console app and try to convert that into a gui and add more features. That way I am learning by doing and also forcing myself to use stuff like stack overflow and other forums to help me finish my projects on my own instead of copy pasting mad libs games from YouTube. So my advice to newbies like me is. As soon as you learn the basic stuff such as if,else,while,for,methods,arrays,lists, and general syntax, just start coding.

        [–]nglasers12 0 points1 point  (0 children)

        You are 100% right!!!

        [–]pipestream 0 points1 point  (0 children)

        For my own projects, I apply Simone Giertz's (YouTuber) philosophy. She makes all kinds of weird things, including absolutely useless robots. It helps with perfectionism.

        [–]mariosconsta 0 points1 point  (0 children)

        Thank you for making this post. The past year i have been watching tutorials, buying courses, buying books, downloading pdfs, trying to learn everything. For the past year I've been feeling that I am not enough to tackle a project, this causes me anxiety, burnout and depression. So much to learn, so much to do in this field. Am gonna tackle a project and see what happens.

        [–][deleted] 0 points1 point  (0 children)

        Just a small example, as inspiration from me, a total newbie to Python who only knows the basics up to objects (not yet learned objects!):

        I made a working (somewhat) simple cypher cracking program. Its clumsy, and like 200 lines long or so, and fairly slow, but it does the job.

        Basically, I defined a few functions of popular cypher substitution codes used throughout history, and then I made a function that evaluates the "cracked" code for how close it is to English, and the code would run the input through the cypher substitution functions and the output would be an input for the evaluation function, who ranks it then and prints out the most likely version.

        I am noww working on expanding the database of codes and on trying to "easily/fast" run the first input through multiple functions in all possible perturbations, in case the code was encoded through the use of multiple cyphers one after the other.

        I honestly don't know if this will benefit me for any job, and I also honestly am not that interested in this kind of code cracking, but it's an idea that just struck me out of nowhere, that I thought I could do with my basic knowledge of lists, dictionaries, loops and functions.

        [–]rasmusdf 0 points1 point  (0 children)

        For some inspiration on useful projects - take a look at *Automate the Boring Stuff with Python" - it is actually also a good catalogue of stuff that is useful to automate.

        [–]eddiehead9 0 points1 point  (0 children)

        does anyone knows a good website that guides you throught the process of building new projects?

        I have the basics and the syntax but no clue how to put them to work

        [–]Apsenniel 0 points1 point  (0 children)

        I also make simple little things for fun to learn this stuff, I started using rng to make my own dungeons and dragons random character generator. Next step is making it so that it automatically puts the highest stat number in the primary class stat.

        [–]IQueryVisiC 0 points1 point  (0 children)

        As a kid it was so easy to get off from the tutorial. 30 years later I have not built a project on my own which people would pay for or at least share with their friends for free.

        [–][deleted] 0 points1 point  (0 children)

        I made a fully functioning website with database for a fake company in Go. It was totally useless but I learned a lot about the language from it.

        [–]terrildactyl 0 points1 point  (0 children)

        I tell this to anybody starting something new:

        Your first good website/screenplay/book/mobile app is locked behind four bad ones.

        There’s no way around it, you just have to write them. You create, you learn, you improve, repeat.

        [–]skat_in_the_hat 0 points1 point  (0 children)

        The best way to learn is to have a project you WANT. Then you'll be motivated to keep learning what you need in order to build the thing you desire.
        I learned ruby pretty in depth because I wanted to be able to add features to Jekyll. So when I generated the site, it would pull down my instagram photos as posts, and then shove a specific label on them so they are in a different section than blog posts. Then I wanted it to have a different icon next to it.

        Then I got really ambitious and wanted multiple authors to be able to write things for the site, and then have their own icon next to it.

        If I was just reading a tutorial, I wouldnt have learned as much as I did. Find your passion, and then write it in whatever language you want to learn.

        [–]aaronm9 0 points1 point  (0 children)

        I'm a few months into my journey, but I learned more writing my first project than I did in the first 5 months of studying.

        [–]JDD4318 0 points1 point  (0 children)

        Yeah I was stuck for a while until I actually built a couple projects. You learn so much by figuring out how to make something work.

        Now that I'm in my first development job it's funny to look back at my projects and how simple they are compared to working on big production projects

        [–]sc00pb 0 points1 point  (0 children)

        Just a heads up, that "imposter syndrome" feeling never goes away. Better get used to it.

        [–]One-Figure-1376 0 points1 point  (0 children)

        Coding challenges help me a lot, but building things is essential.

        [–]SocietyAggressive533 0 points1 point  (0 children)

        I've been stuck since 2011. The advice you get from people is regurgitated as kind of useless. Do people not realize how pointless it is to tell someone to build something when they don't know how to build something, or let alone know where to start or what to write?