🐢 software_engineering_hub

Software Engineering Resources Hub. These resources support Software Engineers seeking to begin or enhance their skills and career. Many of the guides are well suited for interview preparation for top software tech companies. Please contribute helpful resources.

Table of Contents

Algorithms

Exercism

http://exercism.io/

Download and solve practice problems in over 30 different languages. Submit the solution to the site for feedback (beta). For code newbies and experienced programmers. Learning to program is exhilarating and challenging… and also frustrating, exhausting, and overwhelming. Exercism provides countless small wins. The exercises are achievable mini-quests: small and well-defined, and with enough complexity to uncover bite-sized knowledge gaps. The solutions you write provide reviewers with clues about what you haven’t grasped yet. The feedback you receive will guide you to relevant study topics and dramatically increase the ease with which you write code.

Codewars

https://www.codewars.com/

Solve algorithms from 30+ languages. Codewars is a community of developers, which are called Code Warriors (or just warriors), that train on improving their development skills. Think of it like a coding dojo - where developers train with each other and help each other get better through practice.

GeeksforGeeks

https://www.geeksforgeeks.org/

How many times were you frustrated while looking out for a good collection of programming/algorithm/interview questions? What did you expect and what did you get? This portal has been created to provide well written, well thought and well explained solutions for selected questions.

InterviewBit

https://www.interviewbit.com/

InterviewBit is a platform to learn skills that you need for technology jobs. We help you polish your skills and get ready for the job, whether you are a fresh college graduate or a working professional. We also get you connected with the right companies worldwide based on your skills and preferences, and do everything needed to make sure you get your dream job.

HackerRank

https://www.hackerrank.com/

The HackerRank team is on a mission to match every developer in the world to the right job by providing a technical recruiting platform that assesses developers based on actual coding skills. Our solution is revolutionizing the way companies discover and evaluate talented developers. HackerRank is the destination for the best developers to hone their skills and for companies to find top software developers. By addressing all phases - sourcing, screening and interviewing - we help companies uncover higher quality candidates, reduce time to hire and return valuable productivity time to teams.

Topcoder

https://www.topcoder.com/

Topcoder helps businesses get ready for tomorrow by embracing the world’s top talent today through crowdsourcing. Topcoder is a crowdsourcing marketplace that connects businesses with hard-to-find expertise. The Topcoder Community includes more than one million of the world’s top designers, developers, data scientists, and algorithmists. Global enterprises and startups alike use Topcoder to accelerate innovation, solve challenging problems, and tap into specialized skills on demand.

Advent of Code

https://adventofcode.com/

Advent of Code is a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Each puzzle calls upon different skills and has two parts that build on a theme.

LeetCode

https://leetcode.com/

Explore is a well-organized tool that helps you get the most out of LeetCode by providing structure to guide your progress towards the next step in your programming career.

CoderByte

https://coderbyte.com/

Get access to the best collection of coding challenges that you can solve directly online in 10 programming languages. The challenges come with official solutions and tens of thousands of user solutions. You can also brush up on your skills by reading our tutorials in topics like advanced JavaScript features, data structures, and algorithm interview questions asked at companies like Google and Microsoft.

CodeFights

https://codefights.com/

CodeFights is the most fun way to practice your programming skills. Master new languages, prepare for interviews, and much more! Join an active community of 500,000+ engineers! Whether you have 5 minutes in the middle of the day, or 5 hours late at night, our different modes give you a range of options for educational coding fun.

SPOJ (Sphere Online Judge)

https://www.spoj.com/

SPOJ is an online judge system with over 20,000 coding problems. It has a collection of archived and topic-wise tagged problems under categories like Classical, Challenge, Tutorial, etc. SPOJ is a great platform for beginners to develop understanding of algorithms and it serves as a good start to competitive programming. One can participate in or even organize programming contests on it.

Tutorials and Education

careercup

https://www.careercup.com/about

CareerCup’s founding was more accidental than anything else. Back in 2005, when Gayle Laakmann McDowell was graduating college, a friend two years younger asked her to keep some notes on where she was interviewing and what she thought of each company. Gayle did that, but also decided to record all the interview questions (which you can still see). Word got out about this list of interview questions, and pretty soon it became faster to post it online than to email around a Word doc. (After all, engineers are all about efficiency!) Then people discovered this page (which was, at that time, just hosted off her personal website) and traffic grew. And then other people started to contribute their questions. Slowly, bit by bit, it evolved into the CareerCup we know and love.

archive.org

https://archive.org/details/computersandtechvideos

Internet Archive is a non-profit library of millions of free books, movies, software, music, websites, and more.

Udacity

https://www.udacity.com/

Our mission is to democratize education through the offering of world-class higher education opportunities that are accessible, flexible, and economical. Virtually anyone on the planet with an internet connection and a commitment to self-empowerment through learning can come to Udacity, master a suite of job-ready skills, and pursue rewarding employment.

Udemy

https://www.udemy.com/

Udemy is a global marketplace for learning and teaching online where students are mastering new skills and achieving their goals by learning from an extensive library of over 55,000 courses taught by expert instructors.

Coursera

https://www.coursera.org/

Every course on Coursera is taught by top instructors from the world’s best universities and educational institutions. Courses include recorded video lectures, auto-graded and peer-reviewed assignments, and community discussion forums. When you complete a course, you’ll receive a sharable electronic Course Certificate.

freeCodeCamp

https://www.freecodecamp.org/

We’re a community that helps you learn to code, then get experience by contributing to open source projects used by nonprofits. You’ll learn to code by completing coding challenges and building projects. You’ll also earn verified certificates along the way. We also encourage you to join a study group in your city so you can code in-person with other people.

codeacademy

https://www.codecademy.com/

Codecademy is an education company. But not one in the way you might think. We’re committed to building the best learning experience inside and out, making Codecademy the best place for our team to learn, teach, and create the online learning experience of the future. Education is old. The current public school system in the US dates back to the 19th century and wasn’t designed to scale the way it has. Lots of companies are working to “disrupt” education by changing the way things work in the classroom and by bringing the classroom online.

edX

https://www.edx.org/course/subject/computer-science

Quality education for everyone, everywhere. Our Mission: Increase access to high-quality education for everyone, everywhere, Enhance teaching and learning on campus and online Advance teaching and learning through research. Our Story: Founded by Harvard University and MIT in 2012, edX is an online learning destination and MOOC provider, offering high-quality courses from the world’s best universities and institutions to learners everywhere. With more than 90 global partners, we are proud to count the world’s leading universities, nonprofits, and institutions as our members. EdX university members top the QS World University Rankings® with our founders receiving the top honors, and edX partner institutions ranking highly on the full list.

pluralsight

https://www.pluralsight.com/

At Pluralsight, we believe everyone should have the opportunity to create progress through technology and develop the skills of tomorrow. With assessments, learning paths and courses authored by industry experts, our platform helps businesses and individuals close skills gaps in critical areas, innovate faster and deliver on key objectives.

hirepool.io

https://hirepool.io/

100% designed for the job seeker (notice we didn’t say employer?). Track, log, organize all job related events. Put all of my job search activity in one place. Receive feedback and tailored interview preparation. Get personalized guidance through the offer process.

vettery

https://www.vettery.com/

We started Vettery because finding a job you love shouldn’t be an agonizing process. Our hiring marketplace lets you experience the job search in a better way. Employers reach out to you and you have the power to compare opportunities before choosing which you’re most interested in. You’re also matched up with a Talent Executive who will guide and assist you throughout your search. You’re welcome to reach out to them anytime! Since launching, thousands of matches have been made on Vettery between talented candidates and top companies. We’re passionate about changing the recruiting landscape and making Mondays the happiest day of the week.

TripleByte

https://triplebyte.com/

Triplebyte was founded on the belief that the current technical hiring process doesn’t do enough to help engineers show their strengths. Our founders started Triplebyte to help engineers find great jobs by assessing their abilities without relying on the prestige of their resume credentials. You can read more about Triplebyte’s views on hiring in our manifesto here.

Hired

https://hired.com/

We match you with compelling full-time and contract opportunities at the world’s most innovative companies. Get job offers. TAKE THE STRESS OUT OF YOUR JOB SEARCH. No resumes, no cover letters — just a streamlined way to connect with the right companies faster

woo

https://woo.io/

We want to redefine the way tech professionals find the right opportunities and the way companies find the right talent. At our core we believe that tech professionals should easily know their demand and get the right opportunities without the need to actively search for it.

alley.com

https://www.alley.com/

The founding team of any startup has to be jack-of-all trades. As you grow your business those roles grow and multiply, and the precision required grows as well. Alley Services deliver access to expert experience in specialized areas just when you need them the most. Our suite of professional white gloved services, cutting-edge technology, and premium experiences are just what you need to help your business grow. Providing an extra hand with Events, Recruiting, Marketing, and Digital Development.

interviewing.io

https://interviewing.io/

Free, anonymous technical interview practice with engineers from Google, Facebook, and more. Get actionable feedback, get awesome at interviewing, get fast-tracked at top software companies.

Pramp

https://www.pramp.com/

Get Paired: Tell us when and what you want to practice and we’ll pair you with an optimal peer. We provide interview questions (and answers) you will both use to interview each other. Practice: Coding interviews are live video sessions with a collaborative code editor. You and your peer interview one another for 30 minutes each. After the interview, you both rate the other’s performance. Ace It: Learn from peers’ feedback, gain confidence and master the art of interviewing. Keep practicing until you interview like a rock star. Impress recruiters and land awesome job offers.

AngelList

https://angel.co/

Get a Job at a Startup: Apply privately to 73,872 startup jobs with one application, No middlemen, See salary and equity upfront. Invest in Startups: Build a diverse portfolio of early-stage startup investments Private and oversubscribed deals

Software Engineering Schools

Switchup

https://www.switchup.org/

Coding Bootcamp, Data Science, Design, and Marketing Courses. Transparent Reviews: Develop skills for a new career. Get your recommendations straight from the alumni of skills training programs for coding bootcamps, design, marketing, and more. New Opportunities: We equip learners with the latest news, scholarships, and financial aid. Explore our blog and sign up for our newsletter for free tips and advice about coding bootcamps and other technology programs. Career Tips: Your journey doesn’t end here. Join our community to receive free career tips, e-books, academic research, and updates about technology education.

CourseReport

https://www.coursereport.com/

Course Report is the leading authority on immersive technology education, having been cited in the New York Times, the Wall Street Journal, the San Francisco Chronicle, TechCrunch, GeekWire, EdSurge and more. We conduct in-depth research on the industry, track trends in coding education, share student stories, produce a monthly podcast, and host thousands of alumni reviews. Course Report has everything you need to choose the bootcamp that’s right for you.

General Tech Info

Teach Yourself Computer Science

https://teachyourselfcs.com/

If you’re a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. Thankfully, you can give yourself a world-class CS education without investing years and a small fortune in a degree program 💸. Study nine subject areas using either the suggested textbook or video lecture series, but ideally both. Aim for 100-200 hours of study of each topic, then revist favorites throughout your career 🚀.

Hacking a Google Interview

http://courses.csail.mit.edu/iap/interview/materials.php

Learn the tricks. Beat the system. Ever wanted to work at a company like Google, Apple, or Facebook? There’s just one thing standing in your way: the interview. But there’s no need to fear. We’ve mastered the interview questions and topics, and we want to show you how you can nail every programming question. Whether you’re a beginning programmer or a seasoned expert, this class is for you. The class focuses on computer science topics that frequently come up in programming interviews. It covers time complexity, hash tables, binary search trees, and some other things you might learn in 6.046. However, most of the time is devoted to topics you won’t learn in class, such as crafty bitwise logic and tricks to solving problems. If you have any interest in working at a computer science company, make sure you don’t miss this class!

stackshare

https://stackshare.io/

StackShare provides online software for displaying and sharing your technology stack, which is made up of the software that you use. We’re an online community that features comparisons, ratings, reviews, recommendations, and discussions of the best software tools and software infrastructure services.

RosettaCode

http://www.rosettacode.org/wiki/Rosetta_Code

Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 869 tasks, 207 draft tasks, and is aware of 677 languages, though we do not (and cannot) have solutions to every task in every language.

Public API List

https://github.com/toddmotto/public-apis

A collective list of free APIs for use in web development. A JSON encoding of all entries can be found here. For information on contributing to this project, please see the contributing guide. Please note a passing build status indicates all listed APIs are available since the last update. A failing build status indicates that 1 or more services may be unavailable at the moment.

Google SRE Handbook

https://landing.google.com/sre/book/index.html

Site Reliability Engineering. Edited by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy. Members of the SRE team explain how their engagement with the entire software lifecycle has enabled Google to build, deploy, monitor, and maintain some of the largest software systems in the world.

System Design

https://gist.github.com/vasanthk/485d1c25737e8e72759f

System Design Cheatsheet

Interview Cake

https://www.interviewcake.com/data-structures-and-algorithms-guide

This is not a freaking textbook. No confusing academic jargon. No long lists of properties to memorize. No proofs. Because that stuff doesn’t help you actually get it. Here’s what does: Learning what to picture in your head when you think of a dynamic array or a hash map. Learning how to think in algorithms. That’s what this guide is focused on—giving you a visual, intuitive sense for how data structures and algorithms actually work. So if you’ve got a big coding interview coming up, or you never learned data structures and algorithms in school, or you did but you’re kinda hazy on how some of this stuff fits together… This guide will fill in the gaps in your knowledge and make you say, “Oooh, that’s how that works.” We’ll walk you through it all, step by step. Starting from the beginning.

Contributors

License

MIT License

Turtles all the way down 🐢 🐢 🐢 🐢 . . .