Added a new target for make called norm, and cleaned up backups
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
output/
|
||||
.packages/
|
||||
.DS_Store
|
||||
backups/
|
||||
0
20241210001045-technical.org
Executable file → Normal file
0
20241210001045-technical.org
Executable file → Normal file
0
20241210001045-technical_moc.org
Executable file → Normal file
0
20241210001045-technical_moc.org
Executable file → Normal file
0
20241210001150-aoc_notes.org
Executable file → Normal file
0
20241210001150-aoc_notes.org
Executable file → Normal file
0
20241210001206-leetcode_notes.org
Executable file → Normal file
0
20241210001206-leetcode_notes.org
Executable file → Normal file
0
20241210004247-emacs_moc.org
Executable file → Normal file
0
20241210004247-emacs_moc.org
Executable file → Normal file
0
20241210004247-emacs_stuff.org
Executable file → Normal file
0
20241210004247-emacs_stuff.org
Executable file → Normal file
0
20241210004329-org_roam.org
Executable file → Normal file
0
20241210004329-org_roam.org
Executable file → Normal file
0
20241210004453-gtd.org
Executable file → Normal file
0
20241210004453-gtd.org
Executable file → Normal file
0
20241210012703-fyp.org
Executable file → Normal file
0
20241210012703-fyp.org
Executable file → Normal file
0
20241210152650-uni.org
Executable file → Normal file
0
20241210152650-uni.org
Executable file → Normal file
0
20241210152650-uni_moc.org
Executable file → Normal file
0
20241210152650-uni_moc.org
Executable file → Normal file
0
20241210152713-tpis.org
Executable file → Normal file
0
20241210152713-tpis.org
Executable file → Normal file
0
20241210232054-uml_fyp.org
Executable file → Normal file
0
20241210232054-uml_fyp.org
Executable file → Normal file
0
20241210233721-brain_moc.org
Executable file → Normal file
0
20241210233721-brain_moc.org
Executable file → Normal file
0
20241211161232- job_application_cover_letters.org
Executable file → Normal file
0
20241211161232- job_application_cover_letters.org
Executable file → Normal file
0
20241211161232-applications.org
Executable file → Normal file
0
20241211161232-applications.org
Executable file → Normal file
0
20241212013207-haskell_notes.org
Executable file → Normal file
0
20241212013207-haskell_notes.org
Executable file → Normal file
0
20241212013902-lazy_evaluation.org
Executable file → Normal file
0
20241212013902-lazy_evaluation.org
Executable file → Normal file
0
20241213005125-c_notes.org
Executable file → Normal file
0
20241213005125-c_notes.org
Executable file → Normal file
0
20241213005156-socket_programming_in_c.org
Executable file → Normal file
0
20241213005156-socket_programming_in_c.org
Executable file → Normal file
0
20241217234535-web_port_notes.org
Executable file → Normal file
0
20241217234535-web_port_notes.org
Executable file → Normal file
0
20241217234944-wp_emacs_config_blorg.org
Executable file → Normal file
0
20241217234944-wp_emacs_config_blorg.org
Executable file → Normal file
0
20241220234456-github_notes.org
Executable file → Normal file
0
20241220234456-github_notes.org
Executable file → Normal file
0
20241231172511-book_notes.org
Executable file → Normal file
0
20241231172511-book_notes.org
Executable file → Normal file
0
20241231172543-the_science_of_self_discipline.org
Executable file → Normal file
0
20241231172543-the_science_of_self_discipline.org
Executable file → Normal file
0
20250111213016-wp_prefront_cortex_blog.org
Executable file → Normal file
0
20250111213016-wp_prefront_cortex_blog.org
Executable file → Normal file
0
20250120110833-afp.org
Executable file → Normal file
0
20250120110833-afp.org
Executable file → Normal file
0
20250120111047-afp_week1.org
Executable file → Normal file
0
20250120111047-afp_week1.org
Executable file → Normal file
0
20250120113936-afp_lab_1.org
Executable file → Normal file
0
20250120113936-afp_lab_1.org
Executable file → Normal file
0
20250121110241-afp_lec_1.org
Executable file → Normal file
0
20250121110241-afp_lec_1.org
Executable file → Normal file
0
20250128110828-afp_week2.org
Executable file → Normal file
0
20250128110828-afp_week2.org
Executable file → Normal file
0
20250128111008-afp_lec_2.org
Executable file → Normal file
0
20250128111008-afp_lec_2.org
Executable file → Normal file
0
20250213124335-i3_wm.org
Executable file → Normal file
0
20250213124335-i3_wm.org
Executable file → Normal file
0
20250214155617-wp_new_emacs_config_blorg.org
Executable file → Normal file
0
20250214155617-wp_new_emacs_config_blorg.org
Executable file → Normal file
0
20250218110239-afp_week5.org
Executable file → Normal file
0
20250218110239-afp_week5.org
Executable file → Normal file
0
20250218110346-afp_lec_5.org
Executable file → Normal file
0
20250218110346-afp_lec_5.org
Executable file → Normal file
0
20250218174735-emacs_stuff_keybindings.org
Executable file → Normal file
0
20250218174735-emacs_stuff_keybindings.org
Executable file → Normal file
0
20250226184629-wp_urge_surfing_blorg.org
Executable file → Normal file
0
20250226184629-wp_urge_surfing_blorg.org
Executable file → Normal file
0
20250314223811-wp_growth_mindset.org
Executable file → Normal file
0
20250314223811-wp_growth_mindset.org
Executable file → Normal file
0
20250314230952-wp_emotional_intelligence.org
Executable file → Normal file
0
20250314230952-wp_emotional_intelligence.org
Executable file → Normal file
0
20250324041724-wp_week_12_reflections.org
Executable file → Normal file
0
20250324041724-wp_week_12_reflections.org
Executable file → Normal file
0
20250326002128-emacs_stuff_elisp.org
Executable file → Normal file
0
20250326002128-emacs_stuff_elisp.org
Executable file → Normal file
0
20250329114733-ise.org
Executable file → Normal file
0
20250329114733-ise.org
Executable file → Normal file
0
20250329114848-ise_week_1.org
Executable file → Normal file
0
20250329114848-ise_week_1.org
Executable file → Normal file
0
20250329121843-ise_week_2.org
Executable file → Normal file
0
20250329121843-ise_week_2.org
Executable file → Normal file
0
20250329142725-ise_week_3.org
Executable file → Normal file
0
20250329142725-ise_week_3.org
Executable file → Normal file
0
20250329200158-ise_week_4.org
Executable file → Normal file
0
20250329200158-ise_week_4.org
Executable file → Normal file
0
20250329231658-emacs_stuff_magit.org
Executable file → Normal file
0
20250329231658-emacs_stuff_magit.org
Executable file → Normal file
0
20250331201944-ise_week_5.org
Executable file → Normal file
0
20250331201944-ise_week_5.org
Executable file → Normal file
0
20250331202447-ise_week_7.org
Executable file → Normal file
0
20250331202447-ise_week_7.org
Executable file → Normal file
0
20250402185735-java_moc.org
Executable file → Normal file
0
20250402185735-java_moc.org
Executable file → Normal file
0
20250402185735-technical_java_notes.org
Executable file → Normal file
0
20250402185735-technical_java_notes.org
Executable file → Normal file
0
20250403120140-fyp_report_planning.org
Executable file → Normal file
0
20250403120140-fyp_report_planning.org
Executable file → Normal file
0
20250412234351-wp_sadness.org
Executable file → Normal file
0
20250412234351-wp_sadness.org
Executable file → Normal file
0
20250417173809-linux_moc.org
Executable file → Normal file
0
20250417173809-linux_moc.org
Executable file → Normal file
0
20250417173809-linux_stuff.org
Executable file → Normal file
0
20250417173809-linux_stuff.org
Executable file → Normal file
0
20250417173821-wacom_notes.org
Executable file → Normal file
0
20250417173821-wacom_notes.org
Executable file → Normal file
0
20250420012258-emacs_stuff_evil.org
Executable file → Normal file
0
20250420012258-emacs_stuff_evil.org
Executable file → Normal file
0
20250428133236-systemd_services.org
Executable file → Normal file
0
20250428133236-systemd_services.org
Executable file → Normal file
0
20250430001952-microlise_assessment.org
Executable file → Normal file
0
20250430001952-microlise_assessment.org
Executable file → Normal file
0
20250516161728-gpg_encryption.org
Executable file → Normal file
0
20250516161728-gpg_encryption.org
Executable file → Normal file
0
20250703183239-linux_arch_linux.org
Executable file → Normal file
0
20250703183239-linux_arch_linux.org
Executable file → Normal file
@@ -1,331 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-07-16 Wed 21:52 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>The-Clean-Coder</title>
|
||||
<meta name="author" content="Zaine Qayyum" />
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">The-Clean-Coder</h1>
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org3ecd0f6">1. Chapter 1: PROFESIONALISM</a>
|
||||
<ul>
|
||||
<li><a href="#orgbdb281f">1.1. Do no harm</a></li>
|
||||
<li><a href="#orgbcbd9f8">1.2. Do no harm to the structure</a></li>
|
||||
<li><a href="#orgffcebe8">1.3. Work ethic</a></li>
|
||||
<li><a href="#org629e419">1.4. Know your field</a></li>
|
||||
<li><a href="#orge6f09b5">1.5. Continuous learning</a></li>
|
||||
<li><a href="#org903f046">1.6. Practice</a></li>
|
||||
<li><a href="#org2d55134">1.7. Collaboration</a></li>
|
||||
<li><a href="#org926438a">1.8. Mentoring</a></li>
|
||||
<li><a href="#orgcd42fe0">1.9. Know your domain</a></li>
|
||||
<li><a href="#org7ea0016">1.10. Identify with your Employer/Customer</a></li>
|
||||
<li><a href="#orge78624f">1.11. Humility</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3ecd0f6" class="outline-2">
|
||||
<h2 id="org3ecd0f6"><span class="section-number-2">1.</span> Chapter 1: PROFESIONALISM</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgbdb281f" class="outline-3">
|
||||
<h3 id="orgbdb281f"><span class="section-number-3">1.1.</span> Do no harm</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
No harm should be done to the function of our software. The harm comes about when there are bugs, the QA should find no bugs in the software. If the software is too complex to run without there being bugs, reduce the complexity of the software. Find ways to ensure that the code is designed so that it is easy to test. Aim for 100% test coverage, everything should be tested; automate the testing so you don't waste too much time.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbcbd9f8" class="outline-3">
|
||||
<h3 id="orgbcbd9f8"><span class="section-number-3">1.2.</span> Do no harm to the structure</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
It is the structure of your code that allows it to be flexible. If you compromise the structure, you compromise the future. If you want the software to be flexible, you have to flex it. This is done by making easy changes to it all the time, which is known as <b>merciless refactoring</b>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgffcebe8" class="outline-3">
|
||||
<h3 id="orgffcebe8"><span class="section-number-3">1.3.</span> Work ethic</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
Your career is your responsability and nobody else's. The 40 hours at work should be spent on the employers problems, and the extra 20 hours should be spent reading, practicing, learning, and otherwise enhancing your career.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org629e419" class="outline-3">
|
||||
<h3 id="org629e419"><span class="section-number-3">1.4.</span> Know your field</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Do you know what a Nassi-Schneiderman chart is? If not, why not? Do you know the difference between a Mealy and a Moore state machine? You should. Could you write a quicksort without looking it up? Do you know what the term “Transform Analysis” means? Could you perform a functional decomposition with Data Flow Diagrams? What does the term “Tramp Data” mean? Have you heard the term “Conascence”? What is a Parnas Table? If you want to be a professional, you should know a sizable chunk of ideas, disciplines, techniques, tools, and terminologies and constantly be increasing the size of that chunk.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is a minimal list of the things that every software professional should be conversant with:
|
||||
• Design patterns. You ought to be able to describe all 24 patterns in the GOF book and have a working knowledge of many of the patterns in the POSA books.
|
||||
• Design principles. You should know the SOLID principles and have a good understanding of the component principles.
|
||||
• Methods. You should understand XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis, and Structured Design.
|
||||
• Disciplines. You should practice TDD, Object-Oriented design, Structured Programming, Continuous Integration, and Pair Programming.
|
||||
• Artifacts: You should know how to use: UML, DFDs, Structure Charts, Petri Nets, State Transition Diagrams and Tables, flow charts, and decision tables.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge6f09b5" class="outline-3">
|
||||
<h3 id="orge6f09b5"><span class="section-number-3">1.5.</span> Continuous learning</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
Read books, articles, blogs, tweets. Go to conferences. Go to user groups. Participate in reading and study groups. Learn things that are outside your comfort zone. If you are a .NET programmer, learn Java. If you are a Java programmer, learn Ruby. If you are a C programmer, learn Lisp. If you want to really bend your brain, learn Prolog and Forth!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org903f046" class="outline-3">
|
||||
<h3 id="org903f046"><span class="section-number-3">1.6.</span> Practice</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<p>
|
||||
Doing your daily job is performance, not practice. Practice is when you specifically exercise your skills outside of the performance of your job for the sole purpose of refining and enhancing those skills. More on this later.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2d55134" class="outline-3">
|
||||
<h3 id="org2d55134"><span class="section-number-3">1.7.</span> Collaboration</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<p>
|
||||
Make a speacial effort to practice, program, plan and design together (not for 100% of your time).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org926438a" class="outline-3">
|
||||
<h3 id="org926438a"><span class="section-number-3">1.8.</span> Mentoring</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
<p>
|
||||
The best way to learn is to teach.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcd42fe0" class="outline-3">
|
||||
<h3 id="orgcd42fe0"><span class="section-number-3">1.9.</span> Know your domain</h3>
|
||||
<div class="outline-text-3" id="text-1-9">
|
||||
<p>
|
||||
It is the responsibility of every software professional to understand the domain of the solutions they are programming. If you are writing an accounting system, you should know the accounting field. If you are writing a travel application, you should know the travel industry. When starting a project in a new domain, read a book or two on the topic. Interview your customer and users about the foundation and basics of the domain. Spend some time with the experts, and try to understand their principles and values.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7ea0016" class="outline-3">
|
||||
<h3 id="org7ea0016"><span class="section-number-3">1.10.</span> Identify with your Employer/Customer</h3>
|
||||
<div class="outline-text-3" id="text-1-10">
|
||||
<p>
|
||||
Put yourself in your employer’s shoes and make sure that the features you are developing are really going to address your employer’s needs.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge78624f" class="outline-3">
|
||||
<h3 id="orge78624f"><span class="section-number-3">1.11.</span> Humility</h3>
|
||||
<div class="outline-text-3" id="text-1-11">
|
||||
<p>
|
||||
Professionals know they are arrogant and are not falsely humble. A professional knows his job and takes pride in his work. A professional is confident in his abilities, and takes bold and calculated risks based on that confidence. A professional is not timid. However, a professional also knows that there will be times when he will fail, his risk calculations will be wrong, his abilities will fall short. Be your own critique and never ridicule others, accept ridicule when deserved and laugh it off when it's not.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Zaine Qayyum</p>
|
||||
<p class="date">Created: 2025-07-16 Wed 21:52</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
0
20250715223949-the_clean_coder.org
Executable file → Normal file
0
20250715223949-the_clean_coder.org
Executable file → Normal file
0
20250717230336-recipes_main.org
Executable file → Normal file
0
20250717230336-recipes_main.org
Executable file → Normal file
0
20250717230336-recipes_moc.org
Executable file → Normal file
0
20250717230336-recipes_moc.org
Executable file → Normal file
0
20250719174944-recipes_ideas.org
Executable file → Normal file
0
20250719174944-recipes_ideas.org
Executable file → Normal file
0
20250719175023-recipes_done.org
Executable file → Normal file
0
20250719175023-recipes_done.org
Executable file → Normal file
0
20250722221649-career_moc.org
Executable file → Normal file
0
20250722221649-career_moc.org
Executable file → Normal file
0
20250723171109-maven_pom_file.org
Executable file → Normal file
0
20250723171109-maven_pom_file.org
Executable file → Normal file
0
20250723182408-so-good-they-cant-ignore-you.org
Executable file → Normal file
0
20250723182408-so-good-they-cant-ignore-you.org
Executable file → Normal file
0
20250723182408-so_good_they_cant_ignore_you.org
Executable file → Normal file
0
20250723182408-so_good_they_cant_ignore_you.org
Executable file → Normal file
0
20250723183655-career_capital.org
Executable file → Normal file
0
20250723183655-career_capital.org
Executable file → Normal file
0
20250723183755-deliberate_practice.org
Executable file → Normal file
0
20250723183755-deliberate_practice.org
Executable file → Normal file
0
20250723184233-advanced_networking.org
Executable file → Normal file
0
20250723184233-advanced_networking.org
Executable file → Normal file
0
20250723184430-stanford_marshmallow_experiment.org
Executable file → Normal file
0
20250723184430-stanford_marshmallow_experiment.org
Executable file → Normal file
0
20250723185056-neuroplasticity.org
Executable file → Normal file
0
20250723185056-neuroplasticity.org
Executable file → Normal file
0
20250723185829-test_driven_development.org
Executable file → Normal file
0
20250723185829-test_driven_development.org
Executable file → Normal file
0
20250723185943-bowling_kata.org
Executable file → Normal file
0
20250723185943-bowling_kata.org
Executable file → Normal file
0
20250723190203-java_portswrigger_test.org
Executable file → Normal file
0
20250723190203-java_portswrigger_test.org
Executable file → Normal file
0
20250723190656-java_junit_testing.org
Executable file → Normal file
0
20250723190656-java_junit_testing.org
Executable file → Normal file
0
20250723190927-self_hosting.org
Executable file → Normal file
0
20250723190927-self_hosting.org
Executable file → Normal file
0
20250723200800-postgres.org
Executable file → Normal file
0
20250723200800-postgres.org
Executable file → Normal file
0
20250724230557-books_org_agenda.org
Executable file → Normal file
0
20250724230557-books_org_agenda.org
Executable file → Normal file
0
20250727120306-nextcloud.org
Executable file → Normal file
0
20250727120306-nextcloud.org
Executable file → Normal file
0
20250727121051-networking_moc.org
Executable file → Normal file
0
20250727121051-networking_moc.org
Executable file → Normal file
0
20250727122406-database_moc.org
Executable file → Normal file
0
20250727122406-database_moc.org
Executable file → Normal file
0
20250727174809-books_moc.org
Executable file → Normal file
0
20250727174809-books_moc.org
Executable file → Normal file
0
20250727174903-book_recs.org
Executable file → Normal file
0
20250727174903-book_recs.org
Executable file → Normal file
0
20250727221512-clean_code.org
Executable file → Normal file
0
20250727221512-clean_code.org
Executable file → Normal file
0
20250804201706-big_o_complexity.org
Executable file → Normal file
0
20250804201706-big_o_complexity.org
Executable file → Normal file
0
20250804212215-how_to_solve_leetcode.org
Executable file → Normal file
0
20250804212215-how_to_solve_leetcode.org
Executable file → Normal file
0
20250804212606-leetcode_arrays.org
Executable file → Normal file
0
20250804212606-leetcode_arrays.org
Executable file → Normal file
0
20250804214537-python_set.org
Executable file → Normal file
0
20250804214537-python_set.org
Executable file → Normal file
0
20250805141906-python_dictionary.org
Executable file → Normal file
0
20250805141906-python_dictionary.org
Executable file → Normal file
0
20250805143427-python_sorted_function.org
Executable file → Normal file
0
20250805143427-python_sorted_function.org
Executable file → Normal file
0
20250805143741-python_lambda.org
Executable file → Normal file
0
20250805143741-python_lambda.org
Executable file → Normal file
0
20250806111925-non_technical_moc.org
Executable file → Normal file
0
20250806111925-non_technical_moc.org
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user