10 Projects and Skills That Will Make You a Better Developer
Tags: career, beginners, codenewbie, motivation
Published: 2020-07-22 20:46:55

*I wrote this article for the developer blog on the [TomTom Developer Portal](https://developer.tomtom.com), but I thought it would be a helpful article for the Dev.to community – especially newbies, emerging devs, and career changers. Happy reading!*

Give your resume an upgrade – no, I'm not talking about the design or the experience – we're tackling that skills section. One of the best ways to impress an employer is show that you are continuously learning new skills or tackling personal projects that help you professionally.

So, why not dedicate some time to learning a new skill or working on a new project?   Here are 10 project ideas or new skills to learn within the next 30-60 days that will up your programming game and impress your next company:

##Learn a New Programming Language

The more programming languages you know, not only will you be more marketable career-wise, but you’ll also be more versatile. Knowing one programming language as a developer is a requirement, but knowing more than one can help you see the strengths and limitations depending on the project you’re working on.    

With that being said, you might not just want to learn a new language that you’re not interested in or has no relevance to anything you’re currently doing. Pick a language that you’re interested in, or research a project that sounds interesting and see which language would be most beneficial to that project – do you have a favorite Github repository you keep glancing at? See what looks new there!   

If you’re a junior developer, you might have picked up Python. This is a fantastic place to start – Python is readable for newcomers, fun to learn, and has applications for advanced projects, including AI topics. Now that you have a great baseline, you might want to try a less familiar language to expand your experience.   

If Python isn’t on your list, you might consider letting its rising popularity sway you otherwise!

##Get Familiar with Data Structures and Algorithms

Some developers stand by the opinion that you don’t need to spend a ton of time learning data structures and algorithms if you’re just getting started in software development, and that investing some time into learning more about these topics is useful only if you’re a currently a web developer. Others stick by the thought that algorithms and data structures are the first place to start. 

No matter where you fall on this conversation, reviewing these concepts never hurts, especially if the time comes and you want to change your focus. To learn more about the basic algorithms and data structures, [this article gives a helpful overview](https://towardsdatascience.com/top-algorithms-and-data-structures-you-really-need-to-know-ab9a2a91c7b5), while [this article on freeCodeCamp](https://www.freecodecamp.org/news/these-are-the-best-free-courses-to-learn-data-structures-and-algorithms-in-depth-4d52f0d6b35a/) lists free courses to learn data structures and algorithms in depth.

##Master Databases And Basic SQL Queries

SQL, or structured query language, is a programming language that is used to communicate with a database. SQL operates through simple, declarative statements and helps solve problems that deal with large amounts of data. 

From companies to applications to everything in between, we live in a world of ever-increasing amounts of data. The demand for people who can work within the databases that hold these enormous amounts of data - and the need to retrieve information efficiently - keeps growing as well. Learning SQL and how to write basic queries is a great tool to add to your skill set.   

[LinkedIn Learning](https://www.linkedin.com/learning/topics/sql?u=2074018), [Khan Academy](https://www.khanacademy.org/computing/computer-programming/sql), and [Udemy](https://www.udemy.com/topic/sql/free/) have some free options for courses and tutorials on SQL– what are you waiting for? 

##Read Up on Encryption and Cryptography

Privacy is a hot topic in tech, and it’s important for developers to know how to use an encrypted, secure key to protect its users’ sensitive information. Developers should know the ins and outs of encryption algorithms, authentication, and cryptography.    

Much of the theory behind these topics has a strong background in advanced mathematics, often taught in colleges and select coding bootcamps. Luckily, whether you’re wanting to learn more or even just refresh your memory, there are a lot of resources on the web to help you get started, accessible from a simple search. More advanced learning could take the form of a certificate course from Coursera and others. 

If this topic is completely new to you, consider checking out [Practical Cryptography](http://practicalcryptography.com/) which has a helpful, short example on how basic ciphers can be made with code. For an interesting take on why the developer community can be the catalyst to change how user data is handled, check out this blog article by  my colleague, Developer Advocate Olivia Vahsen: [We Can’t Talk About Privacy Without Developers](https://developer.tomtom.com/blog/perspective/we-can’t-talk-about-privacy-without-developers).

##Study Machine Learning and AI

Artificial intelligence, or AI, can also be thought of as autonomous machine intelligence, while machine learning refers to the specific scientific methods that are used to build AI. While many discussions in tech revolve around the future of AI, there are dozens of ways we are already using this technology in our everyday lives, and more are being created by the second. Current examples of AI and machine learning include ride-sharing apps, email spam filters, mobile banking, social media, and search engines. As artificial intelligence continues to grow in popularity, new jobs in AI and machine learning are being created: machine learning developers, data engineers, AI Ops, and more.   

AI has a rich history which influences the different uses and applications currently in the field today. From data security to smart cars to healthcare, artificial intelligence permeates our lives, often more than we realize. This is a great time to start understanding where the field came from, where it is going, and what appeals to you to start learning.

##Brush UP on HTML and CSS

While it can be tempting to primarily focus on learning programming languages like Python or Ruby, if you want to build a complete project for the web, it’s important to have a grasp on some HTML and CSS skills. Learning the basic HTML tags and CSS selectors and properties is a good start. 

There are tons of tutorials – quite literally, an endless loop of them—to get you started in this area… which is amazing, but also overwhelming. Try to get creative, play around with templates, and see if you can use your skills to create a resume website for yourself! [W3schools.com](http://w3schools.com/) is a great place to get started.

##Discover More About IoT (Internet of Things)

According to [ZDNet.com](https://www.zdnet.com/article/what-is-the-internet-of-things-everything-you-need-to-know-about-the-iot-right-now/), the internet of things, or IoT, refers to “the billions of physical devices around the world that are now connected to the internet, all collecting and sharing data.” Worldwide spending on the IoT is expected to surpass $1 trillion in 2022, with these industries particularly spending the most: manufacturing, transportation, and utilities. IoT is a rapidly growing industry, and the job growth outlook is quite good.   

Having a working knowledge of a variety of software and hardware systems, at least one coding language, and some background in IoT is a great place to start becoming an IoT developer. [Coursera](https://www.coursera.org/specializations/internet-of-things) and [Udemy](https://www.udemy.com/topic/internet-of-things/) both have some affordable online courses in IoT– if this sounds interesting, check them out! 

##Gain an Understanding of Blockchain

Blockchain technology involves a decentralized ledger of all transactions across a peer-to-peer network and maintains a high level of protection for online transactions and personal user data. Through this registry, users can confirm transactions without needing a single centralized authority. 

Potential blockchain technology use cases include financial services (fund transfers), healthcare (patients’ encrypted health information), voting, automotive (fractional ownership of autonomous cars), and many more. Demand for blockchain developers is also skyrocketing, so it’s a great time to brush up on or learn some new skills in this area!

##Build Your Portfolio with Projects

Building your portfolio by including a variety of projects can not only be fun, but useful as well. New to making your own projects? [This article lists five tips](https://www.freecodecamp.org/news/five-tips-for-moving-from-coding-tutorials-to-making-progress-as-a-developer/) to help you graduate from following online tutorials to building your own projects. 

From beginner to advanced, [here are nine project ideas](https://www.freecodecamp.org/news/more-project-ideas-to-improve-your-coding-skills-99f48d09bb4b/) to improve your coding skills. Lastly, if you’re looking for a fun side project, this article lists [40 different side project ideas](https://www.codementor.io/@npostolovski/40-side-project-ideas-for-software-engineers-g8xckyxef%E2%80%AF) for software engineers, from AI to APIs.

##Find or Become a Mentor

New to programming? Connect with a mentor. Experienced developer? Be a mentor. Dev.to is a great space to connect with other developers, with lots of active forums and a plethora of new content daily. Need more convincing? [Read this software engineer’s journey](https://dev.to/molly_struve/yes-you-should-be-a-mentor-49j6) of deciding to mentor someone and how it turned out to be the best decision she ever made.   

If you’re new to the community, you might be wondering: which programming language should I learn first? For an in-depth analysis of the pros and cons of each, check out [this article from Free Code Camp](https://www.freecodecamp.org/news/what-programming-language-should-i-learn-first-19a33b0a467d/) - plenty of graphs, images, and developer humor included. If you’d like to read more about the top seven programming languages of today, as well as which languages are most in-demand by employers, [this article from Coding Dojo](https://www.codingdojo.com/blog/top-7-programming-languages-of-2020) is pretty helpful.

Which of these skills has been the most useful for you as a developer, and which skill or project are you most excited to get started on?


*I'm Ruanna, a content writer for TomTom Developers. This article originally appeared on [developer.tomtom.com](https://developer.tomtom.tom/blog). Check out our [Developer Portal](https://developer.tomtom.com) for more articles, tutorials, code samples, toolkits, and more!*