How Four Programmers Got Their First Python Jobs

    Joshua Kraus
    Joshua Kraus
    Share
    No one really knows how to do a job before they do it. Most people land a coveted position through a strange alchemy of related experience, networking, and hard work. The real experience is the job itself. That’s when you get the opportunity to apply what you know to real-world problems and see it pay off.
    The following four programmers earned their first Python jobs in different ways. Some had prior Python experience, some didn’t. Some knew what they were getting into, others found out later. Understanding how they landed their first Python job might help you land yours. Here’s how they did it. Want to level up your Python skills and stand out in a rapidly growing market? Check out SitePoint Premium! You’ll find books to get you started (like The Python Apprentice) and develop job-ready skills (like Front-end Testing in Python). Enhance your skills with The Python Master
    , and access a growing library of over 400 books and courses on web design and development.

    Nathan Grieve

    First Python job: Data Scientist

    How Nathan Got the Job

    While completing my Physics degree, I applied for a data science job with a small tech startup that primarily used Python (and SQL). The thing is, I didn’t have experience with Python at the time. When the interview came around, I answered the programming questions by using pseudocode to demonstrate I understood the concepts. Pseudocode uses coding logic without using coding syntax. So by using the same logic that Python does, I could show an understanding of the concepts without being specific to any language. For example, any computer scientist can understand the simple pseudocode below, but they may not understand the Python function unless they’ve worked with it before. Python
    loop_index = 0
    while loop_index < 5:
        print(loop_index)
        loop_index += 1
    
    Pseudocode
    Set loop index to 0
    Loop while loop index is less than 5
        print loop index
        Increase loop index by 1
    
    Pseudocode is more readable to humans, too. It’s not actually much different from code, it just avoids using language-specific syntax. And using it it worked! They gave me the job. But of course, before I arrived I had to actually learn the language.

    Nathan’s Advice

    My advice for those wanting to enter the field is to tackle real-world problems as soon as you can. At Project Hatch, a company I cofounded that analyzes startups and provides them with analytics to grow their businesses, we do hire people who are self taught, but there’s a huge skill gap between those who only do Codecademy-style courses and those who actually apply their knowledge. I would say keep working through Codewars
    challenges until you’re at a point where you don’t have to repeatedly look up what arguments you should be using and what order they should be used in. If you’re looking for real-world problems to solve, go on Kaggle, which has a huge number of data sets to play with, and practice pulling useful information out of them. For example, if you’re looking at a data set for food recipes, align the data set with local food prices to find all of the recipes that create meals for under $5. When you’re ready for a real challenge, try Kaggle competitions. You’ll find problems to solve and companies willing to pay. These challenges will be incredibly difficult to begin with, but you’ll learn a lot discussing solutions with other computer scientists on the forum.

    Bill Price

    First Python job: Cyber Security Architect

    How Bill Got the Job

    I had supported Python developers for a number of years as a NASA network administrator and security engineer, so I was aware of the power and flexibility of the language before a new opportunity presented itself. In 2017, I was approached by a major financial institution to join a team charged with developing a new assessment program to identify monitoring gaps in a particular business process and its supporting applications. I believe they came to me because of my:
    • network and security experience
    • lack of experience in the financial sector, as they wanted a fresh set of technical eyes on their problem
    • ability to tease out what actual requirements are
    • ability to approach a new project with an open mind and no preconceived notions.
    Funnily enough, and unbeknownst to me, this turned out to be my first Python job. Our team was expected to triage the gaps, identify possible mitigations, and report our findings to leadership. We began by mapping applications to each business process, but quickly realized that the size of the different data sets we needed to review (application and hardware inventories, Qualys vulnerability scans, daily BladeLogic reports, Splunk logs, etc.) were too large for import into Excel spreadsheets. Furthermore, we didn’t have access to traditional UNIX text processing resources or administrative access to our workstation, where we might have installed any new data management tools. And we didn’t have the budget to purchase new tools. We did, however, have access to Python, a full set of Python libraries, and the ability to install Python using existing enterprise support software. I didn’t know Python going in. I had to learn on the job, and good thing I did. Python was critical in our being able to parse hardware inventories based on applications used by the business process, isolate vulnerabilities associated with the appropriate hardware, and identify unauthorized services running on any device that supported one (or more) applications.

    Bill’s Advice

    My advice to aspiring Python developers is threefold. First, familiarize yourself with the different libraries available in Python that might assist you in a potential job. Our team used mechanize, cookielib, urlib
    , urlib2, and csv extensively. If you’re looking at a machine-learning project, pay attention to libraries like TensorFlow, Numpy, and Keras. Next, be on the lookout for processes that need to be automated, or where existing automation can be improved. There’s likely an opportunity for applying Python. Lastly, have a good Python reference book to supplement all of the online resources that are available. I recommend T.J. O’Connor’s Violent Python.

    Vinay Naik

    First Python Job
    : Full-stack Developer

    How Vinay Got the Job

    When I started my career as a Python programmer, I was a complete fresher with a very basic understanding of Python and other programming languages. To prepare for interviews, I studied the basics of Python on the Internet for days on end. I went through almost all the variations of articles like “Top 10 Python questions asked in interviews.” But as it turned out, the interviewer at my first job — a full stack developer for a cloud-based software — knew about all the common tricks beginners used to ace interviews, and he had gone through the same articles I had. Thankfully, all he asked me was practical application questions and some basic Python syntax. His focus was on checking if I had the right analytical mindset and good logic. His statement to me was: “Any developer can copy syntax from a basic Google search. Only logic separates a good developer from a bad one.” That logic is what got me the job, but that was only the first test I had to pass. As a full-stack developer, I not only had to learn about Python as a back-end language, but also front-end technologies like Angular, HTML, CSS, JavaScript, and more. Solidifying my grasp on all of these within a timeframe of one week was a nightmare. Another problem was that, once I landed the job, they expected me to know it all immediately and directly pushed me into a project with strict timelines. It took me more than six months to get into the flow of it and feel comfortable with the tasks and the workload. One really important thing most people fail to understand is that our education doesn’t prepare us for the challenges in the professional life of a developer. It’s entirely up to us to invest our time and learn and develop our skill set.

    Vinay’s Advice

    Don’t just learn the syntax and read about the language. Instead, implement a few simple applications and try to learn one framework for that language. Only when you start implementing will you have further questions and actually learn the language. The answers to the problems you face is what will make you proficient in that language.

    Jordan Rowland

    First Python job: Technical Support

    How Jordan Got the Job

    I don’t have a college degree, and started teaching myself Python about 22 months ago. In 2015, I was working in a restaurant as an order taker. I was technically inclined, but didn’t do any coding. I was pretty much a loser and drank heavily, and had no real ability to set and pursue goals. I was fired from this job after six months. This was a major blessing. Afterward, I got my first job working with computers. I was hired as a support person for a tech startup, but this didn’t require much technical skill, just an ability to use computers in an intermediate way. I worked there for 20 months before being fired, which was also a major blessing. I had quit drinking a few months before I stopped working there, and got another job pretty quickly, working as support for another startup. But I soon learned that the job was going to be moving, which meant I’d have to find another job that I would likely hate. I had a few months until the job ended, so I started teaching myself Python, learning every day after work using Automate The Boring Stuff With Python. I had two months of unemployment after leaving that job, and I kept teaching myself Python, as well as a little web development. I applied for a support position for a web app that was using Python in the back end, and I mentioned in the interview that I was familiar with Python, and was able to talk to them about their program (it was heavily reliant on web scraping). They hired me. While working there, I taught myself SQL and spent evenings taking a Udemy course. It wasn’t part of my job description, but I was using Python and writing scripts to make parts of my job more efficient, such as QAing the data the app was collecting. I was still spending time every day after work learning and coding, becoming familiar with Data Science, and building larger, more robust programs. When I was at this job, I started looking for portfolio ideas. My plan was to build up my portfolio and then start applying for developer positions after a year. I thought a good place for ideas would be a job board called AngelList, where I would find companies using Python in their stack, and then build my own things that were similar to their products. As I was searching for these positions, I found a job posting that was similar to what I was already doing — support — but with a heavy emphasis on Python and SQL. And it paid a lot more money. I applied on a whim; my intention wasn’t even to find a new job. I did a pre-interview phone screening with the product manager, took a small technical test, then went in for a three-hour interview with some developers and other product managers. I ended up getting hired, so I left the job I was at for my first job where writing Python was officially in the job description, and required. I’m still there now, and recently transitioned to being a full-time back-end Python developer. My two-year mark since beginning to learn Python will be February, 2020. I’m still learning outside of work almost every evening, growing my skills and understanding more advanced concepts.

    Jordan’s Advice

    You need to work for it. You need to forego short-term happiness and convenience for a future reward. It seems to me that if you put in the time, eventually it will pay off. I definitely got a few lucky breaks along the way, and I ended up being in the perfect position to be hired where I am now, but it would have still happened for me because I worked very hard for it. I immersed myself in coding culture, subscribed to the subreddits, listened to podcasts, and read books. Coding became an obsession.

    Takeaways

    Though these programmers all took different paths to arrive at their first Python job, their stories bear a lot of similarities.
    • Understanding the underlying logic of programming concepts can get you a foot in the door.
    • Tackling real-world problems through resources like Codewars and Kaggle is a great way to prepare yourself for the job.
    • Being open to new opportunities, even if they aren’t exactly what you’re after, can lead you to unexpected — and awesome — places.
    • Never stop learning, both in and outside of work. Familiarize yourself with different libraries, build your own applications, and treat challenges and questions as chances to gain a deeper understanding of the language.

      Find your next remote Python job with SitePoint Remote, where we handpick the best remote jobs for developers, designers and digital professionals.

    Frequently Asked Questions (FAQs) about Getting Your First Python Job

    What skills do I need to land my first Python job?

    To secure your first Python job, you need to have a solid understanding of Python programming language. This includes knowledge of Python syntax, data structures, control flow, and error handling. Additionally, you should be familiar with Python libraries and frameworks like Django, Flask, and Pandas. Understanding of databases, both SQL and NoSQL, and knowledge of front-end technologies like HTML, CSS, and JavaScript can be a plus. Besides technical skills, problem-solving abilities, good communication skills, and understanding of Agile methodologies can also be beneficial.

    How can I gain practical experience in Python programming?

    There are several ways to gain practical experience in Python programming. You can work on personal projects, contribute to open-source projects, or participate in coding challenges and hackathons. These activities not only help you apply your Python knowledge in real-world scenarios but also provide you with tangible evidence of your skills that you can showcase to potential employers.

    How can I make my Python job application stand out?

    To make your Python job application stand out, you need to showcase your Python skills effectively. This can be done by including a portfolio of your Python projects, highlighting your contributions to open-source projects, or providing links to your Python code on platforms like GitHub. Additionally, certifications from recognized platforms can also add value to your application.

    What kind of Python jobs can I apply for as a beginner?

    As a beginner, you can apply for entry-level Python jobs like Junior Python Developer, Python Test Engineer, or Data Analyst. These roles typically involve writing and testing Python code, debugging Python applications, or analyzing data using Python.

    How can I prepare for a Python job interview?

    To prepare for a Python job interview, you should brush up on your Python knowledge, including Python syntax, libraries, and frameworks. You should also be prepared to solve coding problems, as many employers use coding tests to assess candidates’ Python skills. Additionally, reviewing common Python interview questions and practicing your responses can also be helpful.

    What is the average salary for Python jobs?

    The average salary for Python jobs can vary greatly depending on the role, the company, and the location. However, according to Indeed, the average salary for a Python Developer in the United States is around $110,000 per year.

    Are there remote Python jobs available for beginners?

    Yes, there are remote Python jobs available for beginners. Many companies are open to remote work, especially in the tech industry. Websites like Upwork, LinkedIn, and Indeed often list remote Python jobs.

    How can I stay updated with the latest Python developments?

    To stay updated with the latest Python developments, you can follow Python-related blogs, join Python communities, attend Python conferences and meetups, and take online Python courses.

    Can I get a Python job without a Computer Science degree?

    Yes, it’s possible to get a Python job without a Computer Science degree. Many employers value practical experience and skills over formal education. However, having a degree in Computer Science or a related field can be a plus.

    What are the career growth opportunities in Python programming?

    Python programming offers numerous career growth opportunities. With experience, you can move up to roles like Senior Python Developer, Python Architect, or Data Scientist. You can also specialize in areas like web development, data analysis, machine learning, or artificial intelligence.