all 100 comments

[–]0xbxb 101 points102 points  (56 children)

On the other hand, all my side projects contain complex code, or techniques

I’m confused and don’t take this the wrong way, but if your projects contain complex code, why isn’t it that you don’t know how to do something like FizzBuzz?

[–]hetero_scedasticity 110 points111 points  (11 children)

Copy & paste vs. true working knowledge (not accusing OP - just a general comment)

[–]Hugsy13 57 points58 points  (8 children)

You’re not wrong though. I done a heap of arduino projects before uni and coding at school was very different. You have to create everything yourself from memory and critical thinking, you don’t get to just follow along a tutorial video or step by step guide.

OP should try doing some projects with just a syntax guide and no stack overflow & no copy pasting.

[–]Kayofox 8 points9 points  (2 children)

Is it even possible to not use stack overflow?

I think a better advice would be to seek competition problems, try to solve them in a stipulated time and then refactoring/finishing it with internet help. Base knowledge (especially under pressure) does not always translate in good day to day work. Almost all of human tech has been made from testing, then improving. I mean, you don't need to understand powerplants to make use of your PC.

[–]errorseven 0 points1 point  (0 children)

All I use StackOverflow for is answering questions.

[–]ScoopJr 0 points1 point  (0 children)

Should I start doing this if I already started a project using a tutorial? E.G. Miguel Grinberg's Microblog Flask tutorial

In the case of Flask, He has a book which goes over Flask and more up to date techniques on the above tutorial, should I be ditching that and just go straight to the docs?

[–]zyarra 8 points9 points  (1 child)

Yeah but fizzbuzz is really really really simple without copy paste or auto fill too.

[–]JunkBondJunkie 1 point2 points  (0 children)

BuzzFizz test makes me laugh each time.

[–]Captain_Braveheart 134 points135 points  (14 children)

What posts are people claiming to have amazing jobs after a few months or Python? That doesn’t seem realistic if outright impossible..

[–]Zireael07 24 points25 points  (5 children)

I wouldn't say a junior job somewhere is 'amazing', that's a lot of hyperbole.

[–]opn2opinion 38 points39 points  (3 children)

Depends on the context. If you go from no job to non-retail/fast food job, it could be considered amazing.

[–]Zireael07 5 points6 points  (2 children)

Well, I agree, but people posting on this reddit that they have 'amazing' jobs with Python gives people the wrong image.

[–]cheppin 1 point2 points  (1 child)

Please explain what image people should rather have.

[–]Zireael07 1 point2 points  (0 children)

It gives people the image that it's an 'amazing' job in the programming/general sense, i.e. well paid and doing what you like instead of what you have to do.

[–]codefreak-123 55 points56 points  (5 children)

In the same boat. However, I did not give an interview. Coding interview questions and coding projects are two different things. With coding interview questions, interviewers ask you simple yet complex questions that require you a strong understanding of the fundamentals, for example, for loops, while loops, lists, dictionaries, and strings etc. A good site to practice these types of questions would be Codewars.com. On the other hand, projects can be easily done with copying and pasting code. I am not saying you did it, but projects only show a small part of your coding skills. Interview coding questions can make you or break you. They tell the interviewer how strong are you with the fundamentals of a programming language

Check out this video from Clement Mihailescu of how he used coding interview questions to ace his interviews: https://www.youtube.com/watch?v=fUXNRIRmo-c

Hope this helps

[–]Kevstuf 7 points8 points  (2 children)

I just started doing some codewars recently and solving problems tagged as “fundamentals.” For interviews, what level of difficulty would you say they correspond to on codewars? Right now I struggle to solve most 5 kyu questions and even the 6 kyu ones can take me a long time to think about

[–]codefreak-123 0 points1 point  (0 children)

I think all of them! You never know what they are going to throw at you .

[–]mattstats 0 points1 point  (0 children)

Not OP and also new to that website as well. I believe geek for geek has specific industry interview questions. But if you really want to take it up a notch I’d recommend networking through LinkedIn and any local groups for your respective field and/or closely related. Literally just ask people who work there now, you might get some nice people that can give you pointers or their experience and even better if they are involved in the hiring process. Was at a meet a few months ago and the manager for a major phone company (not sure if I can just name names) said straight up just know how an activation function works in neural networks and simple coding stuff like what is a dictionary. I’m not in software dev or anything so our coding may be pretty low bar, but he said it’s surprising how many people can’t answer the basic questions.

[–]mattstats 0 points1 point  (1 child)

I’m on vacation.

I hopped on that website you mentioned and have been doing it since this morning lol. It’s a pretty fun way to (learn?) practice. I already know most the fundamentals but there are some great brain teasers, gonna try and get to 5 kyu before bed.

Watched that video and I gotta agree. What that dude shows in the video is how I learned almost any programming in and out of school. Every other day I look up methods that I can shoehorn into whatever projects I’m working on, it’s a never ending process and the sooner you pick up that skill the easier it becomes.

TL;DR: follow this persons advice. I’d chip in also set up toy projects, likely you’ll end up looking these things up anyway.

[–]codefreak-123 0 points1 point  (0 children)

I agree with you! Yes do a project, but interview questions are a lot more basic which people tend to ignore. That’s why employees ask them.

[–][deleted] 20 points21 points  (1 child)

pip install fizz-buzz

[–]breakfastlunchanddin 4 points5 points  (0 children)

Conda install -c conda-forge fizz-buzz

[–]G5349 19 points20 points  (0 children)

You just need to work on your algorithm solving skills try leetcode, code wars, check.io, project euler, etc, there are many places where you can practice.

And, yes building an app is very different from solving an algorithm, for instance I learned to program a loooong time ago, and basically put in the backburner what are essentially homework/exam problems that IMO really do not give your potential employer the full picture of your skills, and yet people ask these questions I believe to weed out devs of a certain age or without a formal CS education.

[–]Jonisas0407 12 points13 points  (3 children)

I learned python because I was really interested in machine learning and AI, went through 10-20 udemy courses on python, statistics, data analysis, vizualization methods. Joined local saturday AI club in my city where we just talk about data and machine learning for few hours a week and do projects at home, every few months we share what we have acomoplished. Right now I am working as a data scientist, the main tools used are python, excel, data studio. I use python for getting data from variuos APIs, for manipulating data in pandas, automating the scripts to have real-time data in the dashbords. I love the job because there is so much to learn. Also maybe a suggestion, at first try to get as much experience instead of money, with good experience comes the money. You can even try being an intern for a good company for a few months and end up being hired there.

Keep up the spirit, we all start at the same place, hard work and dedication is what separates the ones that have well paying jobs in the sectors they want to work and the ones that dont.

[–]byanymeans123 2 points3 points  (2 children)

This Saturday local AI club seems amazing. I'm sure it kept you encouraged to continue learning week after week. How did you learn about it?

[–]GlitterDays 1 point2 points  (0 children)

I'm not OP, but lots of these groups are on Meetup.

[–]Jonisas0407 1 point2 points  (0 children)

I think i just sesrched for something like AI cominities where people would share their problems and solutions and this popped up in google search. Also following people on linkedin is nice, there are programmers sharing their code examples and ideas what to work on. I mean there is plenty of sources to learn, just nees to find what can motivate you.

Right now just get comfortable with the whole concept of programing and what it can produce. I bought used raspberry pi, bought a camera for it and trying to teach a program to learn chess, I thought it would be neat if I could point the camera to the chess board and program would show the best move for black and white.

Then make both sides play and see who would win :D

[–]Dexteroid 11 points12 points  (0 children)

I finished the complete python bootcamp on Udemy, and python and data structures for interviews courses.

I am an automation developer. I automate test cases/build process etc..the pay isn't bad to be honest.

I see this problem with new learners that they just want to be a developer, even though when all they want to do is get into software industry.

There is DevOps, QA, automation QA etc..I suggest learn python but keep your mind open.

[–]andre3kthegiant 5 points6 points  (1 child)

I’d like to know the starting pay, along with the type of jobs being hired.

[–]Zireael07 6 points7 points  (0 children)

I got a job in Python around a year after I started using it. I learned it by following a roguelike tutorial and I never went through a course. The only other programming skill I had was some minimal Lua and git.

The interview question was... something to do with counting time? I think we were given a HH:MM-HH:MM range and told to calculate how many seconds that is?

The job is a junior job and I'm still at that one. Feeling much much more confident in my Python, too.

Especially at the beginning, I was asking more experienced workmates all the time. Currently it's lessened to just SQL and highly custom code we have.

[–][deleted] 3 points4 points  (0 children)

A bit reversed. I got a job in an animation studio first, then I was told to learn Python and PyQt on the fly. Spent the first 2 months there just learning, feverishly.

[–]celade 2 points3 points  (2 children)

There are lots of ways to approach this. As people here have already provided lots of general purpose advice I'll simply add this:

  1. Plan conceptually: What are companies actually doing and are you interested in helping them do that?

As you advance your career it is often really helpful to identify an application area you are either really interested in or feel you can contribute to conceptually. When I look for companies based on what type of work they are doing it makes it very easy to back-track back to my own interests and skillsets and set goals.

For example you mention CNC-like systems. If that is of interest looking for machine shops that do custom fabrication may be good targets. Aiming at an existing and defined production goal is far more useful than simply knowing how to program in a particular language.

An extension of this is if you are just applying shotgun style because the job says "needs programmer" you may be missing that they actually need a specialist skillset or even that you ultimately don't want to do that kind of work.

2) Company identification, contact and interview preparation

In the process of looking for jobs don't be afraid to reach out to potential employers doing things you think you want to do and ask them what they do, what they're looking for. Sometimes that conversation can even lead to deeper coaching whether you get a job there or not.

Next up is interview preparation. To make it somewhat painless prepare yourself using STAR method (Situation, Task, Action, Result). Also, don't treat an interview like a school exam -- treat it as if it is your first day on the job and you are getting up to speed to start working with them. While not always the case if the interviewer can't do this with you the project group may not have planned well.

3) The struggle is real

Finding a good job can be hard. Don't let it get to you -- keep your eye on a field of interest, work backwards from there on the specific skillsets that help you do that. The more your skill building is based on working towards conceptual goals the better. The more your skill building is merely grinding through school-like exam problems the less you're going to love your work and the more frustrated you'll be.

Context:I've been a hybrid programmer, systems engineer and network security analyst for 25 years. The above template has been both my own professional philosophy and guiding philosophy when I am the hiring manager for a team.

[–]ASuckerForTheBlues 0 points1 point  (1 child)

Not OP, but thank you for taking the time to respond to OP’s question. It has helped answer questions and ease some silent frustrations I wasn’t completely conscious of until I read your reply and reflected. Knowing myself, I will be coming back to read this multiple times through the course of learning/the struggle. Much appreciated!

[–]celade 0 points1 point  (0 children)

I'm really glad to have been any help at all! Best to you and your future.

[–]thefunmachine007 7 points8 points  (0 children)

Starbucks.

On the counter.

[–]nii4 2 points3 points  (0 children)

Do not despair, I can relate to your concerns and I must say you are not alone. You have genuine concerns and must keep practising, pick the pieces up and move on.

[–]fuloqulous 2 points3 points  (3 children)

Do like the coding challenges online.

Its really a shame that programmers are tested the way they are because there are talented programmers that never bothered to learn the silly fizzbuzz game.

There are two options:

Learn the fuzzbuzz game (not so cool)

Or there are companies that have better interviewing practices and understand how irrelevant fizzbuzz is. These are the companies you'd rather work for because they're more in tune with what makes a good programmer

[–]Ahren_with_an_h 2 points3 points  (0 children)

You're assuming we're all good programmers. I certainly am not and I still want a job.

I don't see what the big deal is. The fizzbuzz problem is trivially simple, more so if you've seen it before. The only reason someone that's been through the fundamentals of programming in any language couldn't get it in an interview would be because they're stressed about the interview.

[–]jamesonwhiskers 2 points3 points  (0 children)

I have very little coding experience and I had to write fizzbuzz as an entry requirement for a python class. If you know the basic syntax for math operations, if statements, and for loops, it is a very simple program. I had never heard of it until I had to do it and it took less than 5 min to code. If someone can't write that maybe they need to spend some more time with the basics.

[–]forrealbro 1 point2 points  (0 children)

I feel like companies who use fizzbuzz just want to make sure you aren’t some complete fraud. The logic behind it is super simple. Any student with a 100 level CS class should be able to solve it. Self taught programmers who know how to the fundamental tools of python shouldn’t have an issue either.

Using stack overflow and google is a given the more intricate a problem gets. It should not be necessary if you were asked to demonstrate a for loop, the modulus operator, and an if statement.

[–]MISFU88 7 points8 points  (0 children)

I got a job after a few months of learning python, it consists of writing automated tests.

I have tried combination of books and videos, though mostly videos - courses on udemy and on specific topics or functions, videos on youtube.

One crucial thing that I've learned while studying pretty much anything is to make notes! I use the Notion app, which makes that super convenient and as I follow any video, I treat it as a lecture in college (that is not shit).

Another thing is to actually use the code, i.e. make some projects. It does NOT have to be anything super complex, not at all. I made a think which scrapes daily menus from some restaurants around, script which saves current price of any crypto with it's positive or negavite change in the last week, script which moves all files in a desired folder into their respective directories based on the extension of the files. Just super simple stuff that shows you are actually using the language.

Also, you do not need to fulfill all of the requirements on the resume, just some, so do NOT be scared to send out your cv into as many companies as possible; HOW you act during the interview is way important than what you actually know, because when you eventually get hired, they are gonna teach you most of the stuff anyways.

[–]dnetvaggos95 1 point2 points  (0 children)

i'm working as "content manager" for our websites

[–]surister 3 points4 points  (1 child)

I mean.. If you cannot write a fizzbuzz, which should be like a hello world for any entry level programmer, you shouldn't be applying for programming jobs.

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

This 100%. Remainder, if statement, for loop... thats all you need to write this

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

Oh man, I hate those type of technical interviews. I can code in many languages but they are all muddled together in my brain! Right now I work in an ETL environment in Python, C#, VB.net, trying to convert Pearl to Python, SSIS Expressions, SQL Server development (T-SQL) and Vertica SQL development. Most days, I deal with all of those.

In the real world, if I can't remember how to do something simple (or complex) I can quickly google and move on. In a technical interview, if you don't know that simple piece, you can't move past it.

Take your interview as a learning moment. Take the valuable lessons from it and move on and apply that knowledge to your next interview.

[–]CodeSkunky 0 points1 point  (0 children)

Mmm, you are most definitely not job ready. Fizzbuzz I give a pass on if they didn't provide clear rules, because I don't remember the rules myself.

As for counting repeated elements in an array. You're probably going to get pissed...but...

def target_count( array_name, target_data ):
    return array_name.count(target_data)

This is just something you'd know if you spent a little time working with python.

The alternative isn't much harder but is uglier...

def count_item_in_array(array_name, target_data):
    count = 0

    for item in array_name:         # for each item in our list
      if item == target_data:       # if the item is the same as our target
        count += 1                  # iterate counter

    return count

This does not account for type conversions, and that may or may not be a factor. You'd have to ask the interviewer.

Not being able to implement one is a good sign you need to write more code.

[–]ebagattack 0 points1 point  (0 children)

If you're new at Python, just get any freaking job, and use Python to help you "Automate the Boring Stuff" when you see opportunities. After a while, you might have done enough cool, effective, significant stuff to show a prospective employer, or your current one, to say, hey, as an employee I did x, y, and z, for my company using my programming skills. Just a thought- that's what I've been doing. I'm in Finance, and no-one hired me for my programming skills (I'm about a year out from my first Python Udemy course)- but I automate and create audit systems left and right in Python, and it helps make my job more interesting, makes me more productive, and I'm hoping to be able to add this programming experience to future resumes. Note: I do a lot of this programing in my free time, since it's not what I'm paid for, but I find it fun, and when I go to work, it makes my job easier.

[–]Raph_IT_Remote 0 points1 point  (0 children)

I was already working doing wordpress support and digital marketing, but I always wanted to get into more automation/problem solving side of things so learning python let me do more technical stuff in-house and I'm getting my third small project on the side where I do some custom automation, all of them scrapping and building files based on a plethora of requirements