Nashville Web Design | Programming | IT | Atiba.com

Tales from a 40 something Nashville IT guy: The Good and Bad of Technical Change

Written by JJ Rosen for The Tennessean…

Everything I’ve learned is now obsolete.

At least that’s what I concluded after completing my once-a-decade spring cleaning last weekend.

Having skipped the last couple of these epic declutter efforts, I knew I was in for a challenge.  Computer geeks like myself tend to struggle with what I call “never know when I might need it again” syndrome.  That, along with a sentimental attachment to technologies of the past, leads many of us to hang on to many cool things that most non-techies simply refer to as “junk.”

So, I dug into spring cleaning with a mix of curiosity and dread.  I was excited to take a walk down my geeky memory lane yet a bit sad to face the prospect of throwing things out that once were so valuable to me.

The first treasures I found in the corners of our attic included some old-school tech like:

  • My first PC (running DOS)
  • An old dot matrix printer
  • A copy of Lotus 1-2-3
  • Disks 1 and 3 of WordPerfect
  • An AOL CD
  • My first programming book – “dBase III Plus for Beginners”

I figured it was time for all of those to go.  None had been very expensive even 20-something years ago, but their sentimental value had faded since the 90s.

I found a few boxes of serial port adapters, parallel printer cables, and old modems. I’m not sure how these survived, so the decision to trash them was an easy one.

But things got more complicated as I made my way toward the center of the pile.

Nearly 30 years ago I zeroed out my savings account to buy a $2,000 copy of Novell NetWare 3.12.  This industry standard software for setting up servers and computer networks arrived in a big red box with 20 diskettes and five books.   I spent two years learning all there was to know about NetWare, only to see it totally fall out of favor a year later when Microsoft Windows Server came along.

How could I throw something away that was once so valuable? Heaving $2,000 and two years of work into the garbage just seemed wrong.

This can be tough to deal with for technology professionals.  No matter what we master today, there is good chance that within two to five years it will be completely obsolete.   It’s a never-ending learning curve.

Of course, tech isn’t the only profession that require ongoing education to remain relevant. All kinds of jobs face this – doctors, lawyers, CPAs, teachers, just to name a few.

I remember early on in my career, the prospect of starting over with a new technology every few years sounded like a negative thing.  I figured burnout would be the inevitable result of this cycle of learning the latest programming language then watching it become a relic only a short time later, and then repeating this pattern for years on end.

But, as I sat in my attic staring at my expensive but obsolete box of NetWare 3.12 diskettes, I began to think about the alternative of forced obsolescence—boredom.

Surrounded by boxes of old technology made me appreciate the upside of choosing a career that forces you to learn new things.  As much as I enjoyed learning NetWare, dbase III Plus, and Lotus 1-2-3, their demise forced me to move on to the next challenge.  This cycle keeps a job interesting.

So, after a bit more debate, I decided that along with my other old tech, my Netware box must go.  All that I had learned from it was now obsolete.  And that’s a good thing.

 

 

JJ Rosen is the founder of Atiba. A Nashville software development and IT consulting firmVisit www.atiba.com or www.cabedge.com for more info.

 

Managed Services: 5 Benefits of Outsourcing IT

Featured Video Play Icon

 

5 Benefits of Outsourcing IT Managed Services

 

In an ever-growing world of technology it can become overwhelming trying to keep up with the changes and risks involved with “doing it yourself”. That is why more businesses and organizations are outsourcing all or a portion of their IT department to a Managed Services provider like Atiba. Below are 5 benefits that can immediately be gained through outsourcing your IT through Managed Services.

 

IT Managed Services headquartered in Nashville, TN with additional IT support in Huntsville, AL and Chattanooga, TN.

 

  1. Controlling Costs

Outsourcing allows you to budget effectively by only paying for what you use when you need it. Also, a full-time IT staff may not have “enough work” to justify their compensation. Outsourcing Managed Services allows you to focus your resources where you need them most.

  1. Reduce Risk

No matter the business, there is sensitive data and information that needs to be protected. Are you positive that your current firewall, servers and security measures are up to date and doing their assigned tasks? A Managed Services company who is familiar with the requirements and standards needed to stay compliant will allow you to minimize the risk associated with maintaining sensitive information.

  1. Experienced and Qualified

If the HR department is hiring the IT staff, how do they know they have the experience truly needed to meet the needs of the organization? Would you go to a doctor if you were their only patient, or would you want one that has seen and diagnosed many issues before? The same is for your IT department. Trust the experts that are seeing more “patients”.

  1. Higher Efficiency

Organizations that use the DIY approach can have much higher costs and longer time frames for implementation and fixes. This will filter down to their customers. A highly skilled Managed Services team can implement new technology and forecast issues prior to them happening. This eliminates downtime and loss of production. It also allows the organization to focus on their core business rather than IT decisions that may or may not be correct or needed at all.

  1. Level the Playing Field

Having a Managed Services partner will allow your organization to have access to similar technology and expertise that typically only larger corporations have. This allows you to grow and scale at the pace you want without worrying about your IT keeping up. It is also closely related to the first benefit I listed regarding controlling costs.

 

Each one of these benefits can be used to create a much larger list of reasons to outsource your IT, but this should give you enough information to start the conversation within your organization. It can help determine what is best for you and your business. Headquartered in Nashville, TN, Atiba uses a Half Geek, Half Human approach to offer Managed Services to the entire US. This includes recent expansions to offer additional IT support and Managed Services in Huntsville, AL and Chattanooga, TN.

 

Contact Michael Baker – National Director of Business Development at 615-866-1832 or mbaker@atiba.com for more information and a free estimate.

https://www.linkedin.com/company/atiba-software-llc

https://instagram.com/atibageeks/

Atiba Kids Series — Learning to Code: Day 1

Our blog series Atiba Kids features tech musings from a few of our team’s kids…  

This post is from Isaac Chomsky.   A brilliant rising high school sophomore on his first day teaching himself how to code.   Enjoy! 

Learning to Code Python:  Day 1 — by Isaac Chomsky

In our modern world, technology has become increasingly useful for everyday practices.

Because of this, it is important that we all learn how to properly utilize technology for these methods. In order to do that, I’ve recently decided to enhance my Python coding capabilities by working on a program that will notify me whenever a homework assignment is almost due.

This program is most likely something that has already been created, but it is still an excellent way of learning how to use Python in conventional ways. First, I had to figure out exactly how this program could work. One idea that I came up with was to create a calendar where the user could input their school assignments into the dates that they are due and, one day before the due date, the program would email the user to remind them of the assignment. This initial idea seemed plausible, so I decided to work on making the idea a reality.

The first step of this idea was learning how to create a program that can send automated messages. Through some short research, I learned how to use SSL, or Secure Sockets Layer, to properly encrypt my messages, making the message harder to be accessed by individuals other than myself and the person receiving the email. I also decided to implement “getpass” into my program, which allows the user to enter their password without it being displayed on the screen. (Basically, “getpass” is whenever you see this for passwords: *******).

This process of implementing both SSL and “getpass” proved to be sort of tricky, as the script of the program had to be exactly right or else nothing would work.

This is typical amongst programs, at least I believe so, but what made the process even more difficult was that when there was an error, the command console I was using for the program would immediately close, which prevented me from seeing any error code that could guide me towards finding the issue. However, through some manual review of my script and some trial and error, I was able to find the problem (finally!) and successfully complete the first step of this project.

Day 1 appears to have been a success!

Atiba Kids: Learning to Troubleshoot

Atiba Kids is our blog series written by the kids of Atiba techies about their techno-geek adventures.

Troubleshooting and Video Games By Max Rosen (Kid of Atibian JJ Rosen)

We all know that one kid who is really into video games, but also into the tech behind it. For a lot of people, that is me.

I love getting into the sort of complicated tech behind video games. When people don’t know how to fix something wrong with their game, I’m always ready to help.

For instance, a good friend of mine was having some trouble with getting a laggy (adults just say “slow”) game. He was running at around 15 FPS (Frames Per Second) and had been doing so for a good while. I had done my research beforehand, and found out it was because he was dedicating only 2GB of RAM to the game, where he should’ve been using 4-15GB. I helped him reconfigure the memory done and boom, his game runs far smoother.

However, we all have our limits of computer knowledge.

Last summer, I had acquired a Virtual Reality (VR) headset. VR is still kind of new to the gaming industry, so naturally, there are bugs. I plugged everything into my desktop, got the VR sensors running, and installed all of the software.. It ran for about 20 minutes. I got to play the game Beat Saber, a sort of guitar-hero but with swords and VR, for around 15 minutes; and Rec Room, a multi-player minigame hub, for about five.

And then suddently…my VR headset just crashed. It stopped working. My techie cousin and I were perplexed! We spent two hours troubleshooting.

First, we restarted the computer. Like any person who has watched any comedy involving computers we were saying, “Of course this will work, it always does”. It didn’t. Next step, we re-ran the installer. Didn’t work. We restarted again after running the installer just to be safe. Still nothing.

We had tried so many things, from unplugging things and plugging them back in, and timing it, to switching the video ports around, to even busting open the headset and unplugging and plugging cords. We tried everything… or so we thought.

Just like in any hobby, there are always people better than you in tech support. I got frustrated so I ate dinner and went to bed.

Next day I woke up and got on the support site for my particular VR headset. I reluctantly started a chat with a superior techie. We talked about all of the troubleshooting I had already done, then she started giving me new ideas. A few of them I face-palmed on, saying in my head “Oh I’m so dumb,” and “Why didn’t I think of that?”.

Being with other techies is like being in a music store, you pick up a guitar to try it out, and you play your best, then as soon as you are done someone picks up another guitar and starts shredding the heck out of that thing. In other words, you don’t want to look stupid.

Eventually, after spending about an hour chatting with the support agent, she said, “You could have one of two different problems, but they both lead to a common answer: your VR headset is faulty”. In a sense I was relieved. I was glad that the product was just broken instead of my computer being the problem. A day later I sent the headset back, and in a week, we got a new one.

A lesson was learned:

Never be afraid to call a support agent even if it makes you feel inferior. Just admit it, there is someone better than you and it’s okay to call them for help.

Overwhelmed by Software Development

Software Development – Where to Start?

One would not generally associate custom software development and healthcare but stay with me here …

Having previously spent 15 years in healthcare it’s been my observation that many people don’t know what to expect before (or after) they, or a loved one, experience a health event.  They may become overwhelmed, frustrated, and even apathetic when a health professional talks to them regarding a change.  Apprehension and/or decision paralysis seems to set in and they put off taking that next step even though it might really improve their quality of life.

It is easy to be in that same boat when it comes to understanding technology and moving forward with a custom software or website that could significantly improve your business.

It is a goal of the fantastic Half Geek Half Human folks at Atiba to help demystify technology and be customer-centric.  If you are thinking about custom software development or design, but are inundated by the information out there … hopefully this article can offer a new perspective.

An Illustration

Using a general healthcare example, let’s say a person is thinking about getting a knee replacement.  This process is not as simple as walking into the hospital and requesting the surgery, is it?  <Insert Laugh Here>

There is the progression of doctor visits beforehand – likely the general practitioner examines and recommends some exercises and maybe an anti-inflammatory medication.  Then, typically, comes a prescription for physical therapy or a stronger pain medication.  Eventually there is a referral for surgical intervention.  A couple orthopedist visits are likely next to determine candidacy for a knee replacement and what type of procedure needs to be performed, etc.  Consulting with insurance to see what will be covered and which providers are in network is also part of the process.

As the journey continues, the surgery is scheduled (hopefully there has been a case manager involved by this point).  A list of best practice recommendations is often provided for maximum results.  Some of these directions may include a list of exercises, medication instructions, pre-registration information, pre-op bathing instructions, etc.  Decisions such as transportation to and from the surgery, time off work, and aftercare plans for therapy must also be made.  The surgery hasn’t even happened yet and there has been so much “front-end” preparation already.

It’s the day of surgery and the “back-end” work begins…no one can really see what’s going on inside the knee except the surgeon & the team doing the operation.  The possible risks were explained and signed off on beforehand; such as the risk of undergoing anesthesia, risk of infection, risk of defective replacement appliances, etc.  Then the procedure begins and there may or may not be complications along the way.  For example, what may have been planned to take 2 hours, maybe takes 5 hours because of an unforeseen complication.

After the operation, the incision is inspected, ice packs applied, and precautions are put in place to minimize risk of infection.  Immediate and continuous physical therapy must ensue to get adequate range of motion back in the knee.  Perpetual monitoring and modifications to treatment are essential, including: adequate nutrition, constant quality assurance, medication adjustments, reapplying bandages, etc.  All these little tweaks can be time consuming and seem exhausting, yet, are vital to the overall success of the operation.

How again does this tie into software development?

Most custom software development requires a lot of planning and follow-up that many people may not incorporate into the initial cost or time expectations.  As with medical procedures, it’s easy to get overwhelmed with the process and frustrated with unexpected complications.  Good communication, like in healthcare, is essential on both sides of the equation.  Expectations need to be made clear, however, maintaining flexibility is also important.

Like a Case Manager in healthcare, a Project Manager can be helpful in navigating the unknown territory.  Project managers can aid in establishing the timeline, being a single point of contact, and keeping the project on target.  However, just like with the above-mentioned surgery, unforeseen complications or “bugs” can surface and delay even the best planned project.

The Process

Think back to the knee replacement example given above…custom software development/web design can loosely be broken down into two parts … front-end and back-end development.

Front-end work usually includes design content and coding skills that affect what the user sees and interacts with on a web application, it also includes developing what is known as UX/UI experience.  It is the work done that makes the interactable part of software development user friendly & efficient.  User interface know how is combined with languages like CSS, HTML, JavaScript, XML based languages, Java, Objective C and iQuery to name a few. Deciding a CMS (Content Management System) platform (examples: WordPress, Drupal, Joomla, Squarespace, or Magento to note a few) can be important if the data entered on the website needs to be pulled to a database.  Other programs like Photoshop and Adobe can also be utilized as well for front end work and design.

Back-end development involves making sure the web application can communicate with the server so that changes can be made in the desired database.  This involves making sure the code on the front end is supported and using additional programming languages (like PHP, Ruby, Python, ASP.net, C#, ColdFusion, Haskell, etc) on the back-end so information can be relayed to the servers and Database Management Systems.  Then when someone clicks on the website or is using the custom software program the information can be generated immediately when summoned for the user.

This construction takes time.

Continuous quality assurance and testing must be performed, either by the customer or the provider, but it must happen.  And just as the incision needs constant monitoring & cleaning so no infection sets in… the code will need frequent testing as “bugs” pop up and patching needs to occur for the program to be continually functional.  It will be an ongoing process that needs to occur over the lifespan of the code… (Which is why apps, programs and operating systems need ongoing updates).

Software Development … The Take Away

Yes, there are a lot of moving parts to technology, just as in healthcare.  As patients must trust doctors, hospitals, and healthcare teams, be assured that a project manager/software development team use the best tools to create websites and custom software based on individual situations.

It can seem overwhelming, but just remember how to eat an elephant – one bite at a time.

Fortunately, the great folks here at Atiba can help get you started on the journey and walk you through every step of the way when it comes to custom software development and web applications!

Don’t put off improving and growing your business any longer!  Give us a call (615) 353-1921 or send an email to info@atiba.com

 

 

 

What is technical debt?

“Rather go to bed without dinner than to rise in debt.” — Benjamin Franklin 

The thought of debt can be a scary one that conjures up images of credit cards, mortgages, car payments, and sleepless nights.  To most of us, it’s simple to define:  an amount of money you owe someone else. 

But, the concept of debt is not always related to dollars and cents.   

This was weighing heavily on my mind last week as I was looking at my end-of-year-calendar. 

In the IT field, the term “technical debt” is often used to describe the habit of taking technical shortcuts that, over time, accumulate and cause more work down the road.  Because it’s hard to quantify and often hidden from management until it’s out of control, the buildup of technical debt on a project is sometimes even more dangerous to a company than money owed on a balance sheet. 

Delaying IT infrastructure upgrades to save money, not testing software thoroughly because of a tight deadline, blowing off doing a disaster recovery plan—these are common examples of shortcuts that build up technical debts that will always come back to bite you if not paid off at some point. 

There are other types of debt as well.    

Some of us (me) eat too much and build up an “exercise debt” that we must pay off at some point if we want to maintain a healthy weight.   Some work too much, building up a “sleep debt.” Others play too much and amass a “work debt.”    

These non-financial “soft” debts are more difficult to measure than what we traditionally think of as debt, but they have real costs nonetheless.  And just like money debt, if you’re not careful, you can spend all your time and resources paying the interest instead of paying down the principal. 

Proactively managing different types of debt is an often overlooked but critical skill that determines the long-term viability of every business.  Soft debts should be tracked and managed in much the same way that financial debts are. 

In tech, we call it a “backlog.”  It’s simply a list of any tech-related shortcuts, band-aids or items we skimp on because of deadline or budget constraints, along with estimates of how much work (debt) it will take us to fix them down the road.  Some technical debts are intentional – a conscious choice to save time or money. Others are accidental, discovered in the form of bugs.   

As the backlog list grows, the key is to treat each item as a debt owed, the same way you would as if you were making payments on a bank loan.   This involves planning your “savings” (in the form of time) so that you can eventually make your “payments” (in the form of future work).    We basically mark off time on our calendars for every project to pay off our backlog debts. 

Earlier this year we began to explore this simple backlog approach to managing other areas of debt in our company.   As expected, just like tech, the constraints of time and budget created a backlog in everything from HR to marketing.  Things like updating our employee handbook and standardizing our email signatures made it to our backlog.  And just like tech debt, we have marked our calendars for our end of year payments to clear out the backlogs. 

Thinking of debt as something that is beyond a purely a financial metric has changed the way we operate.  It’s forced us to justify any shortcuts we take company-wide, because we are now tracking them as real costs rather than forgotten to-do lists that will inevitably come back to haunt us. Sleep well. 

JJ Rosen is the founder of Atiba.  A Nashville IT consulting and custom software development firm.  Visit www.atiba.com or www.atibanetworkservices.com for more info. 

 

 

Shadowing Day

Sometimes the best thing about loving your job is being able to share it with other people. Atiba believes in investing in the future, and a few weeks ago, Atiba employees hosted a group of young software developers in our Nashville office for “Shadow Day.”

Here’s the feedback we got…

My Shadow Day at Atiba:

I came to Nashville last Tuesday to do a shadow day  at Atiba. I am a recent graduate from the school Bowling Green State University in Ohio and am looking to become a full time web developer. On Wednesday I got to see what the Tech scene in Nashville is like in person and it is very cool.

The office at Atiba has a very unique aesthetic as it is located in an old car factory that now is host to many different businesses. At the top of the office is were all of the coders at Atiba work and it reminded me of a scene from AMC’s show Halt and Catch Fire. For the majority of the day I got to talk to and learn from lots of different coders while they worked on their projects. One big thing that helped me is seeing what languages and programs are used in the industry so I could see what I still need to learn. Later on I got to go out to lunch with all of the programmers at Osake for some of the best sushi I have had. After we got back I got a chance to watch some C programming and understand the workflow of the programmers at Atiba

After having the chance to see a real tech company in action, it has made me want to dive into the programming world even more than before. I am very excited to see what things will come next in the tech world and for myself.


Shadowing is one of the most valuable job experiences someone new on the job market can have.  Interested in shadowing at Atiba?   Email us at jobs@atiba.com !

A Day in the Life of a Nashville Angular Developer

A Day in the Life of an Atiba Nashville Angular Developer

Sharing what we do Atiba so both clients and potential employees can see the behind the scenes of what’s it like being a coder in Nashville is part of our culture.  AngularJS / Angular coding along with ReactJS has been some of the main coding we have been working on for our clients the past few years.

Here’s a peak at a day the life of an Atiba Nashville Angular developer:

  • We did our stand-up meetings with clients and/or internal development teams first thing every morning at 8 am each day.
  • From there, I usually connect into Jira to look at the user stories I will be working on for the day
  • I started in Angular but now I have been focusing in Angular 2.x development.   I have 2 main projects I am working on.  One is working on the front-end of an intranet site and the other is for a large public website we developed and support called Guitars.com.
  • Lunch! We usually pickup lunch (we have a Microsoft Teams Channel we use to coordinate lunch plans.  Sometimes we all go out / depends on the day.
  • After lunch I either keep the Angular coding going — or depending on deadlines I will use some of my learning time that Atiba builds into the week to study new tech (currently working on learning PHP Laravel)
  • Wind down ~5 pm or so, some days stay later others done a bit sooner.

I have been working at Atiba for 7 years.  I started as a C# coder and still work on some .Net but have enjoyed mixing it up a bit!

Atiba has some of Nashville’s best front-end developers with a crew of JavaScript gurus doing Angular, React, JQuery and more.   Let us know if we can can ever help you with you project!

 

 

Kids and Technology – It’s not all bad…

The combination of tech and kid gets a bad rap.  Is tech bad for kids?  Not always…

JJ Rosen from Atiba — our bi-weekly Tennessean.com column on biz-tech topics for Nashville and beyond.

https://www.tennessean.com/story/money/tech/2018/09/28/technology-and-kids-really-such-bad-thing/1447161002/

 

Drupal Basics from Nashville’s Drupal Developers

A quick Drupal overview from Nashville’s Drupal Developers…

Drupal is free software, written in PHP, which has a wide and active community of users and developers who collaborate together in its improvement and expansion. Drupal is designed to be the perfect content management solution for non-technical users who need both simplicity and flexibility. This is achieved with a modular approach to site construction.  Unlike other CMSs, Drupal is not a prefabricated toy truck, but rather a collection of wheels, windshields, axles, frames, etc., that a toy manufacturer can easily assemble.

Drupal can be described both as a content management system and as a content management environment: a unified system that strives to have the advantages of both, without its shortcomings. In this way, if someone is looking to create a news site, an online store, social networks, blog, wiki, or something totally different, it is all about finding the right combination of modules.

This extension is possible because it is a modular system with a very consistent architecture, which allows modules created by any developer to interact with the core of the system and modules created by other members of the community. With Drupal, it is possible to implement a wide variety of websites: a personal or professional blog, a corporate portal, a virtual store, a social network or virtual community, etc … Directed to those people, with technical training or not, who want to start in the creation of Web Portals with Drupal. It is also very useful for companies or professionals who want to create their professional or personal web portal without external dependencies.

Drupal is an open source program, with GNU / GPL license, written in PHP, developed and maintained by an active community of users. It stands out for the quality of its code and the pages generated the respect of web standards, and a special emphasis on the usability and consistency of the entire system. Online help: A robust online help system and help pages for the ‘core’ modules, both for users and administrators.

Open source: The Drupal source code is freely available under the terms of the GNU / GPL license. Unlike other systems of ‘blogs’ or proprietary content management, it is possible to extend or adapt Drupal according to the needs.

Modules: The Drupal community has contributed many modules that provide features such as ‘category page’, private messages, bookmarks, etc.

Personalization: A robust personalization environment is implemented in the core of Drupal. Both the content and the presentation can be individualized according to the preferences defined by the user.

Friendly URLs: Drupal uses the mod_rewrite of Apache to create URLs that are manageable by users and search engines