đ˘ 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
- Tutorials and Education
- Recruiters, Interview Prep, Job Search
- Software Engineering Schools
- General Tech Info
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.
Recruiters, Interview Prep, Job Search
upwork.com
https://www.upwork.com/freelance-jobs
Find the right freelance job for your next work from home opportunity on the worldâs largest hiring platform connecting savvy businesses and professional freelancers. Browse by Upworkâs robust database of categories, skills, and deliverables.
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
- David John Coleman II, davidjohncoleman.com | @djohncoleman
License
MIT License
Turtles all the way down đ˘ đ˘ đ˘ đ˘ . . .