Coding Challenges

Want to improve your skills as a programmer? You can solve a coding puzzle or challenge. By solving different types of coding puzzles, you can sharpen your problem-solving skills.

Coding Challenges
Photo by Matthew Henry from Burst

Why do a coding challenge?

You want to learn a new programming language. You want to practice software design. You want to keep your programing skills current. You want to get ready for a programming interview. You want to have fun completing a challenge.

What can I do with the code from my challenge?

Write a blog post and share your solution. Share your solution on Twitter and other Social Media platforms. Make it part of an app.

Where do I find them?

It depends on what type of coding challenges that you want to do. Some coding challenges are mathematical, front end or part of a competition. You may need to sign up for an account before solving the challenge.

Project Euler

Project Euler
Project Euler has a series of mathematical and computer programming challenges for you to solve. You can use your own computer and favorite coding editor to solve their problems. Then, you can post your solution on their website.

CodePen Challenges

CodePen Challenges
CodePen has themed challenges that help you to improve your skills by building things. You need a CodePen account to sign up.

Scotch.io Code Challenges

Scotch.io Challenges
Scotch has monthly challenges to help you expand your skills in React, JavaScript or CSS. When you join their community, you receive the challenges by email. You can build your solutions in CodePen or CodeSandbox.

Daily Programmer on Reddit

Reddit Daily Programmer
Daily Programmer has 3 weekly challenges. They are easy, intermediate and hard. These challenges are open to beginners and experienced programmers. You need to join the Reddit Daily Programmer community to post your solution.

Whether you want to join a coding community or not, coding challenges can help you to learn more about programming and keep your skills sharp.

What tools do you use for creating great content?

What tools do you use for creating great content? Writing is challenging. When you need to write for the web, the pressure to create and publish great content makes it even harder.

What tools do you use for creating great content?
Photo by Peter Pryharski on Unsplash

You can choose to start writing. Force yourself to start with an idea and a blank page. Which may result in not so great content. Or you can use a tool or framework to plan out what you want to talk about.

You can use simple tools like mindmapping or an outline like you used in school to write an essay. These are great tools for getting started planning. For some types of writing, you are going to need a different technique.

  • The Core Model
  • Content Framework
  • Pair Writing

The Core Model

What is the Core Model? It is a tool that helps you to map out your business goals, user tasks and context. The Core Model is useful in deciding how users find the content you are planning and sketching out the main content. It helps you to focus on your business goals and user needs before you start writing.

Content Framework

The Content Framework is a form that you can use to answer questions that are vital to the writing process. Questions like who is going to read this, what business goals does this page support, and what tasks do we want the user to do. It helps you do think about what you want to say and who is your audience before you start writing.

Pair Writing

What is Pair Writing? It is borrowed from an agile software development technique called “pair programming“. In Pair Programming, two programmers work together on writing code. One programmer writes the code while the other one reviews it. The second programmer offers suggestions for improvements. The two programmers frequently switch roles. This technique takes longer but generally produces better quality of code.

Pair Writing follows a similar pattern. One person writes while the second person observes, asks questions and provides suggestions. The two writers switch roles to take turns writing and offering suggestions for improvements. This technique can take longer but you get greater involvement from all members of your team.

Writing for the web is challenging. When you have a team of designers, developers, content writers and management, using a writing process like The Core Model makes thing easier. It helps you to plan out your goals, answer questions on what the content should be about and do and create content that focuses on your customers.

Stay healthy and keep coding

Do you play, work and learn using a computer? The way you use a computer may be harmful to your health. It can affect your posture, hands and more. When using a computer becomes painful, it can change how you use it. You may think that you need to stop programming.

Stay Healthy and Keep Coding
Photo by Matthew Henry from Burst

To prevent that, you can focus on these 5 ways to stay healthy and keep coding.

How's your posture?

When you are coding you can get into the flow and forget about maintaining your posture. Check the way you sit or type periodically. If you need a reminder, have your computer remind you a couple times during the day.

Take regular breaks

Both your brain and body benefit from regular breaks. Depending on how you work, you many need to take a break every 45 to 90 minutes. One technique Pomodoro has you taking a 5 minute break every 25 minutes.

Optimize your workspace

When you work at a computer all day, it should suit your needs. Customize your computer to work for you. Try different type of setups. A new keyboard, mouse, chair or even a standing desk.

Move more

Moving can help you think better. Stuck on a problem, go for a walk. Find an exercise that you like to do and schedule it. By making it an appointment, your more likely to do it. Don't want to exercise alone? Get a buddy to exercise with. A buddy can help make exercise fun and make you stick to it so you don't disappoint them.

Eat better

Do you know what you are drinking and eating? Most people when they get busy or into the flow reach for what is easy and available. They don't pay attention to what they eat or drink. What can you do to optimize your eating habits? Make small changes. Swap out your afternoon snack with a fruit or vegetable snack that you enjoy. Buy a water bottle that helps you to drink more water during the day.

Want to increase your productivity as a programmer? You need to optimize the way you take care of yourself and develop a plan for staying healthy. The Healthy Programmer can help you change your work habits.

Moving to Markdown

What is your writing process? Whether you write a blog or technical documentation, you need to have a process. Not just a writing process, but a process for getting your work in a format that can be published on the web. My process is writing, converting to hypertext and publishing. It works, but it can be cumbersome adding the html code to my writing. What can I use instead? Markdown.

Moving to Markdown
Photo by: Free-Photos

What is Markdown?

Markdown is a way to write for the web. It is text to html conversion tool. The goal was to make it as readable as possible without looking like it was marked up with a bunch of formatting code. This simple system was created by John Gruber.

When you write HTML, it can get very complicated looking with the tags and extra formating:
HTML Code Screenshot

With Markdown, it looks much simpler:
Markdown screenshot

Changing your writing process

Markdown is easy to learn. The syntax is very simple. In five minutes or so, you can start writing in Markdown. You can use either a text editor or an app for Markdown.

What if you don’t want to use a special app? You can install it in IDEs like Atom or Visual Studio. With an IDE like Atom, you can use the preview mode to see how it will look in a browser before you publish your writing.

Want to get started learning Markdown? Start with this Markdown tutorial. It goes through each concept one lesson at a time. You can also use this cheatsheet to look up how do write Markdown.

Are you a maker or mender?

A maker is a person who likes to make and create things. They like building an idea from scratch and founding startups. Most developers are makers. They enjoy the process of designing, developing, experimenting and building a minimal viable product (MVP). A mender is a person who likes to maintain a product. They help it to growth and change to meet their customers needs over time. About 10% of developers are menders. They enjoy updating, refactoring, testing and remodeling your code. You can depend on menders to help you grow and maintain your products.

Are you a maker or mender
Photo by: picjumbo_com

What kind of developer are you?

You are a maker if you:

  • Enjoy tackling a problem and creating a brand new solution
  • Like to experiment with new ideas and techniques
  • Get bored if you have to repeat the same tasks
  • Find refactoring code, fixing bugs and handling customer support requests to be boring

You are a mender if you;

  • Find refactoring code, fixing bugs and handling customer support requests to be interesting
  • Enjoy fine tuning or updating existing code
  • Get stressed if you have to tackle a new problem and build a solution from scratch
  • Like to work best without hard deadlines

Not sure? Andrea Goulet of CorgieBytes explains the difference.

Staying motivated as a maker or mender

Developers love to write code. Makers and menders are motivated by different things. To create your best code, you need to know what motivates you.

As a maker, you work the best when you can experiment, create prototypes and develop ideas under a deadline. Makers are like home builders. They design, build and move onto the next house.

Menders work best when they have a number of tasks to complete. They enjoy deep diving into the code and fixing bugs and refactoring it. Menders are like home remodelers. They tweak, rearrange and fix what it wrong with an existing house.

When you write code, you have to maintain it. You can make your code more reliable and secure. Legacy Code Rocks is a podcast for menders or anyone who has to maintain code.