TABLE OF CONTENTS
Navigate to the resource you're looking for:
software developer resources: The Basics
Command Line Basics
Unix is a popular platform for software developers. This course teaches you the basics of Unix and how to use its command line most effectively.
After you've completed this course, you'll not only understand Unix' history and capabilities, but you'll also be able to comfortably navigate managing files, entering data and manipulating text.
GitHub Basics
If you haven't yet gotten started with GitHub, the Learning Lab will get you there within less than an hour.
As you progress through the course, you'll be getting instructions and feedback from their interactive bot to ensure you always know what to do next and never get stuck while you're learning.
Fundamentals course
Using Python, this course teaches you the very basics of coding in an easy-to-digest manner.
After going through Foundations of Programming, you'll know how writing source code, working with numbers and strings, functions, and comments work and you'll have the foundation to start experimenting with them yourself.
They're also explaining the differences between programming languages and how to choose the best one.
Python Programming Resources
Check out our resources for one of the most popular programming languages of today - Python.
Whether you'd like to learn Python from scratch or advance your existing skills, these courses and books will help you do it.
Want to master Python from the ground up?
This 8-month course bundle from the University of Michigan on Coursera provides a perfect roadmap (no prior experience required).
You’ll learn fundamental programming concepts like data structures and databases. In the 5th and final course, you’ll apply the knowledge you’ve gained to code your own programs.
The learning is self-paced – you can take as much time as you want to complete the courses, or go faster if you’re more ambitious.
Advanced Python book
Deepen your understanding of all aspects of the Python programming language with this highly rated book by Luciano Ramalho. You’ll learn how to write better, shorter code by leveraging Python 3’s best features.
The updated edition is split up into five parts, teaching you how to apply concepts such as data structures, functions, object-oriented idioms, control flow and metaprogramming most effectively.
This book is not for complete beginners – it’s an excellent intermediate text you can use to take your Python skills to the next level. There’s plenty of material to take in, but it’s presented in a way that’s less dry than the official documentation, making sure you’ll enjoy working your way through.
web development resources
If you're looking for the right tools to become or improve as a front-end developer, the following are for you.
Course for Web Developers
Learn web development from the ground up with this course from Johns Hopkins University at Coursera.
You’ll start with a thorough education in HTML and CSS, so you’ll be able to build modern, responsive websites from scratch. Finally, you’ll be diving into JavaScript to build complete web applications.
The 5-week course includes 110 learning videos (over 13 hours of instructional videos in total), along with new readings and quizzes each week to test your newfound web development knowledge.
Basics course
If you’re looking for a quick course to learn just HTML by itself, Mammoth Interactive’s One-Hour HTML is the best choice.
The video instructions by experienced Web developer John Bura teach you all you need to know to start coding your own websites in short, to-the-point videos.
They make it easy to start applying the lessons right away. And then you can come back to get his guidance for tackling the next step.
Codecademy course
Codecademy’s course provides real hands-on learning: With its interactive platform, you’ll be completing four different web development projects (such as building a fashion blog or the schedule for a wine festival) in a live coding environment.
All while getting helpful tips for what to do next.
The course has received raving feedback: Its unique format has you make real progress, actually remember what you’re learning, and staying motivated until the end because of it.
Multiple assessments for you to take and the certificate awarded once you complete it are just the cherry on top.
Coursera course
Offered by UC Davis, this 4-month, Coursera course bundle with a flexible schedule will take you from a complete beginner to capable JavaScript programmer.
It's split up into four courses that build on top of each other. After completing them, you’ll be taking on a development project using everything you’ve learned.
Once you’ve earned the certificate of completion, you’ll have upleveled your skills to the point where you can put the title of JavaScript developer on your resume, making you that much more attractive to potential employers.
Udemy course
This course delivers on just what its name suggests: In addition to the latest versions of HTML and CSS, it also teaches you web design.
This will give you the complete stack for designing modern websites for yourself or for clients – an invaluable skill in today’s marketplace.
Automation Testing Resources
Check out these tools and courses for Automation Testing.
programmer productivity tools
As a software developer, you have to manage projects, juggle tasks, and navigate code production. Doing so manually without structure can lead to energy drain, or sometimes utter chaos.
You can avoid this by leveraging technology: The right tools help you streamline your work, reducing stress and maximizing your output of quality code.
Check out the following list of recommended productivity tools for the ambitious programmer:
Productivity software
This one’s great for getting your solo programming work done more efficiently, while also offering advanced features for managing your team.
When you start using a time-tracking and product management tool like DeskTime, you’ll be able to see exactly how much time you or your team are spending on each task, and track everything for easy assessment.
It also includes a handy pomodoro timer, which has given a boost to my own productivity – it’s what allowed me to create dozens of Pluralsight courses, build up Simple Programmer into a good-sized business, and write two massive books in the shortest time I could.
Consider using a software like DeskTime – you’re bound to transform your organisation and workflow as a software developer.
Productivity software
Trello is one of the most popular Kanban tools available. It integrates with DeskTime, so you can import your Trello boards to track the time spent on each task within your project.
Using Trello is super easy and intuitive – you don’t need to study any documentation to get going with it.
Just start creating your first boards for one of your projects, and you’re set to have a much better grasp on where your project is at and what needs to be done next.
Advanced project management app
If you’re working with a lot of Gantt charts in your business, Ganttpro lets you smoothly create and modify them.
It’s a high-level project management app for those working with a team and who need many advanced features.
One of those is task delegation: The software makes it easy to assign something to somebody on your team, and ensures only the right team members see it.
Recommended for the ambitious project manager.
Automation tool
As a software developer, you want to avoid repetitive tasks, much like repetitive code in your programs. In your code, you can use functions to do that.
And for automating mouse and keyboard inputs – there’s macro recording software. This tool works like a tape recorder for any task: You record it once, and then you can play it back as many times as you want at the click of a button.
Bartels Media’s Macro Recorder is one that’s safe, affordable, and easy to use.
Hand-picked coding music
Certain tunes seem to be made to get in you in the zone for a long, intense, productive coding session.
But, it takes effort to find them and assemble them in a playlist! And if you want to add more, you’ll have to constantly keep searching for the next gem.
MusicForProgramming solves this problem. They’ve assembled dozens of (free) playlists featuring the perfect tracks to create a fitting audio backdrop for your next programming sessions.
You can play them right on their site – which is designed to match the look of your coding environment.
Resources to Advance Your Software Developer Career
Simple Programmer book
My best-selling book of all time boasts 800 pages of advice on how to become a better, more valuable and financially successful programmer.
Tech job platform
Triplebyte is a hiring platform that helps software engineers find jobs at top tech companies.
They have 400+ companies on the platform including Apple, Box, and hundreds of mid and early stage companies that are looking to hire talented software engineers.
Creating your resume
Resume service
To reduce the chance of your resume being tossed onto the ‘rejected’ pile after only a quick glance, it’ll help if you have it look as slick and interesting as possible.
You could try and do this yourself – or make sure it’s up to professional standards by hiring a resume writing service.
After a one-on-one strategy call with you, FindMyProfession will create you an outstanding resume, cover letters, or even your LinkedIn profile and professional bio. They’re done within 3-5 days, and even offer a 60-day interview guarantee.
Choose between their Entry-Level, Professional, Executive and C-Level services by visiting FindMyProfession below:
Resume templates
If you don’t think you’ll need a full-on writing service, but also don’t want to completely DIY your resume, have a look into KickResume.
They’re helping techies of all experience levels land interviews with resume templates and guides. The templates are strategically formatted and ATS-friendly, making them look impressive to recruiters.
Kickresume is a great option if you want to create a nice resume and cover letter without spending a lot of money.
Resume tool
If you’ve written your own resume (and/or LinkedIn profile), you can use ResumeWorded to get feedback on your writing. Over 1 million people have used their AI-powered platform to improve their resumes and in turn score more interviews.
In under a minute, you’ll learn what parts of your resume could still be better, and you’ll receive an overall score to use as an orientation.
With ResumeWorded’s additional LinkedIn Review tool, you’ll be able to optimize your profile so you get approached by more recruiters.
Acing Your INterview
30 Interview Secrets
Free interview tips
In this free guide, ten FAANG software engineers spill their secrets on how they conquered their coding interviews.
Discover the patterns behind their advice, and consider the unique bits some of them share with you in this 10-page PDF.
There are certain strategies and tactics that just work in coding interviews – so why not hear about them from developers with proven success?
Prep platform
AlgoMonster is one of the best coding interview preparation platforms. Instead of video lectures, they’re betting on interactive step-by-step explanations.
This means that you can start solving coding interview questions right away, and input your solutions into the live coding environment. You’ll then get hints and further explanations, so you get guided to the correct answer – while doing everything yourself all the way.
This is a better approach for retaining the skill than having you sit back and watch someone else go through a question and lecture about the solution.
For this reason, AlgoMonster is a favorite of many. Check it out below:
Prep toolkit
In this course, I teach you not only how to approach any coding interview question, but also the ominous “soft skills” many talk about, but few seem to be able to actually help you with.
My approach of marketing yourself well, connecting with the interviewer, and leaving an outstanding impression, has landed me high-paying developer and consulting jobs.
The Accelerate Your Developer Career Toolkit teaches you these soft skills, so you can impress your interviewer not just with your technical expertise, but also your behavioral attributes.
Prep course
Another great option for your interview preparation is Interview Cake.
We've all struggled with interviews at one point or another. Software Developer interviews are notoriously difficult. But... Programming interviews are a winnable game. Learn the tricks to quickly solve problems you've never seen before.
Interview Cake gives you helpful, progressive hints for tackling the over 50 hours of practice questions and readings included in the course. They even offer a 100-day ‘no questions asked’ refund policy.
Coding Resources: Learning PLatforms
I hereby present you the best websites you can use to learn coding:
Code-learning platform
"It's like Duolingo for learning to code."
With Edabit, you'll earn XP, unlock achievements, and level up as you improve your coding skills:
- Step-by-step tutorials starting at zero - these are gold if you're a beginner
- 10,000+ bite-sized coding challenges
- Fun & addictive environment to advance your skills
Coding skills platform
As one of the major code-learning platforms with over 50M users, CodeCademy gives you access to more than 100 courses – covering everything from the most basic language tutorials to Machine Learning algorithms.
The cool thing about CodeCademy is that you can start testing out your learnings right away with their built-in coding environment.
In case you’re not sure where to start with CodeCademy’s wealth of content, there’s a helpful quiz that shows you which courses make sense for you to take first.
What’s more, the monthly membership is offered at a reasonable, affordable rate.
Education platform
Would you like to take the best courses by the most reputable universities in America – from the comfort of your home? Look no further than edX.
With edX, you can get a top-tier education in all things Computer Science, Data Science, and even Business & Project Management, if you so choose.
Whether you want to become certified in a new skill, switch careers, or simply follow your curiosity, the platform will provide what you’re looking for.
The future of learning is online – and edX allows you to take advantage of it today.
Learning platform
At ZeroToMastery’s learning platform, they’re helping you build your own projects to add to your portfolio. Their students manage to get hired for well-paying jobs or promoted to higher positions because of the demonstrable skills acquired at ZeroToMastery.
Their 47+ academy courses include over 9,400 lessons, with 955+ hours of content taught by experienced Software Developers, Designers, and Machine Learning Engineers, and other high-level professionals.
ZTM also includes an active discord community for you to network with peers, share your progress, and get helpful feedback and recommendations.
Coding skills platform
Mosh Hamedani is a reputable Software Engineer with over 20 years of experience. He’s offering you 43 coding courses in a reasonably priced monthly membership.
Whether you’re a beginner or an advanced coder, Code with Mosh has the right course for you – and the instruction is top-notch. The all-access subscription includes over 265 hours of video, exercises for you to take, and even lets you download each course.
You can either take language-specific courses, or follow an entire learning path, taking you from newbie to a complete Front-end or Back-end, Mobile or Game Developer, for example.
Learning platform
Udemy is great for learning Software Development topics in an easy-to-consume format. Its popularity means there’s hundreds of genuine reviews on everything, so you can judge the quality of each course before you take it.
Their vast library of content means you’ll find a course on almost any topic you can imagine – often at a low pricepoint.
Udemy might not have as many advanced courses as other platforms, but it’s great for getting a good grasp on something, and installing fundamentals you can then build on.
Course platform
At Coursera, you can earn a professional certificate, enabling to get into a new career within only six months of study.
Using their university-instructed and industry-credentialed courses, you could train yourself to become an Android Developer, Data Engineer, Digital Marketer, UX Designer, Cybersecurity Analyst, or DevOps Engineer, for example.
There’s different levels of membership giving you access to courses, guided projects, specializations or the professional certificates and degrees.
For a moderate monthly investment, you can complete a professional certificate, preparing you to earn good money as a specialist in one of many tech fields.
Soft Skills
Soft skills book
In my first best-selling book, I share the strategies and tactics you can use to improve your reputation, communication skills, and productivity as a programmer.
I’ve received much positive feedback on this book – for many developers, investing more in this area unlocks gains in their career, finances, and even their personal relationships, health and happiness.
There’s also an audio version that includes some bonus content.
The Life Manual is a great starting point for diving into personal and professional development, specifically if you’re a software developer.
Free productivity guide for developers
In this free guide, you’ll learn the habits you need to install if you want to increase your output of quality code, develop yourself professionally, transform your mental and physical wellbeing, as well as start and finish profitable projects.
I owe the success I’ve been fortunate to have – attaining the highest hourly rates as a developer and consultant, getting into the best shape of my life, and starting several high-yield businesses – to the ‘Peak Performance Habits’ I’ve built up.
Get my free guide and you’ll be well on your way to achieve your biggest goals, too.
Course for developers
This is the secret sauce for getting paid more than your run-of-the-mill developer: Marketing yourself in the right way.
In this in-depth course, I’m giving you all the tools you need to stand out from the crowd, build a reputation and a following online, and put yourself into a position to command the highest salaries or rates for your work.
‘How to Market Yourself as a Software Developer’ is Simple Programmer’s best-selling digital product, and it has helped hundreds of programmers build an audience, launch their own products, and win the types of jobs they desire most.
Financial Success
Wealth creation
Software engineering jobs pay handsomely, which is great! But it’s ‘active’ income, meaning you have to keep working the same amount of hours if you want to keep earning that high salary.
What if you’d like to get a higher return on time invested, build something that pays you month after month, and ultimately achieve full financial freedom?
I’ve done just that (and I retired from regular work almost a decade ago at 33). Join my WELL newsletter to discover how I did it and get yourself on the path to freedom.
Best Resources for Software Engineers
Software Engineering book
Using design patterns in your code helps you become a smarter, more efficient developer. This book gives you 23 of them, so you don’t have to figure out patterns by yourself.
Four experts are showing you their solutions to common programming problems, and how you can use these patterns to make your own process more efficient.
‘Design Patterns’ is called a must-read by many, and for a reason. The book takes you from the low-level perspective of a software developer to the high-level view of a Software Engineer or Architect.
Software Architecture book
Being an expert at Software Architecture will not only help you write better code, faster, but also give you access to higher-paying jobs as a Software Developer.
In this book, professional Software Architecture teachers Neal Ford and Mark Richards will teach you architecture patterns, components, soft skills, up-to-date engineering practices, and metrics.
‘Fundamentals of Software Architecture’ is laid out in an intuitive way, so you’ll understand the concepts effectively and gain maximum value. If you want to become a proficient Software Architect, I recommend you study this book inside out.
Udemy program
Want to apply design patterns in the real world? This Udemy course will teach you how to do that while refactoring an existing program.
All you need is a basic understanding of refactoring and design patterns (some knowledge of C# is helpful, though).
The hands-on nature of the course means you’ll be gaining practical skills as you move through it, as opposed to passively consuming the content and forgetting half of it the next day.
Spanning across 51 lectures at a total of 265 minutes, this course is a great value.
Classic programming book
This book has been a bestseller for years. In it, renowned software expert Robert C. Martin (“Uncle Bob”) initiates you into Lean principles of software development.
‘Clean Code’ has you think deeply about code examples throughout the book, and demonstrates case studies on how to take complex code and clean it up quickly.
By the end, you’ll be confident about your ability to tell good from bad code, your knowledge of how to fix the bad stuff, and your skills to properly test your code.
Developer Marketing & Portfolio Resources
Blogging course
3-week, affordable email course I created to show you exactly how to get started blogging.
Blog hosting
One of the best blog hosting sites to get started with. Get a blog up and created in about 5 minutes.
They have really good support, price is also extremely cheap and it's super easy to get started blogging with Bluehost. I always recommend Bluehost.
Website theme
Super fast WordPress themes that are highly configurable and look good.
I've purchased several different themes for Simple Programmer over the years and finally settled on this one.
It does everything I want and looks good.
Stock photos for your site
This is simply the best website for finding royalty-free images.
I've been using this service since I started this blog and I haven't stopped since.
If you need images for your articles or videos, this is the place to go.
Designing your brand
Our logo, book covers, business cards, some of our landing pages have all been done with 99 Designs. LOVE THEM.
Always get AWESOME work. Can't recommend them enough. Easily, easily worth the price. If you're looking for a strong brand, this is the place to start.
creating courses
Course platform
Podia is an all-in-one solution to host the courses you create.
It lets you host your courses, build a landing page and even accept payments using their platform.
And the best... It's affordable, too!
e-mail marketing
Email software
What I use for managing my email list.
Highly configurable. Works great. I highly recommend it.
storing your files
File storage
With a user base of over 16 million worldwide and an industry-first lifetime plan, pCloud is a super secure online storage provider
Hardware
To be a professional programmer who writes and compiles code quickly & efficiently, it makes sense to have the hardware to support your coding efforts.
I've listed some of my favorite pieces of equipment below.
High-performance laptop
This notebook is extremely powerful. It has a 9th Generation Intel Core i7-9750H Processor + a 512GB SSD.
If you're serious about programming, or even running some more robust software, this is definitely a good notebook choice.
Top-end Apple computer
Apple is definitely a standard when it comes to notebooks.
This Macbook Pro 15'' has all the specs to turn it into a powerful coding machine, making the best out of a stable operating system and a powerful & light computer solution.
Big monitor for coding
Writing code means having a LOT to deal with. And the bigger your monitor is, the better it gets.
This ASUS monitor is one of the best I've used in my entire life and it will definitely take your coding abilities to the next level.
Books
Exhaustive book list
This is my comprehensive list of book recommendations.
It contains pretty much every book I have ever read and recommendations from top developers I have encountered during my career.
Gifts for Programmers
The best gifts for programmers
Unlike our other articles, this one is not just for our Simple Programmers.
It is for their friends, family, and loved ones who have a hard time choosing the perfect present for the tech enthusiasts in their life.
The best gifts for CS majors
A list of gifts helping computer science students learn better and enjoy their studies more.
Developer Podcast & Blog Resources
Best of programming blogs
The SimpleProgrammer Ultimate List of Programmer Blogs.
If you're a programmer, you need to follow some of these blogs.
The best gifts for CS majors
I keep this list up to date as much as possible. I think this is the best list around.