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

Millions of people experienced the frustration and failures of the Obamacare website when it first launched. Because the code for the back end is not open source, the exact technicalities of the initial failings are tricky to determine. Many curious programmers and web designers have had time to examine the open source coding on the front end, however, leading to reasonable conclusions about the nature of the overall difficulties.

Lack of End to End Collaboration
The website was developed with multiple contractors for the front-end and back-end functions. The site also needed to be integrated with insurance companies, IRS servers, Homeland Security servers, and the Department of Veterans Affairs, all of whom had their own legacy systems. The large number of parties involved and the complex nature of the various components naturally complicated the testing and integration of each portion of the project.

The errors displayed, and occasionally the lack thereof, indicated an absence of coordination between the parties developing the separate components. A failed sign up attempt, for instance, often resulted in a page that displayed the header but had no content or failure message. A look at end user requests revealed that the database was unavailable. Clearly, the coding for the front end did not include errors for failures on the back end.

Bloat and the Abundance of Minor Issues
Obviously, numerous bugs were also an issue. The system required users to create passwords that included numbers, for example, but failed to disclose that on the form and in subsequent failure messages, leaving users baffled. In another issue, one of the pages intended to ask users to please wait or call instead, but the message and the phone information were accidentally commented out in the code.

While the front-end design has been cleared of blame for the most serious failures, bloat in the code did contribute to the early difficulties users experienced. The site design was heavy with Javascript and CSS files, and it was peppered with small coding errors that became particularly troublesome when users faced bottlenecks in traffic. Frequent typos throughout the code proved to be an additional embarrassment and were another indication of a troubled development process.

NoSQL Database
The NoSQL database is intended to allow for scalability and flexibility in the architecture of projects that will use it. This made NoSQL a logical choice for the health insurance exchange website. The newness of the technology, however, means personnel with expertise can be elusive. Database-related missteps were more likely the result of a lack of experienced administrators than with the technology itself. The choice of the NoSQL database was thus another complication in the development, but did not itself cause the failures.

Another factor of consequence is that the website was built with both agile and waterfall methodology elements. With agile methods for the front end and the waterfall methodology for the back end, streamlining was naturally going to suffer further difficulties. The disparate contractors, varied methods of software development, and an unrealistically short project time line all contributed to the coding failures of the website.

When it comes to running a start up, leaders need to make sure that their key players are motivated. This has been seen with many companies. Back in the 1970's it was found with the inspiration and diligence of the late Daniel Nigro when he formed Kleer-Fax. More recently it was seen in David Khasidy, the founder and recently retired president of SunRay Power Management, the most dynamic green energy leader in the US today.

The question is, what is it that great leaders like David Khasidy and Daniel Nigro do that make the difference? How do the most vulnerable companies (start ups) break the mold and become a part of our everyday lives?

It starts with their mission and vision.

Create a Strong Mission and Vision

There are many reasons why start ups fail. For one, they usually lack the capital to last through the lean times. Secondly, they often don't have the tolerance for setbacks that occur. Lastly, they do not have a long-term plan, also called a mission.

When a business has a strong mission, the team knows it and their focus toward their work and service to others within and without the company reflects that. To complement that, the shorter term vision of the company needs to be present as well.

This can even be seen in sole proprietorships with no employees, such as when Brian Pascale started his law practice. His vision was to find justice for his clients while his mission was to build upon a career that had already set precedents in the area of tort law.

As his practice has grown, new staff members can sense the vision and mission he exudes.

Encourage Ownership of Projects and Processes

Start ups need to inspire and motivate their employees because they need to know that they are not only a part of something important, but that their contributions mean something.

What won't happen if they are not there? What contribution do they make, and what are the consequences of them not fulfilling their part of the work?

By encouraging ownership in projects, team members can find that the work they are doing is not only important for the organization, but that they are going to be a big part of what makes it happen. The alternative is that they feel replaceable.

Offer Incentives That Keep the Company Competitive

When team members embrace the mission and vision of the company, and then take ownership for the company's success, they are going to need to be justly rewarded.

This could include flexible schedules (for those who don't need a stringent one), use of an account at a nearby takeout place, or even the potential for ownership as a result of a vesting program.

The incentive everyone is looking for more immediately, though, is cash. When the company takes in more revenue as a result of the efforts of those on the team, rewarding them can go a long way not only in making them feel appreciated, but in encouraging them to bring in more business.

Members of a start up team are usually very talented, and commonly underpaid. However, if they believe they are going somewhere, it will make a big difference.

 

Related:

Good non-programmer jobs for people with software developer experience

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

Sometimes we have to repeat ourselves before we are heard. Then again there are times where we have to perform a certain action the same way several times before we can carry on with what we want to do.

Repetition is the keyword here and for humans that is something we generally try to avoid. Yet our digital friends love repetition. They never get tired and they never get bored of doing the same thing over and over again countless times.

So it’s little wonder then that all modern programming languages give us various ways in which we can perform a certain action as many times as we need.

In python we have the for statement which gives us the power to loop over large collections of data very quickly and efficiently.

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.