How can I get my first programming job?

How can I get my first programming job?

Lets assume that you are learning to program outside the traditional college or university. You don’t have access to career services and are figuring it out on your own.

First never stop learning. Just because you can write one kind of Python program after you took Python for Everybody - that might not be the skill your first job opportunity will need. Keep going. You don’t need to rush but move along at a pace where you are enjoying learning - perhaps learn about how we write Python based web applications in Django for Everybody . You will learn about HTML, CSS, and JavaScript - that is a lot more than just Python. Then take Web Applications for Everybody - learn PHP, review JavaScript, learn more about web protocols and databases. Perhaps you take PostgreSQL for Everybody and get some solid database skills. The more topics you learn the more confident you will become with the topics you already know. Your job is less about what you already know and more about how quickly you can learn something new. So learn enough things that you can learn the next things quickly.

A very common way to get a programming job is to evolve your current job so that you are doing some programming. Lets say you work in sales and each month there is a spreadsheet of results for each sales person for the month. Perhaps you can write a simple Python program to produce a clever report that would be hard to make by hand. Show the report to your boss and ask if there are other reports that might be useful. The next thing you know you are spending a few hours per week doing data analysis. Turn the report into a graph. Then there is the web site redesign committee… You see the pattern - if you have skills, tasks will find their way to you. What is cool about this is that you can choose your next learning topic based on what you see your company needing next.

If you are unemployed or not working at a job where you can slide into a more technical role slowly it is more difficult. First lets talk about why it is so difficult to get an entry level job from outside an organization.

Why are Entry Level Jobs so Hard to Find?

I have a small company with two full-time employees and five part-time employees. We could use some help. It would be great if I could find an entry-level programmer who could be productive on simple tasks right away, and was fun to be around, and wanted to learn more and grow into new roles with increasing responsibility.

What would happen if I posted on social media, “Paid entry-level programmer position, part time, remote work OK, minimum skills: Python, HTML, CSS, JavaScript.”? I would get 100’s if not 1000’s of resumes and inquiries. I own the company - but it is part time on nights and weekend for me. I don’t have time to read all 500 resumes and pick the right ten people to interview and then do the interviews and get down to one person. Then I have to hire and train the person. And what if their resume overstated their skills? I don’t have time to teach them what they are missing? What if it turns out they don’t really like the work I am asking them to do? Yes - I can decide to let them go and hire someone else and start it all over again.

I just don’t have time to evaluate, hire, train, manage, let go and re-hire enough people so I get that right employee.

So how do I do it? Here is a mostly real example. One of my current employees mentions a friend they know during one of our touch base phone calls: I know this young person. They have a job that under-uses their skills - but they are very good at it. They know a bit of coding - not an expert. But they are a hard worker, have a great personality, ready to learn, and willing to work on some of our less exciting tasks to get started. We could start them a few hours per week and see how it goes. They can keep their other job during the ‘startup’ period and we can re-evaluate things after a few months. If it does not work out - there will be no hard feelings.

This solves all of my problems and all I had to do is listen to a person I know and trust on a phone call. I can hire this person - they already have a built in mentor and I might get an awesome employee and it will be fun to watch them develop and grow. But expectations are low and I won’t feel bad if it does not work out.

Larger companies have internship programs and other soft ways for a company and potential employee to get to know one another. But internship programs take staff time and need to be organized and managed - but they do allow a relationship to build in a low-expectations way.

So What Should You Do?

Keep learning (I am sure I already mentioned that). If you have a current job, keep at it and do it well. The same habits that make you a good employee in a non-technical job help you in a technical job.

For entry level jobs - people connections are more useful that giant sites with thousands of resumes. During the pandemic making new friends is much more difficult. But get social one way or another - find your local Python User Group or Django Girls or perhaps your town has a group for IT employees that meet from time to time. Figure out if they have monthly Zoom meetings - go hang out in the back and listen and learn. Figure out the kinds of jobs in the community - figure something out about the skills needed for those jobs and who works for what organization - you might be surprised that there are small local businesses that do technical work. I often tell students that if they are in the right place their career will walk right up to them and find them.

Volunteer - there are often small non-profit organizations that need some technical help on their web site or to handle some data that they need to process. This is where a breadth of skills comes in very handy - these organizations use crufty technology solutions - not like the perfect self-contained little programming assignments we give you in a programming class. The real world is messy. You get paid when you can handle uncertainty and messy complex stuff. If you look at the work they need done and think “I will just wait until a perfect little job comes along that only needs the one skill I already have” - you will likely wait a long time.

Also, look for a job at a company that you like and get a non-technical job. Perhaps there is a small technical company and they need someone in shipping or in their call center. Take that job - and do it well - at that job you will meet people and learn how the company works and what the company needs. Perhaps even take another class if the company uses some weird technology that you never were trained to use.

If you are in the door, you are half-way to a technical job.

Summary

Keep learning, make friends, volunteer, find social events with technology folks.

In my 40-year career - I have *never* been in a job interview with a complete stranger. My first technical job came through a fellow student in a Calculus course who said, “I work as a student consultant for people trying to use computers -we need a few more people - are you interested?”. It was part time and $4 per hour. But for me, my career started by an offhand comment from my new fried Kirk in a Calculus class in October 1975.

Christian George-Igbinidu

IT Project Manager @ Gods word foundation | Digital Specialist, Graphic Design

3 个月

I love this! Thank you. ABOUT TO TAKE YOUR COURSE

回复
Matthew Flynn

LVER at New York State Department of Labor

9 个月

Enjoyed your Python for everyone course. Very sound advice in this piece for any entry level position.

回复
John Fattal

CTO | Founder | Head of Engineering | Architect | Developer

10 个月

Charles Severance great advice about getting your foot in the door! Recently posted about a similar topic here https://www.dhirubhai.net/posts/johnfattal_softwareengineering-technology-careeradvice-activity-7151562470992588800-Og1R? on the do's and dont's of finding your first programming role

回复
Mike Parkhill

Head of Engineering at Dock

1 年

Great article Chuck. Another place to start testing your skills and build networks is the open source community. Find a project/library that you use and like and go check out there issues list on Github (or wherever they're hosting their code). See if there's a small one you can tackle. Do that a few times and it starts building a portfolio and reputation for you. I also look a lot at applicants' personal projects. Show me what you're learning by making your pet projects public. If you do apply blindly to me I'll use those to get a feel for what you know and how you learn.

回复
Danielle M.

4th Year Computer Science Student at Mapua University

1 年

this actually makes more sense, chances are neigh that two strangos would meet and just form a partnership. Afterall, it'd feel weird to recruit someone, or to apply to a group in the shoes of the applicant, when neither has a mutual understanding of each other's sibes, goals, or human side, in seeing if they would actually fit in with the rest of the group. A lot more people, undergrads and freshgrads who are struggling when starting out, needs to read this. I also like how you make it sound so inspiringly simple to "just keep doing what you do, eventually be good at it, but never stop, and also don't forget to have a life and make some genuine circles with likeminded goals, and you'll find your way". I'll find my way soon as well, well, after surviving each day for school haha

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了