4 Ways to Reduce Workplace Eye Strain

If you have found this article, chances are you spend quite a bit of time staring at a computer screen.  Perhaps you even get headaches and fatigued eyes like me.  On long days, I might use my computer for 10 hours out of the day trying to get pressing work done.   While I will admit this is not particularly healthy, it sometimes seems unavoidable with project deadlines and work responsibilities.  After frequently getting migraines after some of these long, stressful days, I decided that enough is enough.  I started doing a bit of research on how I could minimize the effects and give my eyes, brain, and mind a break while still getting the work I needed to get one.  I am happy to say that with these 4 tips in this article, I have greatly reduced the amount of eye strain in my daily work life.

Adjust your display

If you are frequently getting eye fatigue from working long hours at the computer, consider changing the screen settings.  There are a few ways you can adjust the display, but the ones that may make the biggest difference from eye strain are the brightness and the color temperature.

  • Brightness:  If the brightness on your display is much brighter than your surrounding work station, it may be causing eye strain.  Turn the brightness down so that it isn’t noticeably brighter than the rest of your desk.
  • Color Temperature: “Blue Light” is frequently blamed as the top cause of eye strain.  To turn down the amount of blue light coming out of your display, switch to a more “warm color” display.  It will look slightly red/orange compared to the default settings.

Stay hydrated

When in doubt, drink water!  While most of the article is focused on the screen time aspect of eye strain and headaches, being dehydrated will make any strain you have worse.  Dehydration is one of the causes of headaches, and in general will make any day more difficult.  It’s possible that the best thing you can do for yourself is to drink a big glass of water.  One thing I find that makes it much easier to stay hydrated is to have a reusable water bottle take to work.  Personally, I prefer one with a handle on top so it can be easily carried to meetings while also carrying a laptop. 

Step away from the computer 

Okay, I understand that this contradicts some of what I was just saying.  However, for a lot of us, there are times of the work day when we are working, but we don’t really need to be staring at the screen.  Maybe you are in a brainstorming call, or you are thinking through a problem that could be done on pencil and paper, or you are discussing a project with a colleague.  These are good times to just walk away from your work station and take a walk, go to another work area without a screen, or 

Get a pair of “blue light” glasses

Out of all the things on this list, this personally made the biggest difference for me immediately.  Blue Light is a certain kind of light that comes out of screens (computers, monitors, TVs, and your phone all emit blue light).  It has been shown that blue light is what contributes most to eye strain and fatigue.  Naturally, one way to cut down on eye strain is to purchase a pair of blue light blocking glasses.   While they sound futuristic and fancy, you can actually pick up a pair at a very reasonable price.  I personally bought the following plastic pair by Gamma Ray for $15 and have had it for over 2 years.

The pair of Blue Light glasses I bought was only $15, but if you need prescription lenses, or prefer a designer frame, or want a step up there are certainly options for that as well.  For example, the LensCrafters site shows a nice collection and a few different variations of blue light lenses, including prescription glasses.  However, your local optometrist or eye glass store will likely have these as well.

If you have found this article, you are probably in need of a change in your life to help out with migraines or eye fatigue at work.  I encourage you to adjust your computer display, pay attention to your hydration, remember to take breaks, and consider the eye glasses.  Best of luck and happy coding!

How to Choose the Best Text Editor for Programming

Chances are, you’ve found this page because you are trying to choose a text editor to use and are a bit overwhelmed sheer number of them.   While there are many text editors that can get the job done, we’ve narrowed it down to a few favorites. Whether you are a new developer or a complete pro, we will help you find the best text editor for programming you style of code. 

If you need something simple, and are on a windows machine, use Notepad++

Notepad++ Text Editor for Programming

Notepad++ is a great editor for any skill level, as it is lightweight, clean and simple. 

Pros

Notepad++ is built on C++ and boasts a small program size.   I personally recommend it to programmers who are new and want something that is a step up from notepad, but don’t necessarily need to fully customize the editor and use every bell and whistle.  The UI is easy to use and the editor runs quickly. 

Cons

The biggest con here is that Notepad++ is only available on Windows.  Sorry Mac and Linux users!  It’s also not as customizable as products like Atom and Sublime.

If you specialize in Front End Development or Web Design, use Brackets

Brackets.io text editor for programming

Brackets is specifically designed to use when working in the browser or on front end code.  Whether you are a front end developer or a designer, this text editor is ideal.  

Pros

One of the most practical and useful features of Brackets is the ability to easily switch from a class tag to it’s corresponding CSS.  If you are a front end developer, this can save a lot of time and searching for the correct file and class name.  While it has other great features and a clean UI, this feature alone is one of the reason why it’s on our list for the best text editors for programming.

Cons

If you do more than just Font End Development, you might want to look elsewhere.  While Brackets is awesome for web development, it falls behind when it comes to some other languages.

If you are old school and used to command line, use Vim

Vim logo text editor for programming

If you are reading this article, chances are you aren’t going to choose use Vim unless you already use it regularly.  Vim is popular with “grey-beard” developers who remember when things were simpler, or maybe more complicated.

Pros

Vim is included in Linux and Mac operating system command lines and is the most convenient if you are already hacking away in the command line on your operating system.  It’s also extremely fast as there are no fancy packages or additional features to slow down the processes.

Cons

Vim is not for those who want an editor that will point out syntax errors, display color coding, or show a full file structure in the left hand margin.  

If you want to add your own formatting rules, use Sublime Text 3

Sublime Text 3 text editor for programming

Sublime Text 3 is one of the top industry leaders for text editors.  It has some great features like package managing, preprocessing, and is lightning-fast.  It’s also unique in that it’s the only text editor on this list that has a paid version ($80).   However, you can use it for free if you download the “trial version” and never upgrade.

Pros

The package manager allows customization of a plethora of programming languages.  Sublime Text 3 also offers a comprehensive set of shortcut commands to use within the program as well as easy project switching.

Cons

I am not a big fan of having to pay for text editors.  While Sublime Text will let you keep the trial version for an indefinite time, you will receive popups every so often reminding you to pay for the premium version.  This is a big annoying, but if you don’t mind having to close out these alerts very often, then this is the best choice in text editor for coding.

If you want to add your own formatting rules, and you don’t want to deal with periodic popups, use Atom

Atom logo Best Text Editor for Programming

Atom is fairly similar to Sublime Text 3 in terms of the customization capabilities.  Like Sublime, Atom uses a package manager to import various packages such as beautify, which helps format your code in any languages, or jshint, which will show you possible mistakes and warning in your Javascript code as you type.

Pros

I’ll be honest, Atom.io is my personal favorite text editor for programming.  Atom competes with Sublime in terms of its package manager.  If you use a Source Control like GitHub, Atom will also help resolve conflicts on merges.  The biggest pro here is that it is completely free, doesn’t ask you to upgrade to a premium version, and there are tons of useful packages which make it easy to set up a productive work environment, no matter what languages you are writing it.  

Cons

Atom can be slow at times if you’ve got too many projects loaded.  If you aren’t very well versed in coding, package config errors can be time consuming and difficult to debug.

If you are a native developer, use Android Studio or Xcode

Luckily, if you’re a Native App Developer, you probably already know that there are recommended (or required) development environments for both Android and iOS. 

Android Studio is the best text editor for Android developers, as it includes automatic importing, hints, and comprehensive error messaging, as well as all the tools to build your app on emulators or your own device. 

Android Studio Best Text Editor for Programming

Xcode is essential for iOS developers, mostly because there is no way to build iOS apps and deploy them to your device without Xcode.  Xcode is only available on OSx, which means if you plan to develop application for iPhone, you’ll have to invest in a Macbook or a Mac in the Cloud.

Xcode Best Text editor for programming

Conclusion

Now that you know a little about our picks for the top text editors for programmers, it’s important to mention that there are hundreds of other options.  At the end of the day, as long as you are comfortable with your environment and are able to produce code the way you want, your preferred text editor is the correct one.  We’d also love to hear about your favorite text editor and why, so feel free to comment below!

6 Tips to Help you Learn to Code

How can I learn to code? Won’t a code academy or bootcamp break the bank?

I can’t tell you how many friends and family members have asked me this question at one point or another.  If you are reading this article, chances are you have the same question.  Maybe you’ve thought of an idea for a website or app you’d like to create, or you want to learn how to use a particular tool.  Everyone seems to have an app idea these days, but how can you gain the skills you need to implement it yourself?  

Luckily, there are literally thousands of resources and tutorials online that are completely free to use and can help you get started learning to code.  But if this is true, then why does it seem so hard to get started, and why hasn’t everyone picked up the skills?  Well, the truth is, learning to code or program when you have no prior knowledge usually involves a very steep learning curve.  Often times to really grasp how to create that first real application or website takes consistent work and dedication, and many failures before success. 

Many people tend to get discouraged and give up, or maybe it’s too time consuming to get over the learning-hump, or perhaps it just doesn’t keep their interest.  However, I’m going to let you in on a few tips that I suggest if you are a newbie to coding but are looking to either teach yourself or jump into some kind of program, bootcamp, or class for the very first time.

1. Learn by Coding a Project Hands On

The first piece of advice that I have for anyone who is brand new to development is that the only way to truly learn how to code is to make a project.  Sure, tutorials and reading are great and can help lead you in the right direction.  However, creating your own project where you are forced to debug issues on your own will help you get used to the problem solving process that is at the core of effective programming.  Creating something real will also help keep you motivated. If you don’t have any ideas right now, there are plenty of [idea lists](https://www.reddit.com/r/learnprogramming/comments/2a9ygh/1000_beginner_programming_projects_xpost/) that can give you some inspiration.

2. Take Advantage of Online Resources

If you ever get stuck in your work, come across errors in your code you can’t identify, or just need a reminder, Google it.  When it comes to debugging your code, getting help, and better understanding how to improve your projects, the internet is a goldmine.  Even seasoned developers will tell you that they use StackOverflow almost every day.  Chances are if you are coming across a problem, someone else already as also and has written the solution online.

There are also many many awesome free courses online.  MIT offers free online computer science courses, and other platforms like Coursera and Udacity have free programming video courses online.  If you would be more motivated when you pay, you might check out a program like Udacity where you get code reviews, mentorship, and a certificate afterwards.  If you feel like you need an intensive kind of course, you might consider a coding bootcamp or code academy.

UPDATE 7/15/2019: Right now, Udacity is offering $100 off their Nanodegrees with this special referral link! If you are on the fence, this is a good time to join (Offer is valid through Nov 30, 2019)

3. Find a Mentor

Although plenty of people have learned to code completely on their own, I suggest finding a mentor or colleague.  Having someone to help you with questions, encourage you, and occasionally give you tips can make your live so much easier and you have a much better chance of succeeding with someone in your court.  There are tons of reasons why having a mentor can make you a better developer, and they will also help act as a sounding board for your ideas.

4. Don’t Give up

This might seem obvious, but I thought I should reiterate this.  When I said there is a learning curve, I wasn’t kidding.  If you have some exposure to programming, math, and sciences, you might find creating your first webpage or application easier, but if you don’t, that doesn’t mean you are not cut out for it.  Programming is basically a series of logic operators and commands which go in a particular order.  The first time you are writing instructions for the computer this way, it can be difficult and confusing.  However, practice is what is going to get you there.  The other great part about this is that once you do learn one programming language well, it’s generally a lot easier to pick up the second, and the third, fourth etc.  Once you get over the hump, you can take on anything.

5. Practice Regularly

The longer you wait between coding sessions, the more likely you are to spend a lot of your time trying to remember what you did in the last session.  To avoid this, and to keep things fresh in your mind, I definitely suggest revisiting your project as often as possible.  Even if you don’t have time to spend 2 hours in a day on coding, try to fit in 30 minutes that day and fix a smaller bug; it will be easier to context switch and pick the project back up the more often you see the code.

6. Have Fun

At the end of the day, remember that coding should be fun!  Yes, it can be very difficult to learn to code at times, but it is also very rewarding and (hopefully) sometimes it will be enjoyable too.  Personally, I find that being able to play with my finished product is a wonderful feeling of success, accomplishment, and a confidence booster.  The knowledge that I’ve created some kind of cool product, app, webpage, or program out of thin air feels somewhat magical, and it is pretty fun to have that sense of ownership.  

So remember, as you embark on the next steps of your journey:  create a project, find a mentor, use those free online resources, practice, don’t give up, and HAVE FUN!

7 Great Side Gigs for Developers

Stack of one dollar bills

So, you’ve got a great full time job as a developer, But there’s still something missing.  Maybe you’re looking for something to build your resume.  Perhaps you wish to have your own side business.  Or, very possibly, you are looking for a way to make some extra dough.  Luckily, these days there are increasingly more ways an individual earn money on the side, often online.  Most have heard of doing side gigs such as Uber and Lyft, but what about gigs that are geared towards developers?  In this article, I compiled 7 ways to make some extra cash that are geared towards developers, programmers, and those with technical backgrounds.

1. Get a Freelancing Gig

Table with laptop, coffee, and notepad

 

Freelancing can be a great way to supplement your income, and for those successful enough, it can become a full time gig and offer some real benefits.  For one, you tend to be in control on picking the jobs that make the most sense for your skills, schedule, and interest.  The hard part is building a client base.  Luckily, there are a few online sites that can help you get started. Upwork is probably the most well know and largest platform out there, where you can easily sign up for an account and start bidding on projects.  There are a whole bunch of other freelancing websites out there as well, one of my favorites being TopTal, which is quite selective in their vetting process of applicants.  If online is not your style, you can also try to build your own network of clients.  Perhaps of people you know previously and enjoyed working with you, family friends, or schools.

2. Become a mentor for an online education company

women coding on laptop

 

There are a few online learning companies which offer programming and coding courses.  The most notable of these are Coursera, Udacity, and Udemy.  If you happen to take and graduate a Nanodegree program at Udacity, you might be in a good stop to get a side gig.  If you’ve gained enough experience and performed well in the course, you could be invited to apply to become one of their course mentors or code reviewers. Udacity Mentors work as contractors and get paid based on engaging with students and reviewing projects, and the hours are flexible.  This kind of work is especially rewarding if you enjoy helping other people learn to code and grow as developers.  Udacity offers a wide variety of programs including Artificial Intelligence, Android Development, Self Driving Cars, Virtual Reality, and other cutting edge subjects!

3.  Start a Technology Blog

Individual using mobile phone

 

If you love writing or have a lot to share, you might consider starting a technology blog in order to share articles, ideas, and code snippets.  This method will probably not give you a big paycheck immediately, but if you keep writing quality content and optimize your SEO, you can see your blog grow.  If you get enough website traffic, you can earn revenue by running ads with Adsense or using affiliate marketing.  If you are successful, this could even turn into a full time gig.  Some of the more successful blogs can rake in upwards of 100k or more.   Thats nothing to laugh at!

4.  Become a Tutor

Woman teaching group of students

 

As a developer or programmer, chances are you have a strong background in Math and Science.  STEM tutors are frequently in demand for grade school, high school, and college students.  In order to get involved, you might market your own business in your area to parents or around campus, or join a tutoring agency in your area.  STEM tutors can make anywhere from $20-$70 an hour depending on the area and level you are tutoring.  This is another great option for anyone who enjoys teaching and helping shape young minds.

5. Write your own Trading bot

Bitcoin, Ethereum, and Ripple cryptocurrency coins

 

This one might seem a little “out-there”, but its also one of the more fun ideas on this list.  Trading bots are algorithms which detect patterns in markets and execute buys and sells based on its predictions.  With the late 2017 craze of Bitcoin and Cryptocurrencies, companies like Coinbase great exponentially.   More and more people are becoming interested in the volatile currencies.  Especially in high paced, volatile markets (such as Cryptocurrency), they have the potential to be successful and lucrative.   There are more than a few tutorials online that can help you get started.  While this could be profitable, like any kind of investment, it’s important to remember that it can also lose you money. Furthermore, it’s debatable how effective these trading bots actually are.  I’m not necessarily advising anyone do this, but if you feel up to a challenge and a cool project, it’s a fun one to take a stab at.  

6.  Make your own mobile application

Developer Team coding Javascript

 

One thing that you can do if you aren’t already worn out from your full time gig of coding is to consider creating your own personal Mobile App.  Both the App Store for Apple products and the Google Play Store for Android are platforms on which you can publish your apps.  In order to succeed in making money, you’ll either need a paid app, an app that runs ads, or an app which requires in-app purchases.  Not to mention, this one also looks great on a resume!

7.  Create your own online course

A few platforms such as Udemy and Teachable allow users to create their own online courses and release them on their platform.  There is a huge market for people looking to learn more through online courses.  If your content gets enough traffic and has real interest, you can make a real chunk of change in passive income once your course is released, such as this fellow who earned more than $5000/month in passive income from Udemy courses in 2015.

All in all, there are many ways to earn a few extra bucks, especially as a developer.  Whether you want to do more development, help tutor or mentor others, or write about what you’ve learned, that opportunities are out there, you’ve just got to decide what makes sense for you, your interests, and your time commitments.   Good luck!