In 2017, there are so many different types of developers.
If you’re just starting out coding, it can be super intimidating to figure out which path to go down.
Should you specialize in front-end web development?
Building desktop apps?
What about virtual reality or self-driving cars.
There are so many different paths out there…how can you possibly determine which one is right for you right from the start?
If you’ve felt that way, I’ve got some good news. You absolutely do not need to worry about getting on a defined path this early in your journey.
Let me explain through a basketball analogy.
In the game of basketball, there are many different types of positions…like point guards, shooting guards, forwards, and centers. Within each of those positions, there is a lot of variation in the style you can play the game depending on your skill set.
If you were interested in basketball and wanted to start playing, you wouldn’t pick your final position right from the start. Doing so would severely limit you. Instead, you would just start playing, then gravitate towards what you’re good at and what you like as you get more experience.
The same is true with programming. You can’t be expected to know the exact type of programming you’re going to excel at and find the most engaging. Instead, you just need to start…over time you’ll figure out what you’re good at and what you’re not so good at.
If you’re feeling overwhelmed or confused by the number of different types of developers that exist within the field, then this blog post is for you!
We wrote it to help you break through analysis paralysis, get coding, and begin figuring out what you like.
Here are 18 tips to help do exactly that.
Tip #1: Build something with HTML and CSS
It’s relatively easy to build and launch a simple website using HTML and CSS. These technologies construct the underpinnings of the way web browsers give users information.
Working with HTML and CSS will give you a good introduction into writing code, using text editors, and getting the feel for how developers work. On top of that, it’s incredibly practical to gain a basic understanding of the building blocks of the web no matter what coding path you end up following.
Tip #2: Start a side project
Come up with an idea for a project and start planning it out. Even if you don’t know how to code, you can start brainstorming ideas and drawing diagrams showing how you would bring it to life. Getting it down on paper will motivate you to start making progress towards making it a reality.
Need even more guidance? Check out our 23 Step Framework For Launching Your Side Project.
Tip #3: Give front-end development a try
Front-end development involves writing code that executes within a user’s web browser.
When you’re working with front-end code, you’re working very closely with the visual elements of a web application.
Among other things, front-end developers are responsible for writing code that makes pages slick and responsive. Front-end developers also sometimes work with cool animations to make transitions between states of the application pixel perfect.
Tip #4: Go to meetups
Programming meetups allow you to meet other developers and interact with them in the real world. When you talk to other developers in person, it can give you some awesome perspective.
Try going to a few meetups and learning what other developers think about different specializations. Pay attention to the type of programmers you meet and make sure to get their opinions and viewpoints.
Tip #5: Watch conference talks on YouTube
Some of the best programmers in the world have given talks at conferences. These talks can expose you to different specializations ways of thinking that can spark you to figure out what you want to do.
Tip #6: Answer Quora questions about learning to code
Writing about the parts of programming that you enjoy can help you further discover where your passions lie. You can also spark passion in other people and get awesome feedback.
Sharing your knowledge with the world is easy, and Quora is a friendly place to do it.
Tip #7: Give the Ruby programming language a shot
Ruby is a programming language that I’m personally passionate about. I’d encourage you to give it a shot and start using it to see if it’s a specialization that you think fits you as a programmer.
Ruby is a programming language with fluid syntax, which makes it a great language to get started. As you learn more and more about Ruby and you get into the advanced aspects of the language (like metaprogramming), you’ll realize it’s an incredibly powerful and flexible programming language. That’s a key reason why we teach it in the Firehose course.
Tip #8: Experiment with different technologies
The only way to fall in love with a technology is to experiment with it. In your free time, experiment with different programming languages, frameworks, tools, and packages. Experimenting with something you are unfamiliar with will help you figure out what you like working with and what you don’t like working with, which can help you focus moving forward.
Tip #9: Inspire someone to learn to code with you
This will always make you more accountable and productive. Your learning partner might also help you uncover a facet of programming you haven’t previously discovered and lead you to specialization that you will ultimately love.
Tip #10: Don’t Forget About The Fundamentals
There might be a lot of different ways you can specialize as a developer, but even with the different ways, much of the foundation is the same.
Without them, you can easily fall into the trap of annoying things like:
- Writing way more code than is necessary.
- Finding coding solutions that aren’t optimal
Without knowing how to use CS concepts like algorithms and data structures, solving real-world coding problems can feel a lot like playing a round of golf with only a 9 iron. Can you get the job done? Probably. But it’s going to take you a lot longer and be a lot harder for you than someone who knows how to use a full set of clubs.
Tip #11: Work with a database
Databases power almost every single web application out there. By learning how databases work, you’ll figure out how to do things like:
- Insert data
- Remove data
- Update data
- Retrieve data
By learning this stuff, you’ll be able to build more powerful database-driven applications. These various aspects of interacting with a database are sometimes called CRUD for short: Create/Read/Update/Delete.
Tip #13: Start writing technical blog posts
By writing about complex coding ideas, you’ll help make the concepts click better in your head while showing your unique perspective to other people. On top of that, it can be guiding light to the things you actually care about.
After all, you’re not going to spend a few hours writing a technical post about something that doesn’t interest you.
You can see some of the technical blog posts from Firehose students on our medium publication Real world coding.
Tip #14: Try helping out on StackOverflow
Contributing on StackOverflow can be a powerful indicator about what aspects of coding you’re actually good at.
If you solve a problem that doesn’t already have great answer already posted on StackOverflow, take a few minutes to post your solution to the problem.
Not only can this help guide you, it also gives you karma that hopefully will be repaid if you’re ever asking a question on StackOverflow. This happened to me just last week.
Tip #15: Learn how to research
Whether you want to build self-driving cars, web applications, or virtual reality devices…you’re going to need to figure out how to research. It’s an essential part of becoming a developer. You need to learn how to use the Internet as a research tool.
You’re going to want to learn how to translate problems and questions into queries that Google can use to guide you to the answers. This skill is incredibly valuable no matter what type of specialization you want to get into.
Tip #16: Try building responsive web applications
Responsive web applications are applications that are catered to the specific device that the user is using to interact with your application. I’m talking about things like desktop computers, mobile phones, and iPads.
People will interact with the applications you build in many ways that are different from what you might be expecting. Learning how to build an amazing user experience across all devices is very valuable for all types of developers.
Tip #17: Spend time learning about accessibility
The web is used by all humans. And some humans need to interact with applications in ways that are different than you.
One example is to think about how blind people interact with web applications using screen reader devices. Screenreaders are incapable of knowing what images look like. That’s why things like alt text (plain text descriptions of images that go alongside the images) are incredibly helpful to people who need to interact with the applications you build with such a device.
Tip #18: Don’t sweat it too much
So don’t worry too much about picking a defined path early in your process. Just focus on these tips and developing the essential skills that transcend every aspect of the industry.
If you’re just starting out or have been coding on your own for a little while and you don’t know exactly where you want to end up as a programmer, that is totally ok!
The best basketball players didn’t know what position they wanted to play before they ever started shooting in their driveways. They just started…figured out what they were good at…and eventually focused on their strengths.
The same can be true for your coding journey. You’re not expected to know everything before you get started. Just start coding and follow where your passion takes you!