Nathan GrieveFirst Python job: Data Scientist
How Nathan Got the JobWhile 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:
loop_index += 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.
Set loop index to 0
Loop while loop index is less than 5
print loop index
Increase loop index by 1
Nathan’s AdviceMy 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.
How Bill Got the JobI 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.
Bill’s AdviceMy 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
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’s AdviceDon’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 RowlandFirst Python job: Technical Support
How Jordan Got the JobI 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 AdviceYou 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.
TakeawaysThough 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?
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.