Your search did not yield any results.

Feel free to contact us in the event that the training you require is not listed. We may be in a position to offer this training by way of our partners or by creating a tailored class.

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

With the rise of the smart phone, many people who have long seen themselves as non-gamers have began to download and play to occupy themselves throughout the day. If you're a game developer who has a history of writing your code in C#, then perhaps this still emerging market is something you should consider taking advantage of. This, however, will require the familiarization with other programming languages.

One option for moving away from the C# language is to learn Java. Java is the programming used for apps on the android platform, billions of phones run on this programming language.

If you want to break into the android market, then learning Java is an absolute must.

There are both some pros and some cons to learning java. Firstly, if you already know C# or other languages and understand how they work, then java will be relatively easy to learn due to having similar, but quite simplified, syntax to C-based languages, the class library is large and standardized, but also very well written, and you might find that it will improve the performance and portability of your creations. Not to mention, learning java opens you up to the entirety of the android app and game market, a very large and still growing market that would otherwise stay closed off to you. That's too much ad and sale money to risk missing out on.

The few cons that come with learning the language is that, when coming from other languages, the syntax may take some getting used to. This is true for most languages. The other problem is that you must be careful with the specifics of how you write your code. While java can be written in a very streamlined fashion, it's also possible to write working, but bulky, code that will slow down your programs. Practice makes perfect, and the knowledge to avoid such pitfalls within the language.

If you wish to develop for the iOS on the other hand, knowledge of Objective C is required. The most compelling reason to learn Objective C is the market that it will open you up to. According to the website AndroidAuthority.com, in the article "Google play vs. Apple app store", users of iPhones and other iOS devices are much more likely to spend money on apps rather than downloading free ones.

Though learning Objective C might be a far jump from someone who currently writes in C#, it's certainly learn-able with a little bit of practice.

 

How do top programmers work?

What are a few unique pieces of career advice that nobody ever mentions?

Good non-programmer jobs for people with software developer experience

Information Technology (IT) tools are here to support your business in the global market. Effective communication is key for IT and business experts to collaborate effectively in search of solutions. Consulting, reaching out for help to a third-party, can bridge the gap between your business marketing experts and IT operations experts, especially with the emergence of big data analytics and its implication on the global market. Having the right consultants equipped with business knowledge and data technology expertise can make a difference.

Your marketing organization is probably familiar with digital tools and conducting global research. Its results can uncover the journey customers take to purchase your products or use your services. It can highlight the pain points and frictions that prevent their experiences with you to be delightful and amazing. Armed with this knowledge and beautiful compelling presentations, marketing executives expect that IT operations leaders will translate these insights into actions.

But people in IT operations are too involved in meeting key performance indicators that have nothing to do with the end customers. Meeting requirements of faster and cheaper don't translate very well into customer satisfaction. A classic breakdown in communication is described in a Harvard Business Review article, “A Technique to Bridge the Gap Between Marketing and IT.” The author goes on to describe how a new CIO at a bank found IT to be focused on the internal organization as their customers, rather than the real end customer. Moreover, no one was looking at the incident reports which clearly showed that incidents were increasing. And nobody looked at what these incidents were doing to the bank’s customers. The startling and scary numbers of incidents were caught and addressed and brought down from 1,000 to 600 or (40%) and later to 450 per week.

Surprisingly, these type of seemingly isolated scenarios are still being discovered within organizations presently, sometimes internally, and through third party insights such as consultants.  By engaging consultants to provide a perspective based on what they’ve experienced before, they can often bring new and innovative ideas or possible challenges to the table that an internal processes probably wouldn’t have been able to see on their own.  Often, third party input can help to provide the translation needed to go from marketing research results into actions that IT operations can understand and make sense in their high-performance culture. When companies understand and use this knowledge to reassess how to improve their customer experiences, they work backward from what customers want to achieve significantly higher improvements. 

IT and business management are more and more being asked to move away from their traditional roles, such as IT being the "technology infrastructure gatekeeper", and instead become enablers across the enterprise of effective collaboration, big data consumers, and key players in driving desired business outcomes. Marketing leaders look to technology as a way to facilitate the customer's journey and his positive experience of it, bring more clients, and meet increasingly higher loyalty goals. They rely on IT projects to enable big data-based behavioral targeting anywhere in the global market. This means projects to analyze search engine results, improve website personalization and optimization, and building of mobile applications for a more personal experience. All these are projects that consultants with their communication, consulting and technical expertise are well prepared to help in order to bridge the expectation gap between IT and other business organizations.

In order to meet these 21st-century business challenges, Information Technology organizations have been transitioning from waterfall stage-gate project management approaches to agile development. The stage-gate method applies a step-by-step approach where waiting, reviewing and approving are required before moving to the next step in the project. Agile management emphasizes collaboration, no decision hierarchies, and few people roles for making quick, customer-focused small changes over time to deliver solutions that delight and amaze customers. Agile development has allowed many businesses to respond quickly to changing customer desires and expectations. But moving to continuous delivery is a struggle requiring focused, dedicated teams that are not well suited to the traditional matrix organization where people are resources whose time must be "chopped" into many pieces and shared among many projects. Agile teams meet frequently as often as daily but never waiting more than a week to do so.

Marketing people are externally focused. IT people are internally focused. The first works with customer emotions. The second works to increase efficiency. Big data analytic tools are used by the first and supported by the second. Consultants can be the glue that helps both come together in effective collaborations that deliver positive business outcomes in both global and local markets.

Checking to see if a directory exists and then creating it if it is not present requires a few lines of code.  Isn't Python great. enlightened  Begin by importing the os module and use the exists and makedirs functions.

 

import os

if os.path.exists(somedirectory):
   os.makedirs(somedirectory)



Studying a functional programming language is a good way to discover new approaches to problems and different ways of thinking. Although functional programming has much in common with logic and imperative programming, it uses unique abstractions and a different toolset for solving problems. Likewise, many current mainstream languages are beginning to pick up and integrate various techniques and features from functional programming.

Many authorities feel that Haskell is a great introductory language for learning functional programming. However, there are various other possibilities, including Scheme, F#, Scala, Clojure, Erlang and others.

Haskell is widely recognized as a beautiful, concise and high-performing programming language. It is statically typed and supports various cool features that augment language expressivity, including currying and pattern matching. In addition to monads, the language support a type-class system based on methods; this enables higher encapsulation and abstraction. Advanced Haskell will require learning about combinators, lambda calculus and category theory. Haskell allows programmers to create extremely elegant solutions.

Scheme is another good learning language -- it has an extensive history in academia and a vast body of instructional documents. Based on the oldest functional language -- Lisp -- Scheme is actually very small and elegant. Studying Scheme will allow the programmer to master iteration and recursion, lambda functions and first-class functions, closures, and bottom-up design.

Supported by Microsoft and growing in popularity, F# is a multi-paradigm, functional-first programming language that derives from ML and incorporates features from numerous languages, including OCaml, Scala, Haskell and Erlang. F# is described as a functional language that also supports object-oriented and imperative techniques. It is a .NET family member. F# allows the programmer to create succinct, type-safe, expressive and efficient solutions. It excels at parallel I/O and parallel CPU programming, data-oriented programming, and algorithmic development.

Scala is a general-purpose programming and scripting language that is both functional and object-oriented. It has strong static types and supports numerous functional language techniques such as pattern matching, lazy evaluation, currying, algebraic types, immutability and tail recursion. Scala -- from "scalable language" -- enables coders to write extremely concise source code. The code is compiled into Java bytecode and executes on the ubiquitous JVM (Java virtual machine).

Like Scala, Clojure also runs on the Java virtual machine. Because it is based on Lisp, it treats code like data and supports macros. Clojure's immutability features and time-progression constructs enable the creation of robust multithreaded programs.

Erlang is a highly concurrent language and runtime. Initially created by Ericsson to enable real-time, fault-tolerant, distributed applications, Erlang code can be altered without halting the system. The language has a functional subset with single assignment, dynamic typing, and eager evaluation. Erlang has powerful explicit support for concurrent processes.

 

Computer Programming as a Career?

What little habits make you a better software engineer?

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 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 programming
  • Get your questions answered by easy to follow, organized experts
  • Get up to speed with vital 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
nstore/product,  , nstore/product,  Classes, nstore/product,  Courses, nstore/product,  Course, nstore/product,  Seminar
nearsourcing, reshoring and insourcing
developing talent and expertise at home
Companies are beginning to realize that talent and skills developed within the United States are exceedingly more important for the growth of an organization than the alternative: outsourcing. Considerations include: security, piracy, cultural differences, productivity, maintainability and time to market delays.
In the past, the reason for outsourcing centered on cost savings, lack of resources at home and the need to keep up with market trends. These considerations are proving to be of little merit as many organizations have, consequently, experienced productivity declines, are now finding considerable talent within their immediate location and have realized a need to gain more control over product development.
As strong advocates of Agile/Scrum development, HSG whole heartedly embraces this new entrepreneurial spirit because we know it works and because we believe our country's future weighs in the balance.

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