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:

  • Modernizing IT for Mission Success

    Surveying Federal and Defense Leaders on Priorities and Challenges at the Tactical Edge

  • Communicating Innovation in Federal Government

    Federal Government spending on ‘obsolete technology’ continues to increase. Supporting the twin pillars of improved digital service delivery for citizens on the one hand, and the increasingly optimized and flexible working practices for federal employees on the other, are neither easy nor inexpensive tasks. This whitepaper explores how federal agencies can leverage the value of existing agency technology assets while offering IT leaders the ability to implement the kind of employee productivity, citizen service improvements and security demanded by federal oversight.

  • Effective Ransomware Response

    This whitepaper provides an overview and understanding of ransomware and how to successfully combat it.

  • Forecasting Cloud's Future

    Conversations with Federal, State, and Local Technology Leaders on Cloud-Driven Digital Transformation

  • IT Transformation Trends: Flash Storage as a Strategic IT Asset

    MIT Technology Review: Flash Storage As a Strategic IT Asset For the first time in decades, IT leaders now consider all-flash storage as a strategic IT asset. IT has become a new operating model that enables self-service with high performance, density and resiliency. It also offers the self-service agility of the public cloud combined with the security, performance, and cost-effectiveness of a private cloud. Download this MIT Technology Review paper to learn more about how all-flash storage is transforming the data center.


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