A great mind deserves a great tool.
To become a proficient software developer does not come from owning the latest fastest baddest tech. It comes from tireless practicing, learning, failing and growing. However, a proficient software developer requires the right tools and equipment just as an artist require his brush, paint and canvas to paint a beautiful masterpiece. The list provide just that (tools that will help on the journey to become a rock star) provided you have the right attitude toward achieving your goal.
Software developer in this context refers to either Android, iOS or Web Developers, even if you don’t develop for any of that, you’ll find valuable info here.
In no particular order these are the tools you need to become a world class developer though some are optional
- A Good Laptop : Very Important! i cannot over emphasize this. You see, building apps (from scratch), fixing bugs and integrating new features (into an app) can be hard, tasking, daunting and frustrating, why make life more complicated by doing the above using a crappy laptop? Wise and experienced developers go beyond buying computers with minimum hardware and software requirement that’s required to run the integrated development environment (IDE) for their job. It’s very important you apply common sense here and apply the comfort principle. I generally recommend going for a laptop with at least 8gb of RAM, SSD for storage, 14 – 15.6 Inch of 1080p matte finish display, latest Intel core i7 processor, and maybe a dedicated graphics card. For android developers you can check out Recommended laptops Android Development, iOS developers MUST use a mac to develop, although it is possible to develop for iOS (by using hackingtosh) but it is not recommended. Web Development does not require a powerful hardware rig laptops below $800 would serve really well including old Lenovo ThinkPads would work really well.
- Smartphone: A smartphone is important in the tool chest of a software developer. whether you’re a web developer, iOS developer or Android developer a smartphone will let you rapidly test out your code. Only two options are available when getting a smartphone – Android or an iPhone. You can’t go wrong buying either, but you should consider your area of software development, before you purchase either. If you want to be an Android developer it’s no brainier, you must own an Android device for testing and debugging apps, similarly for iOS you must own an iPhone, for aforementioned reasons. For web development any one (Android or iPhone) will do as long as you have a web browser installed (eg Chrome, Microsoft Edge, Mozilla etc). Recommended high end Android Device include Google Pixel 2, Samsung S8+, LG V30, One Plus 5t. You should consider the Xiaomi Mi A1 for recommended budget Android device. For an iPhone you only get one option every year and … … erm erm (clears throat) …. it is not cheap.
- A USB Cable: well this is not really a a big deal considering the fact that all new smartphones come along with a USB cable (and an adapter for charging) but if you’re going to be doing mobile app development (android or iOS) it’s of great importance because you’ll be using your USB cable (to connect your smartphone for debugging and testing purposes) a lot thereby subjecting it to torsional, bending and moment stresses (basically wear and tear) and most usb that accompanies new phones are not super durable. What software developers would need is You’ll need a very good USB that can withstand this repeated wear and tear so that you don’t have to keep buying new ones frequently (you need to apply comfort principle here too) cable to connect your device to your laptop/PC for easy debugging and testing of apps, although you can debug apps over Wi-Fi, it is not recommended (as of this writing)
- A HeadPhone or EarBuds: This can used to listen to Audio (podcasts or songs) or Watch Videos (coding tutorials, movies, etc) in places where using a laptop speaker is inappropriate or inefficient e.g Coffee Shop, Restaurant, In Transit, Library, Noisy Street etc i highly recommend Cowin E-7 or August EP650 (for over the ear bluetooth headphones), Samsung Level U Pro (for in ear bluetooth Earphones) and Xiaomi Mi IV Hybrid Dual Drivers Earphones (for wired Earphones )
- An Ergonomic Chair : applying the comfort principle is also really crucial here. You might think how will a when doing software development you’re going to spend a lot of time confined to a particular sit. However sitting for prolonged periods of time on a chair without proper lumbar support can hurt the spinal cord. Hence, you need to apply wisdom here, APPLY the comfort principle
- A developer Account: A developer account is what allows you to publish your hard work so that people can use your product. An Equivalent of ‘developer account’ for web developers is owning a shared hosting account and a domain name connected to it, for android developer, register for an developer account or for an iOS developer account.
- An Ergonomic Table : C’mon Amigo you’re not going to code on the floor, are you? even if you do, neck pains will kill ya! That’s why i recommend an Ergonomic Table, with good height
- A Jotter/NotePad and a Pen :
- Good Internet Connection : this needs to top your priority because internet is super duper crucial to your work as a software developer. Without the internet software development would be pointless
- An Ergonomic Mechanical Keyboard : This is not a necessity f you have a great keyboard on your On a laptop you might skip this one except if the on board keyboard is terrible or no longer working. Mechanical keyboards are the best, the tactile response/feedback make them awesome, the sound when typing “ta ta ta” alone will make you feel like a Super-Hero-Ninja Bad-ass coder.
- An Ultra-wide monitor : It’s a plus, if you have an ultrawide monitor. with such big width you can multi task very effectively by placing app windows side by side without have to switch windows every time you need to do something on another app. i recommend this 29″ LG UltraWide Monitor with FreeSync for Gaming – $240
- A Good Diet : Health is wealth Amigo. Eat healthy, stay alive!
- A big and healthy Library of books/video tutorials : Thing change in flash, new libraries and useful libraries are churned are created so frequently, new updates, new api, new methodology. You need to stay on top of things. You need to evolve with tech because if you don’t you’ll be outdated and your services will no longer be required!
- A Phone Dock : this is useful for software developers but especially useful for Mobile App Developers
- GamePads : all work no play makes Jack a dull boy! after an exhausting day of debugging, testing, git commits and mentally draining code review, you ought to give yourself a pat on the back. Becoming a software developer requires play time too!
- Sign up for a StackOverflow account : need i say more? It serves as a platform for users to ask and answer questions, and, through membership and active participation, to vote questions and answers up or down and edit questions and answers in a fashion similar to a wiki or Digg.
- Use Git : this is used to keep a documentation of code written so that you can easily revert to a working code when a problem occurs with the product/app/project. There are several git services, the most popular being github.com. Github allows it’s users to upload unlimited repositories for open source projects but for private repositories, you’ll have to shell out an annual or monthly payment. Services like bitbucket.org gives it users the opportunity to upload unlimited private repositories but has a limited number of users that can collaborate. To increase the collaboration limit, you’ll need to pay.
- Quora Account : this is a place to learn to become a great writer and also get a ton of knowlege for free. Join Today!
- Reddit Account : this is a great community to learn about your area of software development
- Youtube Account : a youtube account will allow you to upload video content FOR FREE! This is an advantage because you’ll be able to share what you have learnt, in the for of video tutorials, which will in turn make the knowledge stick permanently!
Thank you for reading!
[box type=”success” align=”” class=”” width=””]I sincerely believe you have what it takes to become a Rock Star Software Developer. Will it be hard? YES, but remember this quote
“If your determination is fixed, I do not counsel you to despair. Few things are impossible to diligence and skill. Great works are performed not by strength, but perseverance.” – Samuel Johnson