how to get a programming job Tag Archives - General Assembly Blog

5 Steps to Getting Your First Job as a Web Developer

By

The truth is, no one is born with the coding skills a potential employer is seeking for tech job openings, and your resume doesn’t need to include a computer science degree. The good news is every web developer acquires the technical skills along the way that leads to their first job, and the path is not the same for everyone. With this dream tech job becoming a desired career path for many, you’ll want to have a proper outline. Below are my 5 steps to getting your first job as a web developer. 

1. Research and Visualize

If you came across this article because you were researching how to get a job as a web developer, guess what? You’re already immersed in the first step! Congratulations.

In one of my favorite business books, The 7 Habits of Highly Effective People, Stephen Covey outlines an easy-to-understand approach to attaining your goals — through conscious changes to your behavior and character. While all of his 7 habits are important, I want to point out habit 2 to you with regards to landing a web job: Begin with the end in mind.

In the book, Covey says that habit 2 is “based on imagination — the ability to envision in your mind what you cannot at present see with your eyes.” The idea is “based on the principle that all things are created twice,” he continues. “There is a mental (first) creation, and a physical (second) creation. The physical creation follows the mental, just as a building follows a blueprint.”

In essence, he says that everything that we bring into reality in the future has its start somewhere before, in the mind. It could be an idea, a goal, or even a Google search; suddenly “it” becomes an outline, a map or a schedule, and slowly the first mental birth gives a subsequent existence to something physical.

When it comes to your career as a web developer, this means researching the steps you can take today in order for you to be confident and capable to start a new developer job in the future. That’s how I’d like you to approach this goal.

Do your research: The better you know the blueprint for what you want to build for your web career, the more motivated you’ll remain along the way. You’ll be able to track your progress toward a goal. And then visualize: See yourself follow the plan as you grow your skills and confidence and ultimately land your dream job.

Key Takeaways:

  • Read 3–5 different takes on how to become a web developer from tech and career blogs, YouTube, Quora, LinkedIn, etc.
  • From the different perspectives you’ve gained, what is common among them? What do they say you should learn for a web developer job? How do you acquire the skills that are suggested?
  • Make a step by step plan on how you can achieve the goal. Base it on your personal skills profile, schedule, timeline, resources, etc.
  • Visualize yourself 1, 3, or 5 years in the future while focusing on what’s doable today.

2. Learn the Skills

The bottom line is that a web developer job comes down to skills and execution. Employers — your future hiring managers and colleagues — will expect you to have certain technical skills and to execute them as required by the role, especially if you want to keep the job. While soft skills are important in any organization, in this job you’ll ultimately find yourself being put to the test through your tech experience and knowledge, and your goal is to let this fuel your productivity and success. 

When I started to learn web development, I realized I had a lot of new things to learn. Coming from an arts background in college but having a life-long fascination and familiarity with computers, I knew that my English writing would not directly translate to writing code. So what did I need to do? Thankfully I was in familiar territory; I had to learn to write and to learn new languages. That meant learning new writing syntax, structure, rules, etc. From the start, I learned HTML and CSS were the backbone of the web. HTML gives structure to every webpage’s content, and CSS provides the styling. Without those two, what would the web be? Would it be?

While I was working a full-time job that was not tech-related at the time, I made a schedule for myself: at least 3 times a week I would go to a learning space or coffee shop after work to learn HTML and CSS. Yes, I visited many spaces, libraries, and coffee shops. I drank a lot of needless coffee. I researched many topics. I stumbled and learned. One night, it could take me three hours to learn a simple concept which only became a rabbit hole to other related concepts. It never seemed to end and I only had so much time in one day.

In the long run, every hurdle mattered. Once I learned something a couple of times, I started to retain knowledge, and through practice, I put it to work.

Bonus Tip: One thing I always tell my web development students is this: find a project. It can be anything — start a website about your dog, your kids, your most recent vacation, Auntie Betsy, the weather — whatever. It doesn’t matter. It doesn’t even have to be public. Just create something.

Having a pet project, even simple ones as those mentioned above, will give you a needed end-goal. You’ll start to come across hurdles as you envision what content is needed, how the website should look, how to host it, and what design you want, such as fonts, colors, assets, user experience, template layout, etc. Guess what? Each of these web hurdles and design choices may become your three hour session at a learning space, but each obstacle will reward you with practice and knowledge.

Key Takeaways:

  • Learn HTML and CSS. Interactive online platforms provide an excellent start, and they can be reinforced by coding bootcamps. If by chance you come from a graphic design background, you’ll enjoy CSS! You might soon see yourself as a web designer.
  • Learn how to write a simple HTML document from memory. The syntax will become engrained more thoroughly this way. Yes, type out the <html>, <head>, <title>, <body> and other common HTML content tags so that they become second nature. Learn how to integrate CSS into the document in-line, and through a linked stylesheet. Speaking confidently about the technical structure of an HTML + CSS page alone can help you score big in a job interview.
  • Explore JavaScript and front end web design, which will start molding you into a front end developer. What are the limits of HTML and CSS, and how does JavaScript help compliment them on the web? How can it improve your projects?
  • Explore dynamic websites to understand how a web application interacts with a database, and research different programming languages you can learn: JavaScript, Java, Python, PHP, Ruby, etc. What popular frameworks or content management systems can you explore to get started? Ultimately, this can lead to a full stack developer role.
  • Lastly, how do you get to be online given the framework or CMS? How does web hosting work? How do you deploy a web application?

3. Add to your Portfolio and Gain Experience

Once you’ve created one or two simple projects for yourself — as long as they provide a good dose of learning and experience — create something that you want to share publicly. Can’t think of anything? A personal blog or a professional resume website is a good start.

When you’ve created a website that you can share with others, get the word out. Add it to your social media profiles, including LinkedIn. Don’t be afraid to market it, and of course, improve it as new ideas and content start to flow.

My first public web project was a short story fiction website. Because I came from an arts background, it was actually my interest in creative writing that brought me to tech. I had owned a web domain for a couple of years (the “idea”), but it wasn’t until I was determined to create my own website that I took the steps to build it.

While I enjoyed writing and publishing short stories, through the project, I continued learning about web publishing, platforms and upkeep. I was public about my project and in time I had guest writers’ content on my site, and family and friends reading it. Before I knew it, I had family and friends asking me if I knew how to make a website. “Oh, you’re opening a business and want to know if I can help with the website? I’d love to”, I’d say.

At first, I built websites for family and friends, and then used that experience to get the attention of third-degree references. Ultimately, I started to freelance and gained contract work. I created professional business websites for small businesses and individuals. In the span of two years, I had decent freelancing experience, a nice group of samples from my creations, professional references, and the confidence to apply to full-time opportunities.

Key Takeaways:

  • Put to practice what you’ve learned. If you haven’t already, purchase your first domain. Choose a CMS or framework to get started.
  • Host and publish content, improve it, maintain it, and share it.
  • Add the site to your social media profiles, in the links or projects section.
  • Be open to freelance work with friends and family. Help someone improve their website. Provide web advice and guidance. Work on making someone else’s dreams come true through your new web skills.
  • Let one project breed the next. You’ll be amazed how many people and businesses need help online. After a handful of contract projects, you can start considering yourself a freelance junior web developer.

4. Be Part of a Community

Depending on the languages, frameworks, or CMS you choose to work with, be part of that community. Your presence can be digital and physical. Subscribe to pertinent tech blogs and tutorial websites on the subject to stay fresh; join online communities of tech professionals where you can learn and give help (e.g. Stack Overflow, WordPress.org); join an offline meet-up; attend a conference, coding bootcamp, and hackathon. This community experience will improve your coding skills, allow you to network, increase your chances of more freelance projects, and make you look more experienced to a potential employer.

Because I knew very little at first, I initially gravitated toward WordPress — an open source CMS. While I wasn’t programming at first, I learned the fundamentals of a front-end developer (HTML, CSS, JavaScript) and then back-end languages such as PHP and SQL. I subscribed to WordPress blogs, joined WordPress.org where I participated in forums, took tutorial after tutorial, listened to tech podcasts, and attended WordPress events. All of this helped me during the job search for not only freelance clients but also my first web development job. My first job ultimately included leading the development of event websites for a health industry corporation, and soon after, I also started to teach WordPress to others!

If you decide to start making simple websites with a CMS that is not open source, such as Shopify, Squarespace, or Wix, that’s fine too. As long as you can practice HTML and CSS at first, it will springboard you into other challenges. Eventually, I gravitated toward PHP, Python and related frameworks, and I became involved in those communities as well.

Key Takeaways:

  • Where are those who use your CMS or programming language hanging out? Developers tend to find each other online in forums, blogs and community websites. Join, say hello, and start to learn and contribute.
  • Be open to offline interaction. Look up events near you, or travel if you need to. While developers do enjoy their desks, events are very common. Programming does not have to be a solo experience.

5. Think Like a Recruiter

At this point, feel confident that you’re a junior or experienced web developer candidate for any potential employer, depending on the amount of freelancing you’ve done. Hiring managers will be interested because you have a solid working knowledge of how to make websites, you’ve built your own projects, you’ve helped create or improve others’ sites, and your community involvement shows you’re eager and motivated.

The next thing you’ll want to do is place yourself in the shoes of a recruiter. Whether it’s an in-house recruiter seeking talent for their tech company, or a staffing agency’s tech recruiter looking to find candidates for clients, your resume will not get to the hiring manager unless it first attracts a recruiter.

I landed my first web job through the help of a staffing agency’s tech recruiter who thought I’d be a good fit for a client. After a contract period, I was converted to a full-time employee. You’ll find that this is a common and realistic route.

In your resume, use keywords to be specific about the programming languages you’ve learned, including related frameworks, dependencies, tools, and software. When tech industry recruiters are looking at your resume, they want to make sure they won’t be wasting the hiring manager’s time with someone who doesn’t have specific experience in what’s required. Keywords are also how recruiters will find you.

Be open to templates. Recruiters are open to creative templates and designs as long as the content is strong. Use services such as Canva to find interesting layouts. Don’t forget to add the time you worked as a freelancer, your web links and projects, and any related education you’ve completed. Create different drafts of your resume, and get others’ opinions.

Maintain consistency across job boards and social profiles. Create a profile on 2-5 job boards. LinkedIn should go without saying — make sure the verbiage used on LinkedIn matches what you’ll send a recruiter or hiring manager on your resume. Keep thinking keywords. Consider joining other job boards such as Indeed, Glassdoor, or Monster, which are general job boards that recruiters frequent, or even tech-focused ones such as Hired, StackOverflow, or GitHub.

Be active online. Share others’ content and consider creating content of your own, such as videos, articles, and podcasts.

On the job boards, select that you’re open to being contacted by recruiters, but be subtle. Be open to a junior web developer job. Stay attentive and courteous even to opportunities that don’t align with your expectations: you never know which recruiter or employer may be the right match now or down the line.

The Opportunity is Yours

When you land a call or an in-person interview, be honest about what you know and don’t know, and be confident about what you can bring to the table. Always come prepared.

Once you have an interview, the opportunity is yours. There’s one thing left to do: ace the interview with the belief that you can walk through that door of what was once a visualization.

Learn Front-End Web Development Online

5 Steps to Getting Your First Job in Software Engineering

By

Unsure how to get a software engineering job or where to start? Landing your first job as a software engineer can seem like an intimidating milestone to reach. It feels even harder when you don’t have a computer science background and you’re transitioning from another field, especially one that you’ve worked years to develop a career in. Feelings of uncertainty come in many forms. Your inner dialog may sound like this:

“My resumé isn’t compelling enough to get a job in this new field.”
“I’m a beginner all over again, and I don’t know enough to do this well.”
“If I start over, I’m afraid I’ll fail.”
“I feel like an imposter trying to get a job in something I know so little about.”

If these are some of the thoughts you’ve had when considering a career change, you’re not alone. These are fears that most of my students have expressed in my 5 years teaching at General Assembly, and they are totally logical fears to have. Fortunately, there are clear steps you can take and definitive questions you can answer for yourself which will keep you on a path to landing a great first job in software engineering. They are:

  1. Figure out what kind of software engineering interests you.
  2. Learn the basics.
  3. Build projects.
  4. Begin applying for software engineering positions.
  5. Learn from your interviews.

1. Decide what kind of programmer you want to start out as.

You’ve decided to take the plunge into software engineering, but did you know there are many different kinds of software developers? Jobs in programming run everywhere from front-end engineering (on the design side), back-end engineering (on the server side), to security engineering, DevOps, and testing automation!

Those are some of the more common types that most companies will need to hire for, so the question isn’t, “What kind of engineer do you want to be?”, it’s “what kind of engineer do you want to start out as?” This distinction is important because you should try to work for a company that gets you going with a clear set of roles and responsibilities, but also fosters an environment that will allow you to try out other types of work too. Some of the best software developers I’ve worked with were at one point doing a completely different set of tasks at the start of their career.

So, what interests you the most?

2. Learn the basics of software development.

It goes without saying that you’ll want to acquire some knowledge in computer programming before sending out a bunch of job applications. But where to start? There are a ton of great resources out there, but I’ll outline what I think is a great approach for most people to get a good start in programming knowledge:

  1. Take some classes. Whether it’s through one of General Assembly’s coding courses, a highly rated video course on Udemy, or a coding bootcamp, it’s important to get some experience learning from an industry professional. It’s also good to be able to collaborate with other students doing a similar career change.
  2. Read a lot. The learning doesn’t stop after taking some short-form classes. After you’ve mastered the basics of programming, you’ll be able to effectively self-teach too. Get some good programming literature! Here’s a list of some great books for beginners.

You’ll want to focus your learning on the basics of programming and computer science. Key areas to educate yourself on should include:

  • Programming fundamentals: Variables, conditionals, loops, functions, etc.
  • Design patterns: How programs are structured to be maintainable and easy to reason about.
  • Popular frameworks (such as React, Angular, Express, Rails etc.) are a plus because they provide transferable skills while giving you a competitive edge by staying current. However, it’s still super important to base your education on the fundamentals of programming. A good drummer won’t learn how to play fancy fills without first learning the rudiments, and software development is no different!

3. Build, build, build!

Always have a project to work on. Apply the skills you’re learning by practicing on real-world projects. For example, if you’re reading a tutorial on how to build a user interface with React, try building your own portfolio website using React. You’ll be doing two great things for your career at the same time:

  1. Practicing and honing transferable skills.
  2. Building your software engineering portfolio with actual case studies and proofs of concept.

4. Start applying for jobs.

Software developer job openings are constantly being posted as new companies are founded, existing companies expand, and established companies evolve. When it comes to startups vs. established companies, there are some significant differences you’ll likely come across. For instance, a new startup might have more employee perks, such as flexible time off, but might also demand more weekend hours put in. On the other hand, an older established company might provide a more clearly defined set of roles and responsibilities and a better structure for employee growth.

It’s ultimately different from company to company, but the pattern I’ve seen lately is that startups provide more incentives to apply, with more initial flexibility for the employee. Keep in mind though that startups are by nature less likely to succeed long-term.

5. Use every interview as a learning experience.

You’ll start to land interviews comprised of multiple stages that will vary slightly by company but typically look something like this:

  1. Initial interview with a recruiter or hiring manager that’s usually less technical
  2. A more technical second interview with an engineer on the team, where they’ll get to know your current skill set
  3. Meeting with more members of the team which will usually include a code challenge of some sort
  4. Final interview with a company leader which hopefully includes an offer!

It’s important to remember a few things during the interview process. First of all, most modern tech companies want to hire you, not just your skills. They don’t want to just hear you rattle off a bunch of technical terms that make it sounds like you’re more experienced than you are. They want to know about you, your passions, your curiosity, your drive to learn, and your drive to grow with the company. None of those things are strictly reliant on 10+ years of experience like the job postings might say. While there is a base level of skill that is required, you’ll want the company to know that you are a good long-term fit; that you can become the software engineer that you want to be with them.

Every interview you take will be a culture fit test. Be a nice person, be curious, ask questions.

The technical part of the interview is often the scariest. During the technical interview or code challenge, sometimes you’ll have to write code by hand on a white board with people watching. It can be terrifying unless you really think about the actual purpose of the technical interview. What’s important to remember when prepping for the code challenge is that it’s designed to be hard. A well-crafted code challenge is not meant to be completed in short order. Rather, it’s meant to give the interviewer deeper insight on your current skill set as well as your ability to speak about how you navigate through a problem you’ve been tasked with solving. If you were able to finish the code challenge too easily, the company would have no idea where your skills max out at.

When engaging in a code challenge, the interviewer wants to understand your thought process for problem solving; how you might approach going from the prompt to the solution and the reasoning behind it. For a good code challenge, they want to see your journey through the problem. Of course, you do need to learn the basic fundamentals of programming to even begin a code challenge, but you’ll get to a point where you can at least show the interviewer how you’re framing the problem and coming up with a potential solution. Every interview is a learning experience.Keep these tips in mind. You’ll get better at the process, and you’ll eventually land that software engineering job where your new career will really begin!

Learn Software Engineering Online