Recommended Resources & Tools
Building A Website
Disclosure: Some of these products are affiliate links. If you click on the link and make a purchase then I will get a small commission at no extra charge to you. I only recommend the highest quality products that I have used personally. Please do not spend any money on these products unless you feel you need them or that they will help you achieve your goals.
If you’re using WordPress (And let’s face it, WordPress can handle most peoples needs) then you should be using the Divi theme. It is without question the best WordPress theme I have ever used, by far. It integrates seamlessly with WooCommerce if you’re interested in E-commerce, and it can help you quickly and easily build a beautiful and highly customizable website or blog. If you want your website to get out of your way and let you GET STUFF DONE, then Divi is a great tool.
In order to run your own website, you need a “Hosting” provider. WPEngine specializes in WordPress web hosting. They are the highest quality hosting service for WordPress, so if you have a WordPress website, and you’re serious about growing a business or your blog, then WPEngine is a smart choice. They are pretty expensive, but the service they provide more than makes up for the cost.
BlueHost is another Web Hosting company. If you’re just testing an idea, or you just have a personal blog that you are starting just for fun or just to blog, then you don’t need all the performance and features that WPEngine gives you. Instead, BlueHost is a great “getting started” hosting service. The nice thing about BlueHost is that it’s dead simple. Even if you know nothing about computers, you can still use BlueHost to build a website in a matter of minutes. If you’re just getting Started, then BlueHost is a great option.
Emacs is a highly customizable text editor with an emphasis on keyboard shortcuts. Emacs will keep your hands off the mouse so you can blaze through your code at the speed of light. It can even become a full “Integrated Development Environment” if you want it to be. Emacs is high quality, Open Source, and Free. If Emacs doesn’t have a feature you want, then you can fire up an editor and create that feature yourself. As a beginner, Emacs may be difficult to wrap your head around; The learning curve is steep, but once you get it, it’s one of the best tools in a developers toolbox. One problem is that Emacs starts out as a barebones text editor. You have to search for and add customizations yourself to unleash its true power.
I am a proud Linux user. It’s built by developers for developers. Your TV, microwave, vacuum cleaner, stop lights, garage door openers, and many other things are probably using Linux as their server. Linux is also a great desktop. I personally use the Gentoo distribution, but there are plenty of other distros to choose from. If you’re using Mac or Windows, then I invite you to come over to the dark side.
Docker is a containerization tool that helps you quickly create and scale any development and production environment. For developers, this means you’ll never have to install anything on your computer again for development, multiple versions are no problem, your development environment can match production, and you can quickly get new team members on board with a simple $ docker-compose up. For Devops, this means easily scaling both out and up, and ensuring your applications have 100% uptime, and much more.
I love Tiling Window Managers. One of my favorite things about Linux/Unix 🙂 Instead of fudging around with the mouse, trying to move windows around on my screen, a Tiling window Manager like I3wm allows me to use keyboard shortcuts to manage my screen space. These window managers automatically fill 100% of the space on the screen so there’s no wasted space. They also distribute screen space evenly, and provide quick access to 10 different “work spaces”. A Tiling Window manager is a necessity for me. You can use keyboard shortcuts to do everything, and it’s beautiful.
Tmux is a “Terminal Multiplexer”. It takes your terminal emulator and turns it into a feature-rich productivity powerhouse. You can open up several “windows” and panes, quickly re-size them, and even manage your sessions. You can setup an entire development environment, and open up the entire thing in one command. I’ve barely scratched the surface of what Tmux can do, and I wish I would have started using it sooner. Download it with your package manager!
Reading about your industry for 20 minutes a day can dramatically improve your skills. Here are some books that are highly recommended in the tech industry.
Disclosure: Many of these are affiliate links, meaning I will get compensated if you purchase a book through my links, with no extra charge to you. I try hard to recommend only the highest quality products. Only buy a product if you think it will help you accomplish your goal!
Haskell is a great programming language to learn because it’s a “pure” language. It almost forces you to write code in a way that is more concise and follows best practices. Haskell is also purely a “Functional” programming language, so it will also teach you a new way to think about your code. Pick up this book to start learning Haskell!
It’s good to have at least a basic understanding of how computers work. You may be a programmer, but everything you do sits on top of the network layer, so knowing how computer networks operate will give you an advantage when you’re hunting down challenging bugs, or have some sort of lower level problem that you want to solve. Understanding the network will also give you a foundation to learn about securing your applications.