Microsoft Office Training Classes in Richmond, Virginia
Learn Microsoft Office in Richmond, Virginia and surrounding areas via our hands-on, expert led courses. All of our classes either are offered on an onsite, online or public instructor led basis. Here is a list of our current Microsoft Office related training offerings in Richmond, Virginia: Microsoft Office Training
Microsoft Office Training Catalog
subcategories
Business Analysis Classes
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- AI Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Azure Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Data Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- SAS Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- RED HAT ENTERPRISE LINUX AUTOMATION WITH ANSIBLE
2 February, 2026 - 5 February, 2026 - Docker
27 May, 2026 - 29 May, 2026 - AWS Certified Machine Learning: Specialty (MLS-C01)
2 March, 2026 - 6 March, 2026 - RED HAT ENTERPRISE LINUX SYSTEMS ADMIN II
26 January, 2026 - 29 January, 2026 - KUBERNETES ADMINISTRATION
23 February, 2026 - 25 February, 2026 - See our complete public course listing
Blog Entries publications that: entertain, make you think, offer insight
Like me, I believe most people go about their business never to give a serious thought about their assumed private correspondence when using Gmail to email friends, colleagues and business associates. As it turns out, your daily banter may not be so private after all. A recent article in Fortune Magazine, “Judge Rejects Google Deal Over Email Scanning” caught my attention and an immediate thought dominated my curiosity…Google email and scanning scam.
In essence, the article describes Googles’ agreement to change the way it scans incoming messages so that it no longer reads emails while they are in transit, but only when they are in someone's inbox! So, what exactly does that mean? Judge Koh, a San Francisco federal judge, said she's not so sure about that. Her ruling claims the settlement does not provide an adequate technical explanation of Google's workaround, which involves scanning in-transit emails for security purposes, and then later parsing them for advertising data. The judge also proposed a legal settlement to pay $2.2 million to lawyers, but nothing to consumers.
My interest in this story is not so much about the proposed settlements or the specific details about how Google or any of the web giants settle claims based on vague legal language. It is however, more about the naiveté of myself and perhaps many others that never question how the email scanning process really works. I wonder, do most of us really care that Gmail uses contents of our mail to display targeted ads?
Python and Ruby, each with roots going back into the 1990s, are two of the most popular interpreted programming languages today. Ruby is most widely known as the language in which the ubiquitous Ruby on Rails web application framework is written, but it also has legions of fans that use it for things that have nothing to do with the web. Python is a big hit in the numerical and scientific computing communities at the present time, rapidly displacing such longtime stalwarts as R when it comes to these applications. It too, however, is also put to a myriad of other uses, and the two languages probably vie for the title when it comes to how flexible their users find them.
A Matter of Personality...
That isn't to say that there aren't some major, immediately noticeable, differences between the two programming tongues. Ruby is famous for its flexibility and eagerness to please; it is seen by many as a cleaned-up continuation of Perl's "Do What I Mean" philosophy, whereby the interpreter does its best to figure out the meaning of evening non-canonical syntactic constructs. In fact, the language's creator, Yukihiro Matsumoto, chose his brainchild's name in homage to that earlier language's gemstone-inspired moniker.
Python, on the other hand, takes a very different tact. In a famous Python Enhancement Proposal called "The Zen of Python," longtime Pythonista Tim Peters declared it to be preferable that there should only be a single obvious way to do anything. Python enthusiasts and programmers, then, generally prize unanimity of style over syntactic flexibility compared to those who choose Ruby, and this shows in the code they create. Even Python's whitespace-sensitive parsing has a feel of lending clarity through syntactical enforcement that is very much at odds with the much fuzzier style of typical Ruby code.
For example, Python's much-admired list comprehension feature serves as the most obvious way to build up certain kinds of lists according to initial conditions:
a = [x**3 for x in range(10,20)]
b = [y for y in a if y % 2 == 0]
first builds up a list of the cubes of all of the numbers between 10 and 19 (yes, 19), assigning the result to 'a'. A second list of those elements in 'a' which are even is then stored in 'b'. One natural way to do this in Ruby is probably:
a = (10..19).map {|x| x ** 3}
b = a.select {|y| y.even?}
but there are a number of obvious alternatives, such as:
a = (10..19).collect do |x|
x ** 3
end
b = a.find_all do |y|
y % 2 == 0
end
It tends to be a little easier to come up with equally viable, but syntactically distinct, solutions in Ruby compared to Python, even for relatively simple tasks like the above. That is not to say that Ruby is a messy language, either; it is merely that it is somewhat freer and more forgiving than Python is, and many consider Python's relative purity in this regard a real advantage when it comes to writing clear, easily understandable code.
And Somewhat One of Performance
The earning potential of a software developer largely depends on their knowledge, their chosen area of expertise, experience and flexibility to relocate if necessary. In the ever changing landscape of Information Technology, many argue that the way to make more money is to specialize in a technology that fewer people are using. As an example, there are tons of Java programmers out there, but nowhere near enough in lesser known languages such as Perl or Python. However, there are plenty of opportunities for folks who are willing to burn the midnight oil to gain skills in these niche disciplines.
Because the Information Technology Industry is a rapidly evolving entity, gunning for the "Next Big Thing" is constantly an arm’s length away. For this reason, developers looking to get requisite knowledge to successfully compete can, for the most part, expect to resign their weekends for the LOVE of code and studying. And, it’s fair to say that a stick-to-itiveness to teach yourself how to code can be more important than any degree when job prospecting. Sam Nichols, a mobile developer at SmugMug, puts it this way: “Build a table, build a computer, build a water gun, build a beer bong, build things that will take a week and build things that need to be done in 40 minutes before the party. Making stuff is what this field is all about and getting experience building things, especially with others, especially when it breaks and fails along the way can help with perspective and resiliency.”
Software developers already skilled at writing code are readily able to translate that knowledge to web development. The fact that the information technology sector has shifted largely to web-based infrastructure and software application as system (SaaS) database and operating system capabilities, means that software developers have a wide variety of opportunity in the web development segment of the consulting and job market.
If you are a software developer seeking to increase your earning potential, gaining expertise in Web development enhances your ability to attract new opportunities. The more creative a software developer, the far better chance they will have at benefitting from current market demand for new technologies and software innovation. Customization is hot right now, and software developers involved in the creation of updates and unique features to SaaS can add extra value to their portfolio with very little time and effort involved.
In order for software developers to stay abreast of their field, continuing education and is required to ensure that technical skills are up-to-date. Gaining knowledge in design of computer applications is one of the main objectives in the development and planning of software products.
Once adequate knowledge has been acquired, many software developers can use those insights to develop custom software for a client as a consultant.
Java still has its place in the world of software development, but is it quickly becoming obsolete by the more dynamically enabled Python programming language? The issue is hotly contested by both sides of the debate. Java experts point out that Java is still being developed with more programmer friendly updates. Python users swear that Java can take up to ten times longer to develop. Managers that need to make the best decision for a company need concrete information so that an informed and rational decision can be made.
First, Java is a static typed language while Python is dynamically typed. Static typed languages require that each variable name must be tied to both a type and an object. Dynamically typed languages only require that a variable name only gets bound to an object. Immediately, this puts Python ahead of the game in terms of productivity since a static typed language requires several elements and can make errors in coding more likely.
Python uses a concise language while Java uses verbose language. Concise language, as the name suggests, gets straight to the point without extra words. Removing additional syntax can greatly reduce the amount of time required to program. A simple call in Java, such as the ever notorious "Hello, World" requires three several lines of coding while Python requires a single sentence. Java requires the use of checked exceptions. If the exceptions are not caught or thrown out then the code fails to compile. In terms of language, Python certainly has surpassed Java in terms of brevity.
Additionally, while Java's string handling capabilities have improved they haven't yet matched the sophistication of Python's. Web applications rely upon fast load times and extraneous code can increase user wait time. Python optimizes code in ways that Java doesn't, and this can make Python a more efficient language. However, Java does run faster than Python and this can be a significant advantage for programmers using Java. When you factor in the need for a compiler for Java applications the speed factor cancels itself out leaving Python and Java at an impasse.
While a programmer will continue to argue for the language that makes it easiest based on the programmer's current level of knowledge, new software compiled with Python takes less time and provides a simplified coding language that reduces the chance for errors. When things go right, Java works well and there are no problems. However, when errors get introduced into the code, it can become extremely time consuming to locate and correct those errors. Python generally uses less code to begin with and makes it easier and more efficient to work with.
Ultimately, both languages have their own strengths and weaknesses. For creating simple applications, Python provides a simpler and more effective application. Larger applications can benefit from Java and the verbosity of the code actually makes it more compatible with future versions. Python code has been known to break with new releases. Ultimately, Python works best as a type of connecting language to conduct quick and dirty work that would be too intensive when using Java alone. In this sense, Java is a low-level implementation language. While both languages are continuing to develop, it's unlikely that one language will surpass the other for all programming needs in the near future.
Tech Life in Virginia
| Company Name | City | Industry | Secondary Industry |
|---|---|---|---|
| Brink's Inc. | Richmond | Business Services | Security Services |
| Federal Home Loan Mortgage Corporation (Freddie Mac) | Mc Lean | Financial Services | Lending and Mortgage |
| General Dynamics Corporation | Falls Church | Manufacturing | Aerospace and Defense |
| CarMax, Inc. | Henrico | Retail | Automobile Dealers |
| NVR, Inc. | Reston | Real Estate and Construction | Construction and Remodeling |
| Gannett Co., Inc. | Mc Lean | Media and Entertainment | Newspapers, Books and Periodicals |
| Smithfield Foods, Inc. | Smithfield | Manufacturing | Food and Dairy Product Manufacturing and Packaging |
| ManTech International Corporation | Fairfax | Computers and Electronics | IT and Network Services and Support |
| DynCorp International | Falls Church | Manufacturing | Aerospace and Defense |
| Genworth Financial, Inc. | Richmond | Financial Services | Insurance and Risk Management |
| MeadWestvaco Corporation | Richmond | Manufacturing | Paper and Paper Products |
| Dollar Tree, Inc. | Chesapeake | Retail | Department Stores |
| Alpha Natural Resources, Inc. | Abingdon | Agriculture and Mining | Mining and Quarrying |
| SRA International, Inc. | Fairfax | Business Services | Business Services Other |
| NII Holdings, Inc. | Reston | Telecommunications | Wireless and Mobile |
| Dominion Resources, Inc. | Richmond | Energy and Utilities | Gas and Electric Utilities |
| Norfolk Southern Corporation | Norfolk | Transportation and Storage | Freight Hauling (Rail and Truck) |
| CACI International Inc. | Arlington | Software and Internet | Data Analytics, Management and Storage |
| Amerigroup Corporation | Virginia Beach | Financial Services | Insurance and Risk Management |
| Owens and Minor, Inc. | Mechanicsville | Healthcare, Pharmaceuticals and Biotech | Personal Health Care Products |
| Advance Auto Parts, Inc | Roanoke | Retail | Automobile Parts Stores |
| SAIC | Mc Lean | Software and Internet | Software |
| AES Corporation | Arlington | Energy and Utilities | Gas and Electric Utilities |
| Capital One Financial Corporation | Mc Lean | Financial Services | Credit Cards and Related Services |
| Sunrise Senior Living, Inc. | Mc Lean | Healthcare, Pharmaceuticals and Biotech | Residential and Long-Term Care Facilities |
| Computer Sciences Corporation | Falls Church | Software and Internet | Software |
| Altria Group, Inc. | Richmond | Manufacturing | Manufacturing Other |
| Northrop Grumman Corporation | Falls Church | Manufacturing | Aerospace and Defense |
| Alliant Techsystems Inc. | Arlington | Manufacturing | Aerospace and Defense |
| Markel Corporation | Glen Allen | Financial Services | Insurance and Risk Management |
training details locations, tags and why hsg
The Hartmann Software Group understands these issues and addresses them and others during any training engagement. Although no IT educational institution can guarantee career or application development success, HSG can get you closer to your goals at a far faster rate than self paced learning and, arguably, than the competition. Here are the reasons why we are so successful at teaching:
- Learn from the experts.
- We have provided software development and other IT related training to many major corporations in Virginia since 2002.
- Our educators have years of consulting and training experience; moreover, we require each trainer to have cross-discipline expertise i.e. be Java and .NET experts so that you get a broad understanding of how industry wide experts work and think.
- Discover tips and tricks about Microsoft Office programming
- Get your questions answered by easy to follow, organized Microsoft Office experts
- Get up to speed with vital Microsoft Office programming tools
- Save on travel expenses by learning right from your desk or home office. Enroll in an online instructor led class. Nearly all of our classes are offered in this way.
- Prepare to hit the ground running for a new job or a new position
- See the big picture and have the instructor fill in the gaps
- We teach with sophisticated learning tools and provide excellent supporting course material
- Books and course material are provided in advance
- Get a book of your choice from the HSG Store as a gift from us when you register for a class
- Gain a lot of practical skills in a short amount of time
- We teach what we know…software
- We care…














