Skip to content
This repository has been archived by the owner on Jul 14, 2021. It is now read-only.

Latest commit

 

History

History
116 lines (68 loc) · 12.7 KB

Post Bootcamp.md

File metadata and controls

116 lines (68 loc) · 12.7 KB

Post Bootcamp

So you've graduated from PDX Code Guild, time to go out and fend off all those sweet job offers right? Believe it or not there's more you can do to make yourself seem valuable to potential employers. Now that you've learned to code, you can/should:

  1. Figure out exactly what kind of job you're looking for.
  2. Work on personal coding projects to continue honing your skills, the more experience you have coding and working with different libraries and frameworks the better.
  3. Polish that resume, prettify your portfolio.
  4. Consider freelancing, either for your job or during your job search.
  5. Attend meet-ups, network!

What kind of job are you looking for?

Full-Stack

A full-stack web developer does a little bit of everything. You might be expected to work on individual features both on the front-end and back-end of things if you're a part of a team. You may spend your time working on making the code from the back-end and fron-end teams compatible with each other and make sure the site is functional as they make changes. You might work as a freelancer helping people with any myriad of problems or issues with their websites. A full-stack developer does it all but specializes in none, you're the jack of all trades.

Back-end

Back-end developers work on the functional parts of the website. You'll spend your time programming applications, databases, and/or server management. Your job is to ensure that when the server communicates with the client, everything runs quickly and efficiently. Back end development is for you if you're somebody who loves data manipulation, functional programming, and are fascinated by the behind the scenes aspects of the world wide web as a whole.

You've already learned Python, but other server side languages like PHP, Ruby, Java, .Net might be helpful to learn to further your understanding, and may in fact be required or demanded by your workplace. SQL, MySQL, and/or Oracle may also be helpful to study to further your understanding of server and database programming.

Front-end

As a front-end web developer you're all about presentation. You're going to be making everything that people see when they open your site. You thrive on making sites that look absolutely fantastic, and smile when your client's eyes light up when they see how great their new site looks before they've even begun to get into the site's functionality. You're a web artist of sorts, styling and formatting your website in a clean, efficient, and visually stunning manner.

You'll be doing most of your work in HTML, CSS, and Javascript, and using libraries like JQUERY to make your code more efficient. An understanding of front end Frameworks, like those listed below, will help with device compatibility and version control to ensure consistently great looking content.

Software Engineer

If you just love programming and want to do as much of it as possible, but perhaps weren't entranced by the web aspect of programming, maybe a job in software engineering could be for you. A software engineer may do a number of things but focuses mainly on systems level programming and application development for businesses, either as an employee or as a contractor. They may also be responsible for determining the needs of different departments within a corporation and handling their networking and technical work so they can do their work as efficiently as possible.

Systems Analyst

Systems Analysts are all about efficiency. As a systems analyst you don't just love clean code, but fast code too. This is a good job for you if you enjoy code, talking tech, and mathematics but not necessarily doing the actual coding yourself. As a systems analyst you'll spend a lot of your time creating predictive models, doing cost analysis, and determining the best design schemes and implementations for solving problems using information technology. A knowledge of many programming languages, operating systems, etc. is very helpful to a systems analyst even though they may not be doing most of the programming. Also a good job for you if you'd like to spend your actual programming time on personal projects instead of your job, while still utilizing your programming knowledge in the workplace.

Quality Assurance

Working in quality assurance can be highly rewarding if you're interested in the design process as a whole, and enjoy interacting with and talking to the many different people you may be working with. You oversee the design process and test code throughout (though you're not exclusively a software tester, which is another job you could pursue if you so wished) to ensure that you get a product out on time that meets the standards of both the government and the company that you're working for. As the name might suggest, you're responsible for the quality of the product, and it's ability to bring monetary success to your company.

Technical Writing

Like a systems analyst, maybe you love coding and technology but don't necessarily want to be doing it every day in your workplace? Maybe you would like to continue expanding your knowledge about all aspects of technology rather than specializing in a specific field. If that sounds like something that interests you then technical writing could be for you. As a technical writer you can write about all industries of science and technology as long as you're willing to study enough to build a good foundation of knowledge on the subject matter (the more knowledgeable you are about a subject the better your writing on it will be). You'll spend a lot of your time writing of course, but a lot of your time will also be spent studying and keeping up with the latest trends and developments in science and technology.

Personal Coding Projects

Have an idea for a program or website? Make it! chances are you'll learn something new in the process. And, even if you don't, if you create a polished enough looking or functional enough product you can slap it on your portfolio and showcase it to the world.

The best reason to take on independent projects is for the sake of learning new skills. Interested in databases? Learn SQL. Love game programming? C++ could be for you. Here's a brief list of some fields and related skills that may be worth pursuing to expand your knowledge:

  • Different web frameworks and lanagugaes (Java / Dropwizard, Ruby / Rails, etc.)
  • Unit, integration, contract testing
  • Advanced Git
  • Systems programming (C, C++, Rust, Go, etc.)
  • Data analysis (R, Pandas, NumPy, Matlab, etc.)
  • Distributed data processing (Hadoop, Kafka, Storm, etc.)
  • Front-end frameworks (AngularJS, React, Bootstrap, etc.)
  • Shell scripting, administration, and advanced command line tools (bash, grep, sed, etc.)
  • Mobile development (iOS: Swift, Objective-C, Android: Java, etc.)
  • Database types and interfaces (SQL, NoSQL, Elasticsearch, Cassandra, etc.)
  • Game programming (C, C++, D, OpenGL, etc.)
  • Service oriented architectures (Docker, Kubernetes, Zipkin, etc.)
  • Security techniques

Resume and Portfolio

Resumonk Though resumonk has very few formatting options, there are numerous pre-built templates to choose from to help you create a pretty and professional resume. Requires small one time payment to download your resumes without watermark but is otherwise simple and user friendly.

Creddle Capable of syncing up with your LinkedIn account to keep resume up to date without you having to constantly update manually. Also has plentitude of formatting options and templates to choose from.

That being said, Microsoft Word or another text editor can be used if you feel comfortable formatting your resume yourself. There are plenty of online tutorials available to you or you could research examples of how others have formatted their resumes. Probably the best option if you feel confident in your formatting skills.

Remember to always have another individual review your resume before you send it out. Friends or family members are fine if you truly trust their judgement and expertise, though ideally you should get it checked by someone who either works or has worked in the industry that you're trying to get into. The best person to have check your resume would be someone who has experience looking for and hiring people like you if at all possible, though this isn't always a convenient option.

Github Pages Assuming you have a static website for your portfolio, Github pages is free and simple to use and upload to (you can use git to upload, how simple!).

Digital Ocean

Wordpress.org Wordpress is easy to use to build simple and responsive sites. There are differences between Wordpress.com and Wordpress.org that make Wordpress.com better if you don't know anything about developing websites. As an experienced developer and programmer you're better off using/learning Wordpress.org. High demand for wordpress skills in freelancing if you're interested in going that route, generally to accomplish something simple or help less experienced developers with their wordpress sites but also sometimes for creation and development of a fully featured site.

Freelancing

Freelancing is a great way to both gain experience that you can potentially add to your resume and/or portfolio, and also to learn new skills and take on new projects that you may not have considered tackling before. Additionally, theres the added benefits (not to say there aren't also drawbacks) of being in charge of your own schedule,your own work location and essentially being your own boss (although you'll still often be at the mercy of the desires of the client).

There are several websites and options to consider when approaching freelancing, some of these are:

  1. Upwork Great for beginner freelancers.
  2. Toptal Good once you've built up some experience.
  3. Freelancer Compete with other programmers in coding competitions. Win alot to make yourself more valuable looking to clients seeking your freelance services.
  4. Craigslist Really? Yes, really. Offer up your services and see who bites. Or look for postings by people already seeking out freelance web design services.
  5. Guru Lets you showcase past experience easily. Good once you've accumulated some demonstrable work.
  6. 99designs Compete with other web designers. Good if your primary interest is making and designing visually stunning and interactive websites.
  7. Your own portfolio site! Design your portfolio around your projects to showcase your skills. Sell yourself as a professional freelancer, print up business cards with links to your site, network, etc. If you're confident in your skills you can let your work speak for itself and let the jobs roll in. (Make sure people have a way of finding your site)

Meetups and Networking

Meetups and Networking?!?! But I became a programmer so I could speak the language of computers instead of people right? Maybe, it honestly depends what kind of job you're interested in. Chances are pretty good though that no matter what job you get though you'll still have to talk to people every once in a while.

It's nice to know going into a job if you'll be working with like minded, and friendly individuals. Or maybe you want to work in a startup but don't know how to find one looking for more members. Maybe you have an idea for a startup but need to find others who find your idea fascinating and can be passionate about getting it off the ground. Meetups are a great way to find all these magical individuals who share your interests and your passion for programming. Try going to one. Even if none of the attendees represent companies that are hiring chances are good that some of them know someone who is hiring and may be willing to connect you with them. But you do have to be willing to go talk to them ;)

Meetups are also a great way to learn new skills. Especially in the programming community, there are plenty of meetups that are essentially dedicated lectures for individuals looking to learn industry relevant skills. Even if you're not someone who learns well from being lectured to, you'll still leave with a list of new skills to work on that you hadn't previously considered, and those skills may open the doors to even more whole new sets of skills (The more you know the more you know that you don't know).

Meetup

Additionally, as a graduate of Code Guild, you are welcome to:

  • Email Instructors
  • Use the public Code Guild facilities as a workspace
  • Come to our demo days and public code meet-ups (Meetup and Calagator)