recommended reading

Four Tips to Become a Better Coder (That Actually Work)

Sergey Nivens/

While in-person courses can be a great way to build a basic foundation, I (and I imagine many other self-taught engineers) have been extremely fortunate to have some great mentors along the way who gave us tons of support and excellent advice. In the days following the article I wrote last week regarding coding bootcamps, many budding developers wrote in asking for more tangible advice. Below is a list of four pieces of advice that I received over the past 18 months from my mentors which I found to be the most useful in not only making me more marketable to hiring managers, but also helping me grow substantially as a developer:

1. Build and host your personal website

While this seems like an obvious step, it is perhaps one of the the most important. Your website will become a portal for you to present yourself to both employers and the development community at large. If you already own the domain you want to use, that’s awesome. Otherwise you can pick up a cheap domain through registrars such as or Try to avoid 1and1 or GoDaddy if you can.

While many registrars also offer hosting, avoid using it. Deploying a website through a registrar is pretty simple and you’ll learn a lot more by getting a virtual machine through a service like Linode or Digital Ocean. I personally like Linode because you really just get a plain, vanilla Linux VM. Additionally, it has an incredible array of wiki entries and development resource for you to get off the ground. You can also check Feross Aboukhadijeh’s blog post on how to configure your linode instance for maximum awesomeness.

2. Don’t use Django or Ruby on Rails

Don’t get me wrong, Django and Rails are great technologies. They speed up the development process and make bringing a basic app to deployment a lot faster. But in doing so they also hide a lot of what goes on under the hood in the proverbial Django or Rails magic. Next time you want to build a web application try something like Sinatra (for Ruby) or Flask (for Python). They are much lighter weight and provide one with far fewer features right out of the box than either Rails or Django. Miguel Grinberg, an awesome developer who wrote the O’Reilly book on Flask development, offers an incredible 18-part tutorial on his blog for using Flask. If you want to really push yourself try using Flask or Sinatra to build an API and serve your data up to a JavaScript front-end application.

3. Learn C the hard way

Languages like Ruby and Python are great at helping budding developers get up to speed with core computer science concept. Additionally, they read pretty easy on the eyes and make writing programs that actually do something a lot faster. It’s no surprise then that Ruby or Python tend to be the go-to languages of developer bootcamps. But as incredible as they are, they hide a ton of functionality under the hood. As it is, a lot of the Ruby and Python stand libraries are built on top of C.

While C can be really intimidating for new developers, it’s really close to the machine and, by learning it, any budding developer will have a much better understanding of the various aspects of a language like Ruby or Python, in addition to better foundational knowledge of computer science. Developer Zed Shaw has made it easier than ever to learn C, publishing a free e-book called Learn C The Hard Way. You can also pick up a short O’Reilly book on C for free over at IT eBooksto read along the way.

4. Attend local MeetUp groups

Developers are nice people and many out there willing to help inexperienced programmers pick up new tools and grasp tougher concepts. If you live in a major metropolitan area, chances are there is a language specific MeetUp group in your area. Go to it. Meet other developers, nerd out on code and ask them some of the tougher questions you might have. In my experience, the developers I’ve met at MeetUps have been nothing but helpful.

Follow Chris on Twitter @triplec1988.

(Image via Sergey Nivens/

Threatwatch Alert

Network intrusion / Spear-phishing

Researchers: Bank-Targeting Malware Sales Rise in Dark Web Markets

See threatwatch report


Close [ x ] More from Nextgov

Thank you for subscribing to newsletters from
We think these reports might interest you:

  • Data-Centric Security vs. Database-Level Security

    Database-level encryption had its origins in the 1990s and early 2000s in response to very basic risks which largely revolved around the theft of servers, backup tapes and other physical-layer assets. As noted in Verizon’s 2014, Data Breach Investigations Report (DBIR)1, threats today are far more advanced and dangerous.

  • Featured Content from RSA Conference: Dissed by NIST

    Learn more about the latest draft of the U.S. National Institute of Standards and Technology guidance document on authentication and lifecycle management.

  • PIV- I And Multifactor Authentication: The Best Defense for Federal Government Contractors

    This white paper explores NIST SP 800-171 and why compliance is critical to federal government contractors, especially those that work with the Department of Defense, as well as how leveraging PIV-I credentialing with multifactor authentication can be used as a defense against cyberattacks

  • Toward A More Innovative Government

    This research study aims to understand how state and local leaders regard their agency’s innovation efforts and what they are doing to overcome the challenges they face in successfully implementing these efforts.

  • From Volume to Value: UK’s NHS Digital Provides U.S. Healthcare Agencies A Roadmap For Value-Based Payment Models

    The U.S. healthcare industry is rapidly moving away from traditional fee-for-service models and towards value-based purchasing that reimburses physicians for quality of care in place of frequency of care.

  • GBC Flash Poll: Is Your Agency Safe?

    Federal leaders weigh in on the state of information security


When you download a report, your information may be shared with the underwriters of that document.