AWS Training Classes in Tacoma, Washington

Learn AWS in Tacoma, Washington 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 AWS related training offerings in Tacoma, Washington: AWS Training

We offer private customized training for groups of 3 or more attendees.

AWS Training Catalog

subcategories

cost: $ 1670length: 3 day(s)
cost: $ 1670length: 3 day(s)
cost: $ 570length: 1 day(s)
cost: $ 1825length: 3 day(s)
cost: $ 1670length: 3 day(s)

Machine Learning Classes

cost: $ 1800length: 2 day(s)

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Blog Entries publications that: entertain, make you think, offer insight

The original article was posted by Michael Veksler on Quora

A very well known fact is that code is written once, but it is read many times. This means that a good developer, in any language, writes understandable code. Writing understandable code is not always easy, and takes practice. The difficult part, is that you read what you have just written and it makes perfect sense to you, but a year later you curse the idiot who wrote that code, without realizing it was you.

The best way to learn how to write readable code, is to collaborate with others. Other people will spot badly written code, faster than the author. There are plenty of open source projects, which you can start working on and learn from more experienced programmers.

Readability is a tricky thing, and involves several aspects:

  1. Never surprise the reader of your code, even if it will be you a year from now. For example, don’t call a function max() when sometimes it returns the minimum().
  2. Be consistent, and use the same conventions throughout your code. Not only the same naming conventions, and the same indentation, but also the same semantics. If, for example, most of your functions return a negative value for failure and a positive for success, then avoid writing functions that return false on failure.
  3. Write short functions, so that they fit your screen. I hate strict rules, since there are always exceptions, but from my experience you can almost always write functions short enough to fit your screen. Throughout my carrier I had only a few cases when writing short function was either impossible, or resulted in much worse code.
  4. Use descriptive names, unless this is one of those standard names, such as i or it in a loop. Don’t make the name too long, on one hand, but don’t make it cryptic on the other.
  5. Define function names by what they do, not by what they are used for or how they are implemented. If you name functions by what they do, then code will be much more readable, and much more reusable.
  6. Avoid global state as much as you can. Global variables, and sometimes attributes in an object, are difficult to reason about. It is difficult to understand why such global state changes, when it does, and requires a lot of debugging.
  7. As Donald Knuth wrote in one of his papers: “Early optimization is the root of all evil”. Meaning, write for readability first, optimize later.
  8. The opposite of the previous rule: if you have an alternative which has similar readability, but lower complexity, use it. Also, if you have a polynomial alternative to your exponential algorithm (when N > 10), you should use that.

Use standard library whenever it makes your code shorter; don’t implement everything yourself. External libraries are more problematic, and are both good and bad. With external libraries, such as boost, you can save a lot of work. You should really learn boost, with the added benefit that the c++ standard gets more and more form boost. The negative with boost is that it changes over time, and code that works today may break tomorrow. Also, if you try to combine a third-party library, which uses a specific version of boost, it may break with your current version of boost. This does not happen often, but it may.

Don’t blindly use C++ standard library without understanding what it does - learn it. You look at std::vector::push_back() documentation at it tells you that its complexity is O(1), amortized. What does that mean? How does it work? What are benefits and what are the costs? Same with std::map, and with std::unordered_map. Knowing the difference between these two maps, you’d know when to use each one of them.

Never call new or delete directly, use std::make_unique and [cost c++]std::make_shared[/code] instead. Try to implement usique_ptr, shared_ptr, weak_ptr yourself, in order to understand what they actually do. People do dumb things with these types, since they don’t understand what these pointers are.

Every time you look at a new class or function, in boost or in std, ask yourself “why is it done this way and not another?”. It will help you understand trade-offs in software development, and will help you use the right tool for your job. Don’t be afraid to peek into the source of boost and the std, and try to understand how it works. It will not be easy, at first, but you will learn a lot.

Know what complexity is, and how to calculate it. Avoid exponential and cubic complexity, unless you know your N is very low, and will always stay low.

Learn data-structures and algorithms, and know them. Many people think that it is simply a wasted time, since all data-structures are implemented in standard libraries, but this is not as simple as that. By understanding data-structures, you’d find it easier to pick the right library. Also, believe it or now, after 25 years since I learned data-structures, I still use this knowledge. Half a year ago I had to implemented a hash table, since I needed fast serialization capability which the available libraries did not provide. Now I am writing some sort of interval-btree, since using std::map, for the same purpose, turned up to be very very slow, and the performance bottleneck of my code.

Notice that you can’t just find interval-btree on Wikipedia, or stack-overflow. The closest thing you can find is Interval tree, but it has some performance drawbacks. So how can you implement an interval-btree, unless you know what a btree is and what an interval-tree is? I strongly suggest, again, that you learn and remember data-structures.

These are the most important things, which will make you a better programmer. The other things will follow.

One of the most anticipated features that came on the iPhone 4S was a new thing called: Siri. Zooming out before concentrating on Siri, mobile assistants were the new rage. Beforehand, people were fascinated by the cloud, and how you could store your files in the Internet and retrieve it from anywhere. You could store your file at home, and get it at your workplace to make a presentation. However, next came virtual assistants. When you’re in the car, it’s hard to send text messages. It’s hard to call people. It’s hard to set reminders that just popped into your head onto your phone. Thus, came the virtual assistant: a new way to be able to talk to your phone to be able to do what you want it to do, and in this case, text message, or call people, and many other features. Apple jumped onto the bandwagon with the iPhone 4S and came out with the new feature: Siri, a virtual assistant that is tailored to assist you in your endeavours by your diction.

 

Getting started with Siri

To get Siri in the first place, you need an iPhone 4S; although you may have the latest updates on your iPhone 4 or earlier, having an iPhone 4S means you have the hardware that is required to run Siri on your phone. Therefore, if you are interested in using Siri, check into getting an iPhone 4S, as they are getting cheaper every single day.

 

It is said that spoken languages shape thoughts by their inclusion and exclusion of concepts, and by structuring them in different ways. Similarly, programming languages shape solutions by making some tasks easier and others less aesthetic. Using F# instead of C# reshapes software projects in ways that prefer certain development styles and outcomes, changing what is possible and how it is achieved.

F# is a functional language from Microsoft's research division. While once relegated to the land of impractical academia, the principles espoused by functional programming are beginning to garner mainstream appeal.

As its name implies, functions are first-class citizens in functional programming. Blocks of code can be stored in variables, passed to other functions, and infinitely composed into higher-order functions, encouraging cleaner abstractions and easier testing. While it has long been possible to store and pass code, F#'s clean syntax for higher-order functions encourages them as a solution to any problem seeking an abstraction.

F# also encourages immutability. Instead of maintaining state in variables, functional programming with F# models programs as a series of functions converting inputs to outputs. While this introduces complications for those used to imperative styles, the benefits of immutability mesh well with many current developments best practices.

For instance, if functions are pure, handling only immutable data and exhibiting no side effects, then testing is vastly simplified. It is very easy to test that a specific block of code always returns the same value given the same inputs, and by modeling code as a series of immutable functions, it becomes possible to gain a deep and highly precise set of guarantees that software will behave exactly as written.

Further, if execution flow is exclusively a matter of routing function inputs to outputs, then concurrency is vastly simplified. By shifting away from mutable state to immutable functions, the need for locks and semaphores is vastly reduced if not entirely eliminated, and multi-processor development is almost effortless in many cases.

Type inference is another powerful feature of many functional languages. It is often unnecessary to specify argument and return types, since any modern compiler can infer them automatically. F# brings this feature to most areas of the language, making F# feel less like a statically-typed language and more like Ruby or Python. F# also eliminates noise like braces, explicit returns, and other bits of ceremony that make languages feel cumbersome.

Functional programming with F# makes it possible to write concise, easily testable code that is simpler to parallelize and reason about. However, strict functional styles often require imperative developers to learn new ways of thinking that are not as intuitive. Fortunately, F# makes it possible to incrementally change habits over time. Thanks to its hybrid object-oriented and functional nature, and its clean interoperability with the .net platform, F# developers can gradually shift to a more functional mindset while still using the algorithms and libraries with which they are most familiar.

 

Related F# Resources:

F# Programming Essentials Training

The job market is extremely tight these days, with several qualified workers being available for each empty position. That means that should you find yourself looking for work, for whatever reason, you need to make sure your interview skills are up to snuff. We will be taking a look at a variety of different tips that will help ensure your success during the interview process, including how to make sure your employers know about your C training experience. Here are some others:

  • Do your own research in advance – Before you even step through the doorway to initiate the application process with a company, you should already know quite a bit about it. Investigate the corporate culture, speak with contacts who have experience with the firm, or search online; however you do it, having as much information as possible can really help you get an advantage during the hiring process. If you have specific experience, such as C training, that is of exceptional value to the firm you are applying to you can market yourself more effectively to the hiring agent.
  • Dress Appropriately – In a perfect world, programming skill and experience such as C training should be the only factors in consideration when looking at a prospective hire; in real life this is often not the case. Don’t miss out because you gave a bad impression to someone, and strive to look your absolute best during your job interview. It is unfortunate, but the IT industry in particular tends to have a reputation for lacking in this department, so breaking the mold can be of great benefit to you.
  • Be ready to interview at all times – You may be surprised how often job candidates are asked to participate in an off-the-cuff phone interview on the spot. Same-day in person interviews also are rising in popularity. Make sure you are always able to respond quickly if these situations come up and you get a fast interview. Memorize a few points in advance you can use to pump yourself up, such as an anecdote about your C training or other particular skills you may possess.

Job interviews are notoriously stressful for many people. Using simple tips like these can help you to prepare in advance for situations you may encounter during the interview process, and help you ultimately secure that new job. Make sure to emphasize whatever makes you special as an individual, such as your extensive C training.

Tech Life in Washington

Not only is Washington a major player in the manufacturing industries such as aircraft and missiles, shipbuilding, lumber, food processing, metals and metal products, chemicals, and machinery, it’s the home of Microsoft Corporation and Bill Gates, chairman and former CEO of Microsoft. Other Washington state billionaires include Paul Allen (Microsoft), Steve Ballmer (Microsoft), Jeff Bezos (Amazon), Craig McCaw (McCaw Cellular Communications), James Jannard (Oakley), Howard Schultz (Starbucks), and Charles Simonyi (Microsoft).
The successful person makes a habit of doing what the failing person doesn't like to do. …Thomas Edison
other Learning Options
Software developers near Tacoma have ample opportunities to meet like minded techie individuals, collaborate and expend their career choices by participating in Meet-Up Groups. The following is a list of Technology Groups in the area.
Fortune 500 and 1000 companies in Washington that offer opportunities for AWS developers
Company Name City Industry Secondary Industry
Symetra Financial Corporation Bellevue Financial Services Insurance and Risk Management
Alaska Air Group, Inc. Seattle Travel, Recreation and Leisure Passenger Airlines
Expedia, Inc. Bellevue Travel, Recreation and Leisure Travel Agents & Services
Itron, Inc. Liberty Lake Computers and Electronics Instruments and Controls
PACCAR Inc. Bellevue Manufacturing Automobiles, Boats and Motor Vehicles
Puget Sound Energy Inc Bellevue Energy and Utilities Gas and Electric Utilities
Expeditors International of Washington, Inc. Seattle Transportation and Storage Freight Hauling (Rail and Truck)
Costco Wholesale Corporation Issaquah Retail Grocery and Specialty Food Stores
Starbucks Corporation Seattle Retail Restaurants and Bars
Nordstrom, Inc. Seattle Retail Department Stores
Weyerhaeuser Company Federal Way Manufacturing Paper and Paper Products
Microsoft Corporation Redmond Software and Internet Software
Amazon.com, Inc. Seattle Retail Sporting Goods, Hobby, Book, and Music Stores

training details locations, tags and why hsg

the hartmann software group advantage
A successful career as a software developer or other IT professional requires a solid understanding of software development processes, design patterns, enterprise application architectures, web services, security, networking and much more. The progression from novice to expert can be a daunting endeavor; this is especially true when traversing the learning curve without expert guidance. A common experience is that too much time and money is wasted on a career plan or application due to misinformation.

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.
    1. We have provided software development and other IT related training to many major corporations in Washington since 2002.
    2. 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 AWS programming
  • Get your questions answered by easy to follow, organized AWS experts
  • Get up to speed with vital AWS 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…
learn more
page tags
what brought you to visit us
Tacoma, Washington AWS Training , Tacoma, Washington AWS Training Classes, Tacoma, Washington AWS Training Courses, Tacoma, Washington AWS Training Course, Tacoma, Washington AWS Training Seminar

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.