\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{scottyrogers10} \pdfinfo{ /Title (the-8-most-desired-traits-in-a-computer-programmer.pdf) /Creator (Cheatography) /Author (scottyrogers10) /Subject (The 8 Most Desired Traits in a Computer Programmer Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{009688} \definecolor{LightBackground}{HTML}{EFF8F7} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{The 8 Most Desired Traits in a Computer Programmer Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{scottyrogers10} via \textcolor{DarkBackground}{\uline{cheatography.com/24385/cs/6003/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}scottyrogers10 \\ \uline{cheatography.com/scottyrogers10} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 7th November, 2015.\\ Updated 12th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Introduction}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Since getting offered a job as a full-time programmer in April of 2015, after having only 4 months of self-taught programming experience, I present you with the 8 most desired traits in a computer programmer.} \tn % Row Count 5 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Personal Drive}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{The ability to express in a humble yet assertive way, that you want to be the best at whatever you do, whether that is programming or anything else in life, will play a key role in landing a full time job as a programmer, even with little experience and no formal training. Employers for tech companies love seeing this trait in a potential prospect. The reason is simple, they know that if you have that "it" factor or drive in you, then you will quickly develop a passion for the work you do and are going to be in that 20 percent of programmers that make up for 80 percent of the work. Having the motive to be the best, means that you are going to spend extra hours, sometimes outside of work to learn new concepts and programming ideas that will further aid in whatever project you are currently working on.} \tn % Row Count 17 (+ 17) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Self-Learner}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{With how fast technology moves, you need to be able to become a self-learner. Being a full-time programmer means you will more than likely not go a single day without learning something new. Unfortunately most companies don't have the resources to have someone else hold your hand and teach you everything along the way. You need to be able to recognize a problem and then learn on your own how to solve it.} \tn % Row Count 9 (+ 9) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Laziness}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{This is an interesting trait, and one that you might at first think cannot possibly be true... but hear me out. I am not saying you want to tell future employers that you have lazy tendencies, but what I am saying, is that lazy people often find the best solutions to problems. Think about it, when you are lazy you don't usually want to complete a task the "right" way, and so often times you will complete a task using a different method, which will result in getting the task completed quicker than using the "right" method.} \tn % Row Count 11 (+ 11) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Intellectual Humility}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{The worst thing you can do as a programmer, is become so prideful in the knowledge that you have, that you aren't willing to admit that you don't fully understand a concept. As soon as this happens, your progression and skills will stop advancing. In an industry that is constantly moving forward, you will be left in the dust. When you don't understand how something functions or works, no matter the level of difficulty, you need to always be humble enough to ask questions.} \tn % Row Count 10 (+ 10) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Logical Thinker}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{For the most part, programming is about thinking logically, you are essentially just giving a computer a list of directions to follow in the order that you tell it. The old African proverb states it best, "How do you eat an entire elephant? One bite at a time." You need to be able to take a giant project and break it down into small manageable pieces, while keeping the goal in sight.} \tn % Row Count 8 (+ 8) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Creativity}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Having an eye for design is one of the best ways to separate yourself from the rest. As mentioned in the last trait, most of programming is about logical thinking and using the left side of the brain. The majority of humans naturally use the left side of the brain more than the right (your creative side). Being able to develop your creative side, can really pay off in getting offered a full time job in programming. No matter how good the code looks, if the design of an app or program doesn't have that "wow" factor, then you have a big problem. Since most programmers think almost solely with their left side of the brain, there is a big need for designers and creative minds (UI and UX programmers).} \tn % Row Count 15 (+ 15) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Team Player}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Being able to work with others effectively while creating a releasable final product, plays a fundamental part in being a successful programmer. Being a hard worker and cooperative throughout team projects is a great way to make a huge impression on your co-workers and leaders.} \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Passionate}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{When you become passionate about your work, then your job becomes more than just a job, it becomes something you constantly think about and want to improve. Developing this trait is the difference from a productive programmer that adds value to a company, and the programmer that just clocks in from nine to five and does the bare minimum. Trust me, no company wants to hire someone with the 9-5 mentality.} \tn % Row Count 9 (+ 9) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}