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

Thousands of cyber attacks occur each day

See the latest threats


Close [ x ] More from Nextgov

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

  • It’s Time for the Federal Government to Embrace Wireless and Mobility

    The United States has turned a corner on the adoption of mobile phones, tablets and other smart devices, outpacing traditional desktop and laptop sales by a wide margin. This issue brief discusses the state of wireless and mobility in federal government and outlines why now is the time to embrace these technologies in government.

  • 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.

  • A New Security Architecture for Federal Networks

    Federal government networks are under constant attack, and the number of those attacks is increasing. This issue brief discusses today's threats and a new model for the future.

  • Going Agile:Revolutionizing Federal Digital Services Delivery

    Here’s one indication that times have changed: Harriet Tubman is going to be the next face of the twenty dollar bill. Another sign of change? The way in which the federal government arrived at that decision.

  • Software-Defined Networking

    So many demands are being placed on federal information technology networks, which must handle vast amounts of data, accommodate voice and video, and cope with a multitude of highly connected devices while keeping government information secure from cyber threats. This issue brief discusses the state of SDN in the federal government and the path forward.

  • The New IP: Moving Government Agencies Toward the Network of The Future

    Federal IT managers are looking to modernize legacy network infrastructures that are taxed by growing demands from mobile devices, video, vast amounts of data, and more. This issue brief discusses the federal government network landscape, as well as market, financial force drivers for network modernization.


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