/
django-fullstack-bootcamp-course-review.html
465 lines (412 loc) · 23.6 KB
/
django-fullstack-bootcamp-course-review.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="canonical" href="https://andrewwegner.com/django-fullstack-bootcamp-course-review.html">
<meta name="robots" content="index, follow" />
<link
href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,400;0,700;1,400&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=block"
rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://andrewwegner.com/theme/stylesheet/style.min.css">
<link rel="stylesheet" type="text/css"
href="https://andrewwegner.com/theme/font-awesome/css/font-awesome-v4.css">
<link id="pygments-light-theme" rel="stylesheet" type="text/css" href="https://andrewwegner.com/theme/pygments/github.min.css">
<link rel="stylesheet" type="text/css" href="https://andrewwegner.com/theme/font-awesome/css/fontawesome.css">
<link rel="stylesheet" type="text/css" href="https://andrewwegner.com/theme/font-awesome/css/brands.css">
<link rel="stylesheet" type="text/css" href="https://andrewwegner.com/theme/font-awesome/css/solid.css">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" sizes="180x180" href=" /apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<!-- Chrome, Firefox OS and Opera -->
<meta name="theme-color" content="#080019">
<!-- Windows Phone -->
<meta name="msapplication-navbutton-color" content="#080019">
<!-- iOS Safari -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- Microsoft EDGE -->
<meta name="msapplication-TileColor" content="#080019">
<link href="https://andrewwegner.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Ponderings of an Andy Atom">
<script type="text/javascript">
window.heap = window.heap || [], heap.load = function (e, t) { window.heap.appid = e, window.heap.config = t = t || {}; var r = t.forceSSL || "https:" === document.location.protocol, a = document.createElement("script"); a.type = "text/javascript", a.async = !0, a.src = (r ? "https:" : "http:") + "//cdn.heapanalytics.com/js/heap-" + e + ".js"; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(a, n); for (var o = function (e) { return function () { heap.push([e].concat(Array.prototype.slice.call(arguments, 0))) } }, p = ["addEventProperties", "addUserProperties", "clearEventProperties", "identify", "resetIdentity", "removeEventProperty", "setEventProperties", "track", "unsetEventProperty"], c = 0; c < p.length; c++)heap[p[c]] = o(p[c]) };
heap.load("653100411");
</script>
<meta name="author" content="Andy Wegner" />
<meta name="description" content="My review of the Python and Django Full Stack Web Developer Bootcamp course on Udemy." />
<meta name="keywords" content="review, technical, learning">
<meta property="og:site_name" content="Ponderings of an Andy"/>
<meta property="og:title" content="Review of Udemy's Python and Django Full Stack Web Developer Bootcamp course"/>
<meta property="og:description" content="My review of the Python and Django Full Stack Web Developer Bootcamp course on Udemy."/>
<meta property="og:locale" content="en_US"/>
<meta property="og:url" content="https://andrewwegner.com/django-fullstack-bootcamp-course-review.html"/>
<meta property="og:type" content="article"/>
<meta property="article:published_time" content="2017-06-28 06:16:00-05:00"/>
<meta property="article:modified_time" content=""/>
<meta property="article:author" content="https://andrewwegner.com/">
<meta property="article:section" content="Review"/>
<meta property="article:tag" content="review"/>
<meta property="article:tag" content="technical"/>
<meta property="article:tag" content="learning"/>
<meta property="og:image" content="/images/wegner_headshot.png">
<title>Review of Udemy's Python and Django Full Stack Web Developer Bootcamp course · Ponderings of an Andy
</title>
</head>
<body class="light-theme" >
<aside class="aside-border">
<div class="aside-cont">
<a href="https://andrewwegner.com/">
<img class="hex-logo" src="/images/wegner_headshot.png" alt="Ponderings of an Andy" title="Ponderings of an Andy">
</a>
<nav id="nav-links">
<ul class="list">
<li>
<a target="_self" href="/">Home</a>
</li>
<li>
<a target="_self" href="/about/">About Me</a>
</li>
<li>
<a target="_self" href="/archives.html">Archives</a>
</li>
<li>
<a target="_self" href="/categories.html">Categories</a>
</li>
<li>
<a target="_self" href="/tags.html">Tags</a>
</li>
</ul>
</nav>
<h3>Article Contents</h3>
<hr />
<nav class="toc">
<div class="toc">
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#thoughts-on-the-course">Thoughts on the course</a></li>
<li><a href="#foundation-vs-django-content">Foundation vs Django content</a></li>
<li><a href="#final-thoughts">Final Thoughts</a></li>
</ul>
</div>
</nav>
<ul class="social">
<div class="itsmefooter">Andy Wegner</div>
<li>
<a id="andy-linkedin" class="sc-linkedin" rel="me" href="https://www.linkedin.com/in/andrew-wegner/"
target="_blank">
<i class="fa-brands fa-linkedin"></i>
</a>
</li>
<li>
<a id="andy-stackoverflow" class="sc-stack-overflow" rel="me" href="https://stackoverflow.com/users/189134/andy"
target="_blank">
<i class="fa-brands fa-stack-overflow"></i>
</a>
</li>
<li>
<a id="andy-github" class="sc-github" rel="me" href="https://github.com/AWegnerGitHub/"
target="_blank">
<i class="fa-brands fa-github"></i>
</a>
</li>
<li>
<a id="andy-resume" class="sc-file-pdf" href="/resume.pdf"
target="_blank">
<i class="fa-solid fa-file-pdf"></i>
</a>
</li>
<li>
<a id="andy-blogemail" class="sc-envelope" rel="me" href="mailto:blog.feedback@andrewwegner.com"
target="_blank">
<i class="fa-solid fa-envelope"></i>
</a>
</li>
</ul>
</div>
<script type="text/javascript">
let acont = document.getElementsByClassName("toc content-cont")[0];
function back(){
acont.style.left = "-24vw";
}
function openCont(){
acont.style.left = "-1vw";
}
</script>
</aside>
<main>
<article class="single">
<header>
<nav>
<ul class="article-breadcrumbs">
<li><a href="/"><i class="fa-sharp fa-solid fa-house"></i> Home</a></li>
<li><i class="fa-solid fa-greater-than"></i> <a href="https://andrewwegner.com/categories.html">Categories</a></li>
<li><i class="fa-solid fa-greater-than"></i> <a href="https://andrewwegner.com/category/review.html">Review</a>
</li>
<li><i class="fa-solid fa-greater-than"></i> <a href="https://andrewwegner.com/django-fullstack-bootcamp-course-review.html"><i
class="fa-solid fa-book"></i> <span class="breadcrumb-article">Review of Udemy's Python and Django Full Stack Web Developer Bootcamp course</span></li></a></li>
</ul>
</nav>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item":
{
"@id": "/",
"name": "Ponderings of an Andy"
}
},
{
"@type": "ListItem",
"position": 2,
"item":
{
"@id": "https://andrewwegner.com/categories.html",
"name": "Categories"
}
}
,{
"@type": "ListItem",
"position": 3,
"item":
{
"@id": "https://andrewwegner.com/category/review.html",
"name": "Review"
}
}
,{
"@type": "ListItem",
"position": 4,
"item":
{
"@id": "https://andrewwegner.com/django-fullstack-bootcamp-course-review.html",
"name": "https://andrewwegner.com/django-fullstack-bootcamp-course-review.html"
}
}
]
}
</script> <h1 id="django-fullstack-bootcamp-course-review">Review of Udemy's Python and Django Full Stack Web Developer Bootcamp course</h1>
<p>
Posted on Wed 28 June 2017 in <a href="https://andrewwegner.com/category/review.html">Review</a>
<div>
<span itemprop="ratingValue">7.0</span>
<div class="stars-outer">
<div class="stars-inner"></div>
</div>
</div>
<div class="tag-cloud">
<p>
<a href="https://andrewwegner.com/tag/review.html">review</a>
<a href="https://andrewwegner.com/tag/technical.html">technical</a>
<a href="https://andrewwegner.com/tag/learning.html">learning</a>
</p>
</div>
</p>
</header>
<div>
<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">¶</a></h2>
<p>After ploughing through <a href="https://andrewwegner.com/deep-learning-prereq-numpy.html">two machine learning</a> <a href="https://andrewwegner.com/deep-learning-prereq-linear-logistic-regression.html">prerequisite courses</a>, I wanted to have a change in content for the next
course I took. I've used Django in the past to build <a href="https://github.com/AWegnerGitHub/IRVING">IRVING</a> - a dashboard that allows users to run queries against many
database types and display the results in one location. The majority of this was done almost 6 years ago though. It was built
to assist in a job I no longer hold. Since then, I've ignored it and haven't used Django for a major project. I have used it to
test a small snippet of code here or there, but never a complete application.</p>
<p>I remember liking Django. To that end, I decided to take Jose Portilla's <a href="https://www.udemy.com/python-and-django-full-stack-web-developer-bootcamp/learn/v4/overview">Python and Django Full Stack Web Developer Bootcamp</a>
course on Udemy.</p>
<h2 id="thoughts-on-the-course">Thoughts on the course<a class="headerlink" href="#thoughts-on-the-course" title="Permanent link">¶</a></h2>
<p>I am conflicted on how to rate this course. On the one hand, it covers a lot in the 30ish hours that the lectures take. Starting at
the very basics and moving through more advanced Django topics, it covers HTML and CSS then moves to Bootstrap, Javascript, the DOM,
jQuery, and Python before finally getting to Django. On the other hand, it moves through those basic lectures very slowly. Django isn't
even reached until two thirds of the way through the course.</p>
<p>The lectures were a combination of hands on coding and an explanation of what the code is doing. The instructor types slightly
faster than me. This was a problem only at transitions between files, for example moving between an HTML file and a CSS file. I found myself
rewinding the video lectures many times around these transitions.</p>
<p>One thing that I liked very early on in the lecture was the introduction of GitHub's <a href="https://atom.io/">ATOM text editor</a>. I've used this once before, for a job
interview that went very poorly (another story, for another time). I'd heard good things about it though. I used it throughout the course as a way to
force myself to use something other than PyCharm. Now that the course is complete, I have decided that I like ATOM, but not enough to switch from
PyCharm. It does have some nice features, especially with plugins, that I may utilize when building boiler plate code and templates though.</p>
<h2 id="foundation-vs-django-content">Foundation vs Django content<a class="headerlink" href="#foundation-vs-django-content" title="Permanent link">¶</a></h2>
<p>The foundational material - HTML, CSS, Bootstrap, Javascript, jQuery and even the Python - dragged on a little long for my taste. As I
mentioned above, this foundation took up the first two thirds of the course. I'd have preferred it if more time could be spent covering
other aspects of Django, especially some of the concepts that are thrown at the student in the last clone project.</p>
<p>The Django content, itself, was great. It started at basics like setting up a project and single application within the project and
moved through URL routing, templates, views and briefly touched on the admin side. There were advanced topics on class based views and
the debug toolbar, both of which are important when developing.</p>
<p>I can't help feeling that important things were missed though. For example, the admin side is barely touched. It is incredibly capable, yet the
most that is done in this course with the admin backend is registering a model to appear. Groups and permissions aren't touched at all. Customizing
views in the backend aren't mentioned, either. Another thing that I was hoping would be covered as part of the "and much,much more!" bullet in the
course description was both <a href="https://docs.djangoproject.com/en/1.11/topics/signals/">signals</a> and <a href="https://www.djangoproject.com/weblog/2016/sep/09/channels-adopted-official-django-project/">channels</a>, but they are not mentioned.</p>
<p>Clone projects are useful in giving students a "real world" example that they are familiar with to bring everything they've learned together. There
are two such projects in this course, a blog and a message board/social media site. The blog one was a logical extension of the 5 parts that were
covered by Django. The message board, however, wasn't as useful. In an effort to be more "real world", the instructor missed a lot of steps in the
preceding foundational lectures. This project introduces multiple applications in the same project, but never introduced that concept previously
and doesn't expand on it much here. Instead, the project becomes a combination of speed coding to keep up with what's happening in the lecture and
copy and pasting code from the notes when the instructor does the same thing. I appreciate the more realistic project, but for all the time that was
spent building the foundation of Django knowledge, there is a big gap between the last lecture and this clone.</p>
<h2 id="final-thoughts">Final Thoughts<a class="headerlink" href="#final-thoughts" title="Permanent link">¶</a></h2>
<p>This course was worthwhile, once I made it through the foundational courses. It was a great refresher for what I'd done 6 years ago. Either I did
things very inefficiently then, or Django has had a <em>ton</em> of improvements (or both), but looking back at IRVING, I see many things that could be
improved. I'm not sure if I actually will though, just due to not using the application any longer.</p>
<p>The long foundational courses either should have been condensed. I would have rather had more focus on Django and covered more topics there. This
is especially true after completing the second clone project. New concepts were used in this project, but glossed over as "there is excellent
documentation on this", instead of the in depth explanations that were provided earlier in the course.</p>
<p>I'd recommend this course for the Django topics. However, if you are coming into the course with any type of web development background (even the
relatively basic one I have), be prepared to be bored during the first half of the course.</p>
<hr/>
<p><a href="https://ude.my/UC-1VGWNREH"><img alt="Python and Django Full Stack Web Developer Bootcamp Award" src="https://andrewwegner.com/images/udemy-django-full-stack-bootcamp.jpg"/></a></p>
</div>
<div class="neighbors">
<a class="btn float-left" href="https://andrewwegner.com/deep-learning-prereq-linear-logistic-regression.html"
title="Review of Udemy's Deep Learning Prerequisites - Linear and Logistic Regression courses">
<i class="fa fa-angle-left"></i> Previous Post
</a>
<a class="btn float-right" href="https://andrewwegner.com/aws-serverless-apis-apps-review.html"
title="Review of Udemy's AWS Serverless APIs & Apps - A Complete Introduction course">
Next Post <i class="fa fa-angle-right"></i>
</a>
</div>
<hr />
<div>
<span class="author_blurb"><a href="https://andrewwegner.com/" rel="author"><span class="author_name">Andy Wegner</span></a> -
is a father, an engineer and a computer scientist. He is interested in online
community building, tinkering with new code and building new applications.
He writes about his experiences with each of these.</span>
</div>
<div class="related-posts">
<h4>Part 6 of the Course Reviews series</h4>
<h5>Previous articles</h5>
<ul>
<li><a href="https://andrewwegner.com/data-analysis-with-pandas-review.html">Review of Udemy's 'Data Analysis with Pandas' course</a></li>
<li><a href="https://andrewwegner.com/loony-corn-machine-learning-review.html">Review of Udemy's 'From 0 to 1: Machine Learning, NLP and Python - Cut to the Chase' course</a></li>
<li><a href="https://andrewwegner.com/become-a-product-manager-review.html">Review of Udemy's 'Become a Product Manager | Learn the Skills & Get the job' course</a></li>
<li><a href="https://andrewwegner.com/deep-learning-prereq-numpy.html">Review of Udemy's 'Deep Learning Prerequisites: The Numpy Stack in Python' course</a></li>
<li><a href="https://andrewwegner.com/deep-learning-prereq-linear-logistic-regression.html">Review of Udemy's Deep Learning Prerequisites - Linear and Logistic Regression courses</a></li>
</ul>
<h5>Next articles</h5>
<ul>
<li><a href="https://andrewwegner.com/aws-serverless-apis-apps-review.html">Review of Udemy's AWS Serverless APIs & Apps - A Complete Introduction course</a></li>
<li><a href="https://andrewwegner.com/django-course-basic-to-advance.html">Review of Udemy's Django Course from Basics to Advance</a></li>
<li><a href="https://andrewwegner.com/learn-davinci-resolve-15-from-scratch.html">Review of Udemy's Learn DaVinci Resolve 15 from scratch</a></li>
<li><a href="https://andrewwegner.com/git-45-minute-crash-course.html">Review of Udemy's renamed The 2018 Git Complete: 45 minute crash course using Angular.</a></li>
<li><a href="https://andrewwegner.com/docker-essentials-course.html">Review of Udemy's Docker and Containers: The Essentials</a></li>
<li><a href="https://andrewwegner.com/docker-swarm-beginner-advanced.html">Review of Udemy's Docker Swarm: Beginner + Advanced</a></li>
<li><a href="https://andrewwegner.com/sanic-webframework-review.html">Review of Sanic - An Asynchronous Web Framework for Pythonistas Udemy course</a></li>
<li><a href="https://andrewwegner.com/software-testing-masterclass.html">Review of Software Testing Masterclass (2019) - From Notice to Expert Udemy course</a></li>
<li><a href="https://andrewwegner.com/travis-ci-tutorial-review.html">Review of Travis CI Tutorial Udemy course</a></li>
<li><a href="https://andrewwegner.com/aws-certified-developer-review.html">Review of Ultimate AWS Certified Developer Associate 2019 course</a></li>
<li><a href="https://andrewwegner.com/gitlab-manage-remote-team.html">Review of GitLab's 'How to Manage a Remote Team' Coursera course</a></li>
<li><a href="https://andrewwegner.com/golang-complete-developer-guide-review.html">Review of Go: The Complete Developer's Guide (Golang) course</a></li>
<li><a href="https://andrewwegner.com/ue5-realistic-environment-design-beginner.html">Review of Unreal Engine 5 - Realistic Environment Design for Beginners course</a></li>
<li><a href="https://andrewwegner.com/ue5-complete-beginners-course.html">Review of Unreal Engine 5: The Complete Beginner's Course</a></li>
<li><a href="https://andrewwegner.com/ue5-beginners-building-environment-review.html">Review of Unreal Engine 5 Beginners Guide to Building an Environment</a></li>
<li><a href="https://andrewwegner.com/gitlab-teamops-certification.html">Review of GitLab's 'TeamOps Certification' course</a></li>
<li><a href="https://andrewwegner.com/davinci-resolve-beginner-advanced-review.html">Review of DaVinci Resolve 2022: Beginner to Advanced in DaVinci 18 Course</a></li>
<li><a href="https://andrewwegner.com/make-unreal5-2d-platformer-review.html">Review of Learn How To Make A 2D Platformer In Unreal Engine 5 Course</a></li>
<li><a href="https://andrewwegner.com/generative-motion-graphics-review.html">Review of Unreal Engine 5 Generative Motion Graphics VFX Course</a></li>
<li><a href="https://andrewwegner.com/github-actions-cicd-pipelines-review.html">Review of Learn Github Actions for CI/CD DevOps Pipelines Course</a></li>
<li><a href="https://andrewwegner.com/learn-analytics-with-polars-review.html">Review of Learn Data Analytics with Polars (Python) Course</a></li>
<li><a href="https://andrewwegner.com/data-analysis-with-polars-review.html">Review of Data Analysis with Polars Udemy course</a></li>
</ul>
</div>
</article>
<script type="text/javascript">
const starTotal = 10;
rating = 7.0;
starPercentage = `${((rating / starTotal) * 100)}%`;
document.querySelector(`.stars-inner`).style.width = starPercentage;
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Review",
"name": "Python and Django Full Stack Web Developer Bootcamp",
"headline": "Review of Udemy's Python and Django Full Stack Web Developer Bootcamp course",
"url": "https://andrewwegner.com/django-fullstack-bootcamp-course-review.html",
"dateCreated": "2017-06-28 06:16:00-05:00",
"datePublished": "2017-06-28 06:16:00-05:00",
"dateModified": "",
"copyrightYear": "2017",
"copyrightHolder": {
"@type": "Person",
"name": "Andy Wegner",
"url": "https://andrewwegner.com"
},
"itemReviewed": {
"@type": "Course",
"name": "Python and Django Full Stack Web Developer Bootcamp",
"description": "Python and Django Full Stack Web Developer Bootcamp"
,
"provider": {
"@type": "Organization",
"name": "Udemy",
"sameAs": "https://www.udemy.com/"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": [
"online"
],
"courseWorkload": "PT32H"
},
"offers": {
"@type": "Offer",
"price": "129.99",
"priceCurrency": "USD",
"category": "Paid"
}
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "7.0",
"bestRating": "10",
"worstRating": "0"
},
"author": {
"@type": "Person",
"name": "Andy Wegner",
"sameAs": [
"https://www.andrewwegner.com/about/"
],
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.andrewwegner.com/about/"
}
},
"publisher": {
"@type": "Person",
"name": "Andy Wegner",
"sameAs": [
"https://www.andrewwegner.com/about/"
]
},
"provider": {
"@type": "Organization",
"name": "Udemy",
"sameAs": "https://www.udemy.com/"
},
"mainEntityOfPage": "True"
}
</script>
<footer>
<p>© 2024 Andrew Wegner</p>
</footer> </main>
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Blog",
"name": " Ponderings of an Andy ",
"url" : "https://andrewwegner.com",
"image": "/images/wegner_headshot.png",
"description": "Articles and reviews covering thoughts on work place leadership, technical course reviews, and other ponderings of Andy"
}
</script>
</body>
</html>