<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title></title>
  <subtitle></subtitle>
  <id>https://www.endpointdev.com/blog/tags/remote-work/</id>
  <link href="https://www.endpointdev.com/blog/tags/remote-work/"/>
  <link href="https://www.endpointdev.com/blog/tags/remote-work/" rel="self"/>
  <updated>2023-12-29T00:00:00+00:00</updated>
  <author>
    <name>End Point Dev</name>
  </author>
  
    <entry>
      <title>End Point meetup in Ljubljana, Slovenia</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2023/12/end-point-ljubljana-meetup/"/>
      <id>https://www.endpointdev.com/blog/2023/12/end-point-ljubljana-meetup/</id>
      <published>2023-12-29T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-161011.webp&#34; alt=&#34;5 men smiling for the camera outside against classic pillar and walls&#34;&gt;&lt;/p&gt;
&lt;!-- Photos by Jon Jensen except IMG_9314.webp which is by Nicholas Piano --&gt;
&lt;h3 id=&#34;remote-first-work&#34;&gt;Remote-first work&lt;/h3&gt;
&lt;p&gt;End Point has always been a primarily remote work company. We have offices in Manhattan, New York City and Johnson City, Tennessee, yet the people who work in them mostly interact online with remote colleagues.&lt;/p&gt;
&lt;p&gt;Most of the time that is wonderful because we have no commute if we work at home, or as short of a commute as we want for those who work in a nearby office or co-working space. We are also able to move without changing jobs. And our meetings with clients are usually remote in any case.&lt;/p&gt;
&lt;h3 id=&#34;international-interaction&#34;&gt;International interaction&lt;/h3&gt;
&lt;p&gt;Perhaps best of all, working remote-first has allowed us to work together with colleagues around the world: currently in 13 countries and as many time zones. That is pretty good international representation for a company of 70 people.&lt;/p&gt;
&lt;p&gt;A downside of mostly remote work is that we generally have to make an effort to ever meet each other in person. And while remote meetings are convenient, they lack some impact that in-person meetings have. There is especially a big difference between meeting remotely with someone you have never met, and someone you&amp;rsquo;ve met in person at least once!&lt;/p&gt;
&lt;p&gt;So we try to meet up with our co-workers when we are at all &amp;ldquo;in the neighborhood&amp;rdquo; of each other. That can happen when more than one of us attends a conference or work on a VisionPort installation, when we meet with a client, when we have meetings at one of our offices, or when one or more of us happens to be traveling and proposes meeting with others in the area.&lt;/p&gt;
&lt;p&gt;In 2023 alone I am aware of such meetings among our staff that happened in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Malaysia&lt;/li&gt;
&lt;li&gt;Spain&lt;/li&gt;
&lt;li&gt;Belgium&lt;/li&gt;
&lt;li&gt;Slovenia&lt;/li&gt;
&lt;li&gt;New York&lt;/li&gt;
&lt;li&gt;Tennessee&lt;/li&gt;
&lt;li&gt;Missouri&lt;/li&gt;
&lt;li&gt;Indiana&lt;/li&gt;
&lt;li&gt;Utah&lt;/li&gt;
&lt;li&gt;Washington (state)&lt;/li&gt;
&lt;li&gt;California&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And there are probably a few others I didn&amp;rsquo;t hear about or forgot!&lt;/p&gt;
&lt;h3 id=&#34;ljubljana-slovenia&#34;&gt;Ljubljana, Slovenia&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230419-143046.webp&#34; alt=&#34;A sunny view overlooking a European city with classic and modern architecture, with mountains in the background&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here I want to share some photos of a brief meet-up four of us had in Ljubljana, the capital of Slovenia, back in April. I was traveling there while on vacation with my daughter Mira, so I asked around among my co-workers who lived nearby, where &amp;ldquo;nearby&amp;rdquo; meant within a few hours’ travel.&lt;/p&gt;
&lt;p&gt;Our crew was Couragyn Chretien from Canada and Nicholas Piano from England, both living in Spain; Marco Pessotto from Italy, living in Croatia; and I was on vacation from my current base in Utah.&lt;/p&gt;
&lt;p&gt;None of us had been to Ljubljana before and we all were eager to see it. Couragyn and Nicholas flew, Marco drove, and I took a train from Zagreb, Croatia, the previous stop on my itinerary.&lt;/p&gt;
&lt;p&gt;We booked vacation rental apartments that were near each other and close to the river that runs through the city, nestled among town squares, pedestrian areas, and restaurants.&lt;/p&gt;
&lt;p&gt;We had dinner together the evening we all arrived, and breakfast in the morning, then met in one of the apartments. The four of us had recently not overlapped very much in End Point projects we were involved with, so we began by having a few hours of &amp;ldquo;show and tell&amp;rdquo; to go over several projects we have been working on for clients.&lt;/p&gt;
&lt;p&gt;Here is Nicholas giving us an application demonstration:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-104650.webp&#34; alt=&#34;Man in an apartment looks toward large TV screen mounted on a wall, showing a computer display of a website&#34;&gt;&lt;/p&gt;
&lt;p&gt;As we are prone to do, we dug into some of our current technical challenges to try to help each other out of problems. That was actually really helpful because it forced us to move beyond high-level descriptions and app demos to implementation and troubleshooting. I don&amp;rsquo;t remember that we solved any big problem this time, but so it goes.&lt;/p&gt;
&lt;p&gt;We next talked about an internal development project that may yet see the light of day.&lt;/p&gt;
&lt;p&gt;We also had an impromptu review of our main website&amp;rsquo;s Google Analytics reports to reflect on the effects of our domain move from endpoint.com to endpointdev.com almost two years prior. Visitor traffic and broken links are some of the many domain move considerations and most of us were not deeply involved in that process so it was good to spread some of the knowledge learned.&lt;/p&gt;
&lt;p&gt;We wrapped up with a timed selfie:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/IMG_9314.webp&#34; alt=&#34;4 men standing in a living room smiling for the camera&#34;&gt;&lt;/p&gt;
&lt;p&gt;Then before dinner we were treated to a walking tour of Ljubljana by our local friend Šime Kodžoman, who I met about a decade earlier through his brother Jure and the European Perl and Interchange open source software developer communities.&lt;/p&gt;
&lt;p&gt;Šime knows a ton about the city and we spent an enjoyable afternoon and evening together as we walked 13–14 km ≈ 8–9 miles and saw as much as we could.&lt;/p&gt;
&lt;p&gt;A few highlights among many:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-162739.webp&#34; alt=&#34;4 men walking left across a city square in front of buildings with modern architecture&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-143618.webp&#34; alt=&#34;Two brutalist concrete high-rise buildings tower over a concrete square&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-145303.webp&#34; alt=&#34;Colorful 4-story buildings with trees along concrete city walls containing a river reflecting a cloudscape&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230418-145712.webp&#34; alt=&#34;A colorful European city square with clocktower and church&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/12/end-point-ljubljana-meetup/20230419-142136.webp&#34; alt=&#34;A sunny view of a castle wall and tower with flags flying in the breeze, against a blue sky with white clouds&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in learning more about Ljubljana, there are plenty of good resources to read online. Start with &lt;a href=&#34;https://www.ljubljana.si/en/&#34;&gt;ljubljana.si&lt;/a&gt;, &lt;a href=&#34;https://www.visitljubljana.com/en/visitors&#34;&gt;visitljubljana.com&lt;/a&gt;, and &lt;a href=&#34;https://en.wikipedia.org/wiki/Ljubljana&#34;&gt;Wikipedia&amp;rsquo;s Ljubljana entry&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We wrapped up our day with another meal together, and the next morning we headed our separate ways.&lt;/p&gt;
&lt;p&gt;It was great to meet each other in person, to see Šime again, and to get a feel for a beautiful city!&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Synchronous work in asynchronous work environments</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2023/08/synchronous-work-in-asynchronous-environments/"/>
      <id>https://www.endpointdev.com/blog/2023/08/synchronous-work-in-asynchronous-environments/</id>
      <published>2023-08-15T00:00:00+00:00</published>
      <author>
        <name>Vincent Martin</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2023/08/synchronous-work-in-asynchronous-environments/windy-tree.webp&#34; alt=&#34;A light green tree blows in strong winds, against a grey stormy sky.&#34;&gt;&lt;/p&gt;
&lt;!-- Photo by Seth Jensen, 2023. --&gt;
&lt;p&gt;Co-authored by &lt;a href=&#34;/team/trevor-slocum/&#34;&gt;Trevor Slocum&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As a team that spans the globe, asynchronous communication is a necessity for us. While we do use email, of course, we use internal text chat rooms for communication more frequently. These asynchronous tools are useful to have around, but they may not be the best fit for sharing an idea or some other information with others. Sometimes we need to speak with someone in a voice or video conference, or even share our screen and work together to solve a problem. In this article we will share some of the things we have learned while working in these situations.&lt;/p&gt;
&lt;h3 id=&#34;solving-problems-together&#34;&gt;Solving problems together&lt;/h3&gt;
&lt;p&gt;When pair programming, we solve problems together. This usually takes the form of one person sharing their screen while the other watches and provides guidance and feedback, but it also takes other forms which we will refer to later. Having someone critique our work in real time as we try to solve complex problems can be stressful. This is an entirely natural reaction to the situation, and happens to everyone who engages in pair programming and other collaborative work.&lt;/p&gt;
&lt;p&gt;If you find yourself feeling this way, our advice is to take a brief pause and talk it out with your co-worker. Taking a few minutes to clear your head and get your feelings off of your chest is really all it takes. In the moment, it can be hard to see that our teammate is just trying to help us. Once we have shared how we are feeling, we start to see and understand the situation more clearly.&lt;/p&gt;
&lt;p&gt;Another important point is that working together is inherently a teaching and learning activity. Because we were not extruded from a cloning machine, we all have different ideas and perspectives. By virtue of interacting with each other, particularly on anything for which one can acquire a level of understanding and proficiency, we share things that we have picked up along the way, and pick up things that others share along the way.&lt;/p&gt;
&lt;p&gt;Pair programming at its best is two friendly engineers enjoying the challenge of building something or solving a problem together while expanding their individual understandings of the problem domain and building trust as a team. Everyone benefits, so try to relax and have fun!&lt;/p&gt;
&lt;h3 id=&#34;technical-aspects&#34;&gt;Technical Aspects&lt;/h3&gt;
&lt;p&gt;With all the mental aspects of pair programming addressed, you can now get to programming with your co-worker. While a software developer may share their screen, as mentioned previously, it&amp;rsquo;s also possible to share an entire development environment. This allows your teammate to see and edit the entire repository of source code in real time, from the comfort of their own editor running on their computer.&lt;/p&gt;
&lt;p&gt;These shared environments allow you to follow each other&amp;rsquo;s cursor and also see what each person has highlighted, or work independently in different files. This approach also has the advantage of not relying on video compression to share code.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/08/synchronous-work-in-asynchronous-environments/vscode.webp&#34; alt=&#34;A screenshot demonstrating the initial step of sharing with others using VS Code. VS Code&amp;rsquo;s command pallette is open, with &amp;ldquo;live share&amp;rdquo; typed into the search box. Selected is &amp;ldquo;Live Share: Start Collaboration Session (Share). Other options are Join Collaboration Session, Focus on Session Details View, Help, Sign out, and Start Read-Only Collaboration Session. Each is prefixed by &amp;ldquo;Live Share:&amp;rdquo;&#34;&gt;&lt;br&gt;
Using the VS Code Live Share plugin&lt;/p&gt;
&lt;p&gt;Visual Studio Code offers a plugin called &amp;ldquo;&lt;a href=&#34;https://code.visualstudio.com/learn/collaboration/live-share&#34;&gt;Live Share&lt;/a&gt;&amp;rdquo; which can be installed to allow the users to collaborate synchronously on a project. The project itself lives on one of the users&amp;rsquo; computers, for example if you wanted to pair a program with a friend, you would initiate the session on your computer and send your friend the provided web link, which they would use to attach to your session. This feature not only allows you to share your code, but also allows you to share useful tools like the in-editor debugger.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/08/synchronous-work-in-asynchronous-environments/intellij.webp&#34; alt=&#34;A screenshot demonstrating the initial step of sharing with others using IntelliJ IDEA. A popup titled &amp;ldquo;Code With Me: Start Session&amp;rdquo; reads &amp;ldquo;Set permissions for new guests, under which are radio buttons reading Read-Only (which is selected), Edit files, Full access, and Custom. There is also an unchecked checkbox giving the option to &amp;ldquo;start call.&amp;rdquo;&#34;&gt;&lt;br&gt;
Using the IntelliJ Code With Me plugin&lt;/p&gt;
&lt;p&gt;The IntelliJ family of editors (e.g. IDEA) offer a similar plugin called &amp;ldquo;&lt;a href=&#34;https://www.jetbrains.com/help/idea/code-with-me.html&#34;&gt;Code With Me&lt;/a&gt;.&amp;rdquo; This plugin provides additional features such as allowing more than two users to connect at the same time. Actual live editing of code is limited to five users at the moment, but you can have more if you operate in a teacher-student scenario where you can present code real time with a large number of your teammates by enabling &amp;ldquo;force others to follow you&amp;rdquo; mode.&lt;/p&gt;
&lt;h3 id=&#34;the-flow&#34;&gt;The flow&lt;/h3&gt;
&lt;p&gt;Pair programming can be quite effective, but the social aspect can cause participants to burn out pretty quickly. It can sometimes be hard to focus and socialize for hours at a time. Because of this we have found it quite important to take breaks. The question is, when do you take these breaks?&lt;/p&gt;
&lt;p&gt;Breaking apart and coming back together later is another workflow that we have had a lot of success with. A scenario which demonstrates this is the following: Imagine you and your co-worker are working on a task when you both come to a problem which neither of you knows how to solve. Finding the solution will require a bit of research, reading, and trial &amp;amp; error. A few solutions will have to be tried!&lt;/p&gt;
&lt;p&gt;Oftentimes this is a good hint to both of you that you should take a break from the problem and work on it independently, bringing your findings together at a later time. This essentially breaks up the serial nature of pair programming and makes it parallel. In other words, pair programming is not always done together.&lt;/p&gt;
&lt;h3 id=&#34;wrapping-it-up&#34;&gt;Wrapping it up&lt;/h3&gt;
&lt;p&gt;Once you are finished working on a problem together, it&amp;rsquo;s time to commit the work. If you&amp;rsquo;re using &lt;a href=&#34;https://git-scm.com&#34;&gt;git&lt;/a&gt;, only one author will be attributed by default (whoever runs the command &lt;code&gt;git commit&lt;/code&gt;). This means that if/when we find a bug in this code later, and need to identify who authored the code responsible for it to explain why the code was written this way, we might only see half of the picture (or worse).&lt;/p&gt;
&lt;p&gt;Adding a co-authored-by line (such as the one below) at the end of a git commit message is the de facto standard for attributing multiple authors to a git commit. This is not officially supported by git, but many third-party git tools recognize this line, such as GitHub and GitLab, and this practice is followed by many programmers.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Co-authored-by: Chuck Person &amp;lt;chuck@eccojams.opn&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Even when a git tool does not recognize this line, other tools such as grep can be used to extract this information.&lt;/p&gt;
&lt;p&gt;Note that you must add a blank line before adding any &lt;code&gt;Co-authored-by&lt;/code&gt; lines. For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Add fizz, fix buzz
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We need to include fizz in order for buzz to function properly.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Co-authored-by: Chuck Person &amp;lt;chuck@eccojams.opn&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Co-authored-by: Ramona Langley &amp;lt;ramona@floralshoppe.mpl&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>eCR Coordinator job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2023/05/ecr-coordinator-job/"/>
      <id>https://www.endpointdev.com/blog/2023/05/ecr-coordinator-job/</id>
      <published>2023-05-23T00:00:00+00:00</published>
      <author>
        <name>Shannon Sandall</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2020/11/job-java-javascript-developer/20201107-124658-crop.jpg&#34; alt=&#34;Person on boulder overlooking valley with lake&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are seeking a full-time &lt;strong&gt;Electronic Case Reporting (eCR) Coordinator&lt;/strong&gt; to provide high-level expertise in the validation and automation of eCR messages.&lt;/p&gt;
&lt;p&gt;This position is responsible for establishing complete, up-to-date, timely, and automated reporting of individual-level data, and automation of incoming EHR data. &lt;strong&gt;Position is remote, in the United States only.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The person in this role will be responsible for coordinating and overseeing the eCR onboarding process for our clients. Additionally, the person will become our subject matter expert for the NNDSS Modernization Initiative (NMI) and how systems in place within EpiTrax can be configured to report through the NMI module.&lt;/p&gt;
&lt;h3 id=&#34;job-responsibilities&#34;&gt;Job responsibilities&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;eCR onboarding—40%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assist the on-boarding team with eCR reporters.&lt;/li&gt;
&lt;li&gt;Develop Structure, Dictionary, LOINC and SNOMED codes in EMSA.&lt;/li&gt;
&lt;li&gt;Assist in eCR message structure approval.&lt;/li&gt;
&lt;li&gt;Assist with EMSA management.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Troubleshooting—30%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Issues found by the program epis and the LHDs.&lt;/li&gt;
&lt;li&gt;Issues found by the surveillance team.&lt;/li&gt;
&lt;li&gt;Create trouble tickets for issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Testing—15%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Test the structure for incoming messages.&lt;/li&gt;
&lt;li&gt;Test new enhancement functionality.&lt;/li&gt;
&lt;li&gt;Test bug fixes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant document development—5%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assist with determining next steps in development to be included in grants.&lt;/li&gt;
&lt;li&gt;Develop documentation for grants.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Process documentation—5%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thoroughly document changes and the processes put in place.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NMI—5%&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Work with state and CDC teams to determine MMG onboarding schedule.&lt;/li&gt;
&lt;li&gt;Map EpiTrax variables to PHIN VAD variables in the NMI module.&lt;/li&gt;
&lt;li&gt;Document all mappings and changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;skills-required&#34;&gt;Skills required&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Working knowledge of public health surveillance or EHR and healthcare data&lt;/li&gt;
&lt;li&gt;Good communication skills, both spoken and written&lt;/li&gt;
&lt;li&gt;Ability to analyze problems&lt;/li&gt;
&lt;li&gt;Good testing skills&lt;/li&gt;
&lt;li&gt;Ability to multitask and set priorities&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;skills-to-have-or-to-learn-on-the-job&#34;&gt;Skills to have, or to learn on the job&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In-depth knowledge of eCR messaging&lt;/li&gt;
&lt;li&gt;In-depth knowledge of EMSA&lt;/li&gt;
&lt;li&gt;In-depth knowledge of EpiTrax&lt;/li&gt;
&lt;li&gt;Working knowledge of NMI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For some of our clients you will need to submit to and pass a criminal background check.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Starting annual salary range: $50k–$85k&lt;/li&gt;
&lt;li&gt;Paid holidays (10 per year) and vacation (2 weeks per year)&lt;/li&gt;
&lt;li&gt;Health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Freedom from being tied to one office location&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume, your LinkedIn URL if you have one, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Tennessee Hackathon 2023</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2023/03/tennessee-hackathon-2023/"/>
      <id>https://www.endpointdev.com/blog/2023/03/tennessee-hackathon-2023/</id>
      <published>2023-03-30T00:00:00+00:00</published>
      <author>
        <name>Darius Clynes</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/eptn-1.jpg&#34; alt=&#34;EPTN main room. Several development VisionPort systems are mounted on the back wall. Four End Pointers are seen sitting at a variety of desks and workstations.&#34;&gt;&lt;/p&gt;
&lt;p&gt;We just had our first company gathering in our Tennessee office after a hiatus of several years. About 20 End Pointers came to our Johnson City, Tennessee office to work on various VisionPort projects. For several of us, it also provided an opportunity to meet each other in person for the first time.&lt;/p&gt;
&lt;h3 id=&#34;end-point-tennessee-office-eptn&#34;&gt;End Point Tennessee office (EPTN)&lt;/h3&gt;
&lt;p&gt;Other than our Johnson City-based team, for many of us this was our first look at our Tennessee office from which the VisionPort systems are assembled, tested and shipped.&lt;/p&gt;
&lt;p&gt;Our Content Management System (CMS) team worked on some exciting updates to our VisionPort CMS, including important modifications to our touchscreen systems and improvements to the user interface.&lt;/p&gt;
&lt;p&gt;Meanwhile our Research &amp;amp; Development team worked on upgrades to the VisionPort system itself, focusing on integrating large and small touchscreens for multimedia presentations. One such improvement was support for 8 tabletop touchscreens integrated to serve 16 museum visitors simultaneously.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/eptn-3.jpg&#34; alt=&#34;EPTN main room. Closer image of the left side of the room. Three End Pointers sit side-by side, working on computers. Two of them are checking each others&amp;rsquo; work on a laptop.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Our support team worked on testing and spinning up documentation to bring our inventory up to date and prepare for the next wave of our new VisionPort CMS installations.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/eptn-4.jpg&#34; alt=&#34;EPTN main room. A wider shot. Six End Pointers are hacking away at their workstations.&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;casablanca&#34;&gt;Casablanca&lt;/h3&gt;
&lt;p&gt;The luxurious lounge working space at one of our Airbnb locations, nicknamed Casablanca, enabled us to be comfortably spread out as we worked together on various projects.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/cbl-1.jpg&#34; alt=&#34;Casablanca. A spacious lounge room with an exposed brick wall, with part of the kitchen visible in the top right. A grey patterned rug sits on the floor. An End Pointer sits on a leather couch with her laptop. Another laptop sits on the couch.&#34;&gt;&lt;/p&gt;
&lt;p&gt;A morning meeting with plenty of room left:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/cbl-2.jpg&#34; alt=&#34;Casablanca. A wider view of the room, including the kitchen with a counter turned workstation. Several people are seen working in the foreground on a table, as well as the background on couches and other seats.&#34;&gt;&lt;/p&gt;
&lt;p&gt;A quiet comfy corner for planning!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/cbl-3.jpg&#34; alt=&#34;Casablanca. Another corner with a white couch and white seats, a modern wood table, and exposed brick on two walls. Two End Pointers are looking up from their laptops, smiling at the camera.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Working breakfasts:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/cbl-4.jpg&#34; alt=&#34;Casablanca, kitchen area. Food is laid out on the end of the counter, while the other end is taken by two laptops occupied by End Pointers.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/cbl-5.jpg&#34; alt=&#34;Casablanca, lounge area. Two End Pointers on a leather couch look up from their laptops and smile at the camera.&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;pigeon&#34;&gt;Pigeon&lt;/h3&gt;
&lt;p&gt;Just across from Casablanca, we did some relaxing in the &amp;ldquo;Pigeon coop&amp;rdquo;, another luxurious abode:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/pigeon-1.jpg&#34; alt=&#34;Pigeon. Eight End Pointers relax and chat on a modern-looking couch and at a bar&#34;&gt;&lt;/p&gt;
&lt;p&gt;Impromptu roof terrace get together:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/pigeon-2.jpg&#34; alt=&#34;Pigeon. Four End Pointers chat on the roof terrace, which has a view of some city lights and buildings. The terrace is illuminated by a string of lights above.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/pigeon-3.jpg&#34; alt=&#34;Pigeon. On the other half of the terrace, five more End Pointers gather.&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;birthdays-dinner-and-farewell&#34;&gt;Birthdays, dinner, and farewell&lt;/h3&gt;
&lt;p&gt;We also had a couple of employee birthdays to celebrate during the hackathon!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/birthday-1.jpg&#34; alt=&#34;Four pies with lit candles in them sit on a steel countertop, as an End Pointer places the last candle.&#34;&gt;&lt;/p&gt;
&lt;p&gt;And a tasty dinner with everyone the final evening:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/dinner-1.jpg&#34; alt=&#34;Dinner. End Pointers are gathered around a large restaurant table, with lots of hearty food in front of them, midway through the meal. A sign in the background reads &amp;ldquo;Great Oak Brewing&amp;rdquo;.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2023/03/tennessee-hackathon-2023/dinner-3.jpg&#34; alt=&#34;The opposite side of the same table. Ben waves with a cowboy hat from the back while other End Pointers smile at the camera, after the meal. Several barrels are visible around the restaurant/brewery.&#34;&gt;&lt;/p&gt;
&lt;p&gt;It was great to see everyone at the Tennessee office. We did plenty of hard work, sometimes sitting elbow to elbow. It certainly was a great opportunity after working together remotely, and helped us experience the camaraderie which is typical of End Point&amp;rsquo;s unique spirit. Until next time, we will continue to improve our VisionPort systems and extend our remote collaboration!&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Web developer in GIS, mapping, Cesium, JavaScript job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2022/02/spatial-gis-mapping-cesium-javascript-job/"/>
      <id>https://www.endpointdev.com/blog/2022/02/spatial-gis-mapping-cesium-javascript-job/</id>
      <published>2022-02-09T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2022/02/spatial-gis-mapping-cesium-javascript-job/14355706530_003b041890_o-sm.webp&#34; alt=&#34;Aerial 3D map of New York City showing many buildings highlighted in fluorescent green&#34; /&gt;&lt;br /&gt;
&lt;a href=&#34;https://flickr.com/photos/carbonquilt/14355706530/&#34;&gt;Image by Carbon Visuals&lt;/a&gt; for NYC Clean Heat Project, &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;CC BY 2.0&lt;/a&gt;, cropped&lt;/p&gt;
&lt;p&gt;We are looking for a &lt;strong&gt;full-time JavaScript developer for geospatial web applications&lt;/strong&gt; using GIS data, mapping, and 3D imagery, to work with us on our clients’ applications. Location somewhere in the Western Hemisphere is preferred.&lt;/p&gt;
&lt;p&gt;End Point Dev is an Internet technology consulting company based in New York City. We have about 50 employees serving many clients ranging from small family businesses to large corporations. We are going strong after 26 years in business!&lt;/p&gt;
&lt;p&gt;Even prior to the pandemic most of us worked remotely from our home offices. We collaborate using project tracking tools, GitHub/​GitLab/​Bitbucket, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop interesting and innovative geospatial web applications for our clients.&lt;/li&gt;
&lt;li&gt;Work together with co-workers here at End Point Dev and our clients’ in-house staff.&lt;/li&gt;
&lt;li&gt;Use your preferred desktop operating system: Linux, macOS, or Windows.&lt;/li&gt;
&lt;li&gt;Build on open source software and contribute back when possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;professional-development-experience-youll-need&#34;&gt;Professional development experience you&amp;rsquo;ll need:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2+ years of development with JavaScript, TypeScript, and/or Node.js for geospatial applications&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Frameworks and libraries such as CesiumJS, Three.js, Leaflet, OpenStreetMap, KML, Mapbox, PostGIS, WebGL, Google Maps API, React, Vue.js, Angular&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, Redis&lt;/li&gt;
&lt;li&gt;Familiarity with the Linux operating system and shell&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;you-have-these-important-work-traits&#34;&gt;You have these important work traits:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Strong spoken and written communication skills&lt;/li&gt;
&lt;li&gt;A good eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Flexible and sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;For U.S. employees, health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to &lt;a href=&#34;mailto:jobs@endpointdev.com&#34;&gt;jobs@endpointdev.com&lt;/a&gt; to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume/​CV, your LinkedIn or other profile URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Note that this role is not for agencies or subcontractors—direct work seekers only.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>.NET/C# developer job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/11/dotnet-developer-job/"/>
      <id>https://www.endpointdev.com/blog/2021/11/dotnet-developer-job/</id>
      <published>2021-11-09T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2018/08/job-opening-dotnet-csharp-javascript-developer/25677299412_9934b2ec91_o-mod.jpg&#34; alt=&#34;programmer at keyboard on desk&#34; /&gt;&lt;br&gt;&lt;a href=&#34;https://www.wocintechchat.com/&#34;&gt;Photo by #WOCinTech Chat&lt;/a&gt; · &lt;a href=&#34;https://www.flickr.com/photos/wocintechchat/25677299412/&#34;&gt;CC BY 2.0, modified&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We are seeking a full-time &lt;strong&gt;.NET/C# software developer based in the United States&lt;/strong&gt; to work with us on our clients’ applications.&lt;/p&gt;
&lt;p&gt;End Point Dev is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company is going strong after 26 years in business!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients.&lt;/li&gt;
&lt;li&gt;Work together with End Point Dev co-workers and our clients’ in-house staff.&lt;/li&gt;
&lt;li&gt;Use your desktop operating system of choice: Windows, macOS, or Linux.&lt;/li&gt;
&lt;li&gt;Enhance open source software and contribute back as opportunity arises.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;youll-need-professional-development-experience-with&#34;&gt;You&amp;rsquo;ll need professional development experience with:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;3+ years of development with .NET and C#&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Databases such as SQL Server, PostgreSQL, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Front-end web development with HTML, CSS, JavaScript and frameworks such as Vue, React, Angular&lt;/li&gt;
&lt;li&gt;Security consciousness such as under PCI-DSS for ecommerce or HIPAA medical data&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;you-have-these-important-work-traits&#34;&gt;You have these important work traits:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For some of our clients you will need to submit to and pass a criminal background check.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Work from your home office, or from our offices in New York City and the Tennessee Tri-Cities area&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>DevOps &amp; Kubernetes engineer job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/11/devops-kubernetes-engineer-job/"/>
      <id>https://www.endpointdev.com/blog/2021/11/devops-kubernetes-engineer-job/</id>
      <published>2021-11-04T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2021/11/devops-kubernetes-engineer-job/20210811-195659.jpg&#34; alt=&#34;dumpster with worn sticker warning against sleeping or falling&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are looking for a full-time, salaried DevOps / Kubernetes engineer to work on cloud hosting projects with our clients and our internal hosting team.&lt;/p&gt;
&lt;p&gt;End Point Dev is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. We are going strong after 26 years in business!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Automate, set up, support, and maintain complex containerized applications in the cloud.&lt;/li&gt;
&lt;li&gt;Audit and improve security, backups, reliability, monitoring.&lt;/li&gt;
&lt;li&gt;Work together with End Point Dev co-workers and our clients’ in-house staff.&lt;/li&gt;
&lt;li&gt;Use your desktop operating system of choice: Linux, macOS, or Windows.&lt;/li&gt;
&lt;li&gt;Work with open source software and contribute back as opportunity arises.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;youll-need-professional-experience-with&#34;&gt;You&amp;rsquo;ll need professional experience with:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Production Kubernetes administration on Amazon EKS (2+ years)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Linux and common distributions including Ubuntu, RHEL/​CentOS&lt;/li&gt;
&lt;li&gt;Public clouds such as AWS, GCP, Azure, Linode, DigitalOcean&lt;/li&gt;
&lt;li&gt;Containerization with Docker and/or Podman&lt;/li&gt;
&lt;li&gt;IaC tools such as Terraform, CloudFormation, Ansible, Chef, Puppet, Salt&lt;/li&gt;
&lt;li&gt;CI/CD pipelines, release management&lt;/li&gt;
&lt;li&gt;Git version control, GitHub or GitLab&lt;/li&gt;
&lt;li&gt;Scripting and programming with bash, Python, Ruby, Go, etc.&lt;/li&gt;
&lt;li&gt;OS fundamentals, networking, and firewalls&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;you-have-these-important-work-traits&#34;&gt;You have these important work traits:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;(For U.S. employees:) Health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to &lt;a href=&#34;mailto:jobs@endpointdev.com&#34;&gt;jobs@endpointdev.com&lt;/a&gt; to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Java developer job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/11/java-developer-job/"/>
      <id>https://www.endpointdev.com/blog/2021/11/java-developer-job/</id>
      <published>2021-11-03T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2020/11/job-java-javascript-developer/20201107-124658-crop.jpg&#34; alt=&#34;Person on boulder overlooking valley with lake&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are seeking a full-time &lt;strong&gt;Java server-side software developer based in the United States&lt;/strong&gt; to work with us on our clients’ applications.&lt;/p&gt;
&lt;p&gt;End Point Dev is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company is going strong after 26 years in business!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients.&lt;/li&gt;
&lt;li&gt;Work together with End Point Dev co-workers and our clients’ in-house staff.&lt;/li&gt;
&lt;li&gt;Use your desktop operating system of choice: Linux, macOS, or Windows.&lt;/li&gt;
&lt;li&gt;Enhance open source software and contribute back as opportunity arises.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;youll-need-professional-development-experience-with&#34;&gt;You&amp;rsquo;ll need professional development experience with:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;4+ years of development with Java for server-side applications&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Frameworks and libraries such as Wildfly, Hibernate, Spring, Struts, Play&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness, such as under HIPAA for safe medical &amp;amp; PII data handling&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;you-have-these-important-work-traits&#34;&gt;You have these important work traits:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For some of our clients you will need to submit to and pass a criminal background check.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to &lt;a href=&#34;mailto:jobs@endpointdev.com&#34;&gt;jobs@endpointdev.com&lt;/a&gt; to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Rails developer job opening</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/11/rails-developer-job/"/>
      <id>https://www.endpointdev.com/blog/2021/11/rails-developer-job/</id>
      <published>2021-11-03T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2021/02/job-rails-vuejs-developer/25677176162_c54b9effec_o-crop.jpg&#34; alt=&#34;Two software developers at their computers&#34; /&gt;&lt;br /&gt;
&lt;a href=&#34;https://www.flickr.com/photos/wocintechchat/25677176162/&#34;&gt;Photo&lt;/a&gt; by &lt;a href=&#34;https://www.wocintechchat.com/&#34;&gt;WOCinTech Chat&lt;/a&gt;, &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;CC BY 2.0&lt;/a&gt;, cropped&lt;/p&gt;
&lt;p&gt;We are seeking a full-time &lt;strong&gt;Ruby on Rails software developer based in the United States&lt;/strong&gt; to work with us on our clients’ applications.&lt;/p&gt;
&lt;p&gt;End Point Dev is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company is going strong after 26 years in business!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients.&lt;/li&gt;
&lt;li&gt;Work together with End Point Dev co-workers and our clients’ in-house staff.&lt;/li&gt;
&lt;li&gt;Use your desktop operating system of choice: Linux, macOS, or Windows.&lt;/li&gt;
&lt;li&gt;Enhance open source software and contribute back as opportunity arises.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;youll-need-professional-development-experience-with&#34;&gt;You&amp;rsquo;ll need professional development experience with:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;4+ years of development with Ruby on Rails&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;JavaScript frameworks and libraries such as Vue.js, React, Angular&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness, such as under HIPAA for safe medical &amp;amp; PII data handling&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;you-have-these-important-work-traits&#34;&gt;You have these important work traits:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For some of our clients you will need to submit to and pass a criminal background check.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to &lt;a href=&#34;mailto:jobs@endpointdev.com&#34;&gt;jobs@endpointdev.com&lt;/a&gt; to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: Systems Programmer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/10/job-systems-programmer/"/>
      <id>https://www.endpointdev.com/blog/2021/10/job-systems-programmer/</id>
      <published>2021-10-13T00:00:00+00:00</published>
      <author>
        <name>Matt Vollrath</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2021/10/job-systems-programmer/20211009_123841-sm.jpg&#34; alt=&#34;foggy autumn mountain view&#34;&gt;&lt;/p&gt;
&lt;!-- photo by Jon Jensen --&gt;
&lt;p&gt;End Point is an Internet technology company with headquarters in New York City and an office in Johnson City, Tennessee. The majority of our 50 employees work remotely. We provide consulting, development, and support services to many clients ranging from small family businesses to large corporations. We also develop and support an immersive visualization product called Liquid Galaxy.&lt;/p&gt;
&lt;h3 id=&#34;job-description&#34;&gt;Job Description&lt;/h3&gt;
&lt;p&gt;We are looking for a &lt;strong&gt;C++ developer&lt;/strong&gt; to join our team full-time to develop new custom software solutions and improve existing ones for our clients. The person in this position will work collaboratively with our talented team of developers to design, implement, test, debug, and maintain systems software.&lt;/p&gt;
&lt;h3 id=&#34;responsibilities&#34;&gt;Responsibilities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Create reusable, effective, secure, and scalable C++ code.&lt;/li&gt;
&lt;li&gt;Translate technical requirements into code.&lt;/li&gt;
&lt;li&gt;Identify bottlenecks and bugs in the system and develop solutions.&lt;/li&gt;
&lt;li&gt;Troubleshoot and ensure that software applications are running correctly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;skills-and-qualifications&#34;&gt;Skills and Qualifications&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;English language proficiency&lt;/li&gt;
&lt;li&gt;Preferably based in the United States&lt;/li&gt;
&lt;li&gt;Strong technical and communication skills&lt;/li&gt;
&lt;li&gt;4+ years of professional experience developing software using C++&lt;/li&gt;
&lt;li&gt;Proficiency with containers, networking fundamentals, and pub-sub messaging systems such as ROS, ROS2, Socket.IO&lt;/li&gt;
&lt;li&gt;Experience programming in Python and JavaScript/​TypeScript for Node.js and browser, or equivalent&lt;/li&gt;
&lt;li&gt;Strong experience writing modules for high-level languages such as Python, Node&lt;/li&gt;
&lt;li&gt;Good understanding of code versioning tools and proficiency with Git&lt;/li&gt;
&lt;li&gt;Proficient with Linux including shell scripting&lt;/li&gt;
&lt;li&gt;Ideally also experience with database/​interface architecture and design, the Unity engine, and/or WebRTC&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;benefits&#34;&gt;Benefits&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Health insurance subsidy&lt;/li&gt;
&lt;li&gt;401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;how-to-contact-us&#34;&gt;How to contact us&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Include your location, your resume/​CV, your LinkedIn URL (if you have one), and whatever else helps us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct employment seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;h3 id=&#34;equal-opportunity-employer&#34;&gt;Equal opportunity employer&lt;/h3&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Liquid Galaxy Hackathon 2021</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/10/liquid-galaxy-hackathon-2021/"/>
      <id>https://www.endpointdev.com/blog/2021/10/liquid-galaxy-hackathon-2021/</id>
      <published>2021-10-02T00:00:00+00:00</published>
      <author>
        <name>Seth Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-0.jpg&#34; alt=&#34;Our NYC hackathon group&#34;&gt;&lt;/p&gt;
&lt;p&gt;A few months ago we had our first company gathering since the pandemic started. About 20 End Pointers came to our New York City office to work on various Liquid Galaxy projects, and for several of us, to meet each other in person for the first time.&lt;/p&gt;
&lt;p&gt;Except for our NYC-based team, this was everyone&amp;rsquo;s first look at the &amp;ldquo;new&amp;rdquo; office; we moved offices in January of 2020, so COVID-19 shut down about 14 months of office use.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-1.jpg&#34; alt=&#34;The hackathon group&#34;&gt;&lt;/p&gt;
&lt;p&gt;Our CMS team worked on some exciting updates to our Liquid Galaxy CMS, including implementing new and improved techonologies for the database and user interface.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-2.jpg&#34; alt=&#34;The CMS team&#34;&gt;&lt;br&gt;
The CMS team: &lt;a href=&#34;/team/zed-jensen/&#34;&gt;Zed&lt;/a&gt;, &lt;a href=&#34;/team/daniel-gomm/&#34;&gt;Dan&lt;/a&gt;, and &lt;a href=&#34;/team/jeff-laughlin/&#34;&gt;Jeff&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our Research and Development team worked on upgrades to the Liquid Galaxy itself, focusing on creating smoother transitions for multimedia presentations. This included a custom window manager created by Matt, dubbed &amp;ldquo;Matt WM&amp;rdquo; by the team.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-3.jpg&#34; alt=&#34;Neil, Jacob, Matt, and Will working on the Liquid Galaxy&#34;&gt;&lt;br&gt;
&lt;a href=&#34;/team/will-plaut/&#34;&gt;Will&lt;/a&gt;, &lt;a href=&#34;/team/matt-vollrath/&#34;&gt;Matt&lt;/a&gt;, &lt;a href=&#34;/team/jacob-minshall/&#34;&gt;Jacob&lt;/a&gt;, and &lt;a href=&#34;/team/neil-elliott/&#34;&gt;Neil&lt;/a&gt;, hard at work&lt;/p&gt;
&lt;p&gt;Our support team worked on spinning up documentation and data entry to bring our inventory up to date and prepare for the next wave of installations.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-4.jpg&#34; alt=&#34;Darius hacking away&#34;&gt;&lt;br&gt;
&lt;a href=&#34;/team/darius-clynes/&#34;&gt;Darius&lt;/a&gt; hacking away&lt;/p&gt;
&lt;p&gt;It was great to see everyone at the NYC office, working elbow to elbow. We saw plenty of the hard work and camaraderie which is End Point&amp;rsquo;s speciality. Until next time, we will continue to improve the Liquid Galaxy remotely!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/10/liquid-galaxy-hackathon-2021/image-5.jpg&#34; alt=&#34;View from our new office on the 19th floor&#34;&gt;&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: Ruby on Rails &amp; Vue.js developer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/02/job-rails-vuejs-developer/"/>
      <id>https://www.endpointdev.com/blog/2021/02/job-rails-vuejs-developer/</id>
      <published>2021-02-24T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2021/02/job-rails-vuejs-developer/25677176162_c54b9effec_o-crop.jpg&#34; alt=&#34;Two software developers at their computers&#34; /&gt;&lt;br&gt;
&lt;a href=&#34;https://www.flickr.com/photos/wocintechchat/25677176162/&#34;&gt;Photo&lt;/a&gt; by &lt;a href=&#34;https://www.wocintechchat.com/&#34;&gt;WOCinTech Chat&lt;/a&gt;, &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;CC BY 2.0&lt;/a&gt;, cropped&lt;/p&gt;
&lt;p&gt;We are seeking a full-time software engineer specializing in Ruby on Rails and Vue.js to work with us on our clients’ applications.&lt;/p&gt;
&lt;p&gt;End Point is an Internet technology consulting company based in New York City, founded 25 years ago! We have over 50 employees serving many clients ranging from small family businesses to large corporations.&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients&lt;/li&gt;
&lt;li&gt;Consult with clients on software features and plans&lt;/li&gt;
&lt;li&gt;Work together with End Point co-workers and our clients’ in-house staff&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;Professional experience developing and supporting web applications in these technical areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3+ years of development with Ruby on Rails and front-end JavaScript&lt;/li&gt;
&lt;li&gt;Frameworks and libraries such as Vue.js, React, Angular&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These work traits are just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Ability to pass a criminal background check when clients require&lt;/li&gt;
&lt;li&gt;A good remote work environment and self-discipline&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: Java &amp; JavaScript developer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2020/11/job-java-javascript-developer/"/>
      <id>https://www.endpointdev.com/blog/2020/11/job-java-javascript-developer/</id>
      <published>2020-11-13T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2020/11/job-java-javascript-developer/20201107-124658-crop.jpg&#34; alt=&#34;Person on boulder overlooking valley with lake&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are seeking a full-time Java software engineer to work with us on our clients’ applications.&lt;/p&gt;
&lt;p&gt;End Point is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company turned 25 years old this year!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients&lt;/li&gt;
&lt;li&gt;Work together with End Point co-workers and our clients’ in-house staff&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;Professional experience developing and supporting web applications in these technical areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3+ years of development with Java and front-end JavaScript&lt;/li&gt;
&lt;li&gt;Frameworks and libraries such as Wildfly, Hibernate, Spring, Struts, Play, and Vue.js, React, Angular&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;li&gt;Bonus for familiarity with other ecosystems such as Ruby on Rails, PHP, Python/​Django, .NET/​C#, Node.js, Go, Rust, Scala, Kotlin, Swift …&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These work traits are just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Ability to pass a criminal background check when clients require&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: PostgreSQL database administrator &amp; developer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2020/11/job-postgresql-database-administrator-developer/"/>
      <id>https://www.endpointdev.com/blog/2020/11/job-postgresql-database-administrator-developer/</id>
      <published>2020-11-13T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2020/11/job-postgresql-database-administrator-developer/12648792923_b4780df1da_o-mod.jpg&#34; alt=&#34;rows of barrels&#34;&gt;
&lt;a href=&#34;https://www.flickr.com/photos/13476480@N07/12648792923/&#34;&gt;Photo&lt;/a&gt; by &lt;a href=&#34;https://www.flickr.com/people/13476480@N07/&#34;&gt;manhhai&lt;/a&gt;, cropped &amp;amp; filtered, &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;CC BY 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We are seeking a full-time PostgreSQL database administrator and developer to support and consult with our clients. For this role we prefer those living in the Western Hemisphere.&lt;/p&gt;
&lt;p&gt;End Point is an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company turned 25 years old this year!&lt;/p&gt;
&lt;p&gt;Even before the pandemic most of us worked remotely from home offices. We collaborate using SSH, Git, project tracking tools, Zulip chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;5+ years of hands-on professional experience and technical expertise with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Database design and systems architecture&lt;/li&gt;
&lt;li&gt;Advanced SQL and query optimization&lt;/li&gt;
&lt;li&gt;Programming for web applications, stored procedures, and scripting, in Ruby, Java, Python, PHP, Perl, JavaScript, C#, Go, PL/pgSQL, bash, etc.&lt;/li&gt;
&lt;li&gt;Performance tuning, scalability, connection pooling&lt;/li&gt;
&lt;li&gt;Cloud database hosting services, especially at AWS, Google Cloud, and Azure&lt;/li&gt;
&lt;li&gt;Security and encryption&lt;/li&gt;
&lt;li&gt;Replication, PITR, backup, monitoring, and relevant tools&lt;/li&gt;
&lt;li&gt;HA, failover, and disaster recovery&lt;/li&gt;
&lt;li&gt;Database upgrades and migrations&lt;/li&gt;
&lt;li&gt;Programming language interfaces to the database&lt;/li&gt;
&lt;li&gt;Linux system administration and observation&lt;/li&gt;
&lt;li&gt;DevOps and “configuration as code”&lt;/li&gt;
&lt;li&gt;Troubleshooting problems and handling emergencies&lt;/li&gt;
&lt;li&gt;Other databases such as MySQL, MongoDB, Oracle, SQL Server, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Bonus for familiarity with running PostgreSQL on Windows, and with the Bucardo replication system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These work traits are just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems and focusing on customer needs&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Ability to pass a criminal background check or get a security clearance when clients require&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your Git repository or LinkedIn URLs, and whatever else may help us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: PHP / JavaScript developer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2020/06/job-php-javascript-developer/"/>
      <id>https://www.endpointdev.com/blog/2020/06/job-php-javascript-developer/</id>
      <published>2020-06-29T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2020/06/job-php-javascript-developer/20200518-194421-sm.jpg&#34; alt=&#34;waterfall and mountains&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are looking for a PHP software engineer to work with us during business hours somewhere in the UTC-7 to UTC-4 time zones (U.S. Pacific to Eastern Time). This role can be full-time or part-time.&lt;/p&gt;
&lt;p&gt;We are an Internet technology consulting company based in New York City, with 50 employees serving many clients ranging from small family businesses to large corporations. The company turns 25 years old this year!&lt;/p&gt;
&lt;p&gt;Even before COVID-19 most of us worked remotely from home offices. We collaborate using SSH, GitHub, GitLab, chat, video conferencing, and of course email and phones.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients&lt;/li&gt;
&lt;li&gt;Work together with End Point co-workers and our clients’ in-house staff&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;Professional experience developing and supporting web applications in these technical areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5+ years of development with PHP and front-end JavaScript&lt;/li&gt;
&lt;li&gt;Frameworks such as Symfony, Laravel, Magento and Vue.js, React, Angular&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, MongoDB, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs&lt;/li&gt;
&lt;li&gt;Bonus for familiarity with another ecosystem such as Ruby on Rails, Python/​Django, Java, .NET/​C#, Node.js, Go, Rust, Scala, Kotlin, Swift …&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These work traits are just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems&lt;/li&gt;
&lt;li&gt;A feeling of ownership of your projects&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Focus on customer needs&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, helpful, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;Flexible, sane work hours&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;For full-time staff: paid holidays and vacation&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;get-in-touch-with-us&#34;&gt;Get in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your GitHub or LinkedIn URLs, and whatever else helps us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Seeking a PHP developer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2019/10/seeking-php-developer/"/>
      <id>https://www.endpointdev.com/blog/2019/10/seeking-php-developer/</id>
      <published>2019-10-17T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;img src=&#34;/blog/2019/10/seeking-php-developer/20190701-164659-crop.jpg&#34; alt=&#34;decommissioned pay phone&#34; /&gt;
&lt;!-- Photo by Jon Jensen --&gt;
&lt;p&gt;We are looking for another PHP software engineer, to work with us during business hours somewhere in the UTC-7 to UTC-4 time zones (U.S. Pacific to Eastern Time). This is a contract-to-hire role, and can be full time or part time.&lt;/p&gt;
&lt;p&gt;End Point is a 23-​year-old Internet technology consulting company based in New York City, with about 50 employees, most working remotely from home offices. We collaborate using SSH, GitLab, GitHub, chat, video conferencing, and good old email and phones.&lt;/p&gt;
&lt;p&gt;We serve many clients ranging from small family businesses to large corporations.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop new web applications and support existing ones for our clients&lt;/li&gt;
&lt;li&gt;Work together with End Point co-workers and our clients’ in-house staff&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;Professional experience with web application development and support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5–7 years of development with PHP (older 5.x and newer 7.x versions) and JavaScript&lt;/li&gt;
&lt;li&gt;Frameworks such as Symfony or Laravel&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, MongoDB, Redis, Solr, Elasticsearch, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness&lt;/li&gt;
&lt;li&gt;Git version control&lt;/li&gt;
&lt;li&gt;Automated testing&lt;/li&gt;
&lt;li&gt;HTTP, REST APIs, and/or SOAP&lt;/li&gt;
&lt;li&gt;Magento experience is a plus!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems&lt;/li&gt;
&lt;li&gt;Ownership of projects to get things done well&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Focus on customer needs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Flexible work hours&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, and diligent co-workers around the world&lt;/li&gt;
&lt;li&gt;For full-time staff: paid holidays and vacation&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;getting-in-touch-with-us&#34;&gt;Getting in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your GitHub or LinkedIn URLs, or whatever else helps us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Direct work seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Job opening: Linux system administration and DevOps remote engineer</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2019/04/linux-sysadmin-devops-remote-job/"/>
      <id>https://www.endpointdev.com/blog/2019/04/linux-sysadmin-devops-remote-job/</id>
      <published>2019-04-18T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2019/04/linux-sysadmin-devops-remote-job/kevin-horvat-1354011-unsplash-small.jpg&#34; alt=&#34;computer monitors behind silhouetted head&#34; /&gt;&lt;br&gt;Photo by &lt;a href=&#34;https://unsplash.com/photos/Pyjp2zmxuLk&#34;&gt;Kevin Horvat&lt;/a&gt; on Unsplash&lt;/p&gt;
&lt;p&gt;We are looking for a full-​time, salaried engineer to work during business hours in UTC-10 to UTC-6 (somewhere between Hawaii Time and Mountain Time) in the fun space where operations and development overlap!&lt;/p&gt;
&lt;p&gt;End Point is a 23-​year-old Internet technology consulting company based in New York City, with about 50 employees, most working remotely from home offices. We collaborate using SSH, GitLab, GitHub, chat, video conferencing, and good old email and phones.&lt;/p&gt;
&lt;p&gt;We serve many development and hosting clients ranging from small family businesses to large corporations.&lt;/p&gt;
&lt;h3 id=&#34;what-you-will-be-doing&#34;&gt;What you will be doing:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Remotely set up and maintain Linux servers (mostly RHEL/​CentOS, Debian, and Ubuntu), with custom web applications&lt;/li&gt;
&lt;li&gt;Audit and improve security, backups, reliability, monitoring&lt;/li&gt;
&lt;li&gt;Support developer use of major language ecosystems&lt;/li&gt;
&lt;li&gt;Automate provisioning with Terraform, Ansible, Chef, Puppet, etc.&lt;/li&gt;
&lt;li&gt;Troubleshoot problems with performance, automation, security&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;li&gt;Use your desktop OS of choice: Linux, macOS, Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-you-bring&#34;&gt;What you bring:&lt;/h3&gt;
&lt;p&gt;Professional experience with Linux system administration and web application support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloud providers such as DigitalOcean, Linode, AWS, Azure, Google Cloud, Heroku, etc.&lt;/li&gt;
&lt;li&gt;Networking&lt;/li&gt;
&lt;li&gt;TLS and PKI&lt;/li&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;Web servers and HTTP&lt;/li&gt;
&lt;li&gt;Databases such as PostgreSQL, MySQL, Solr, Elasticsearch, CouchDB, MongoDB, etc.&lt;/li&gt;
&lt;li&gt;Libraries in Ruby gems, PHP PEAR/​PECL, Python PyPI, Node.js npm, Perl CPAN, Java/​JVM JARs, etc.&lt;/li&gt;
&lt;li&gt;Security consciousness, and ideally familiarity with PCI DSS, HIPAA, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And just as important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;A good remote work environment&lt;/li&gt;
&lt;li&gt;An eye for detail&lt;/li&gt;
&lt;li&gt;Tenacity in solving problems&lt;/li&gt;
&lt;li&gt;Ownership of projects to get things done well&lt;/li&gt;
&lt;li&gt;Work both independently and as part of a team&lt;/li&gt;
&lt;li&gt;Focus on customer needs&lt;/li&gt;
&lt;li&gt;Be part of emergency on-call rotation including weekends&lt;/li&gt;
&lt;li&gt;Willingness to shift work time after hours for occasional scheduled work&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-work-here-offers&#34;&gt;What work here offers:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Flexible full-time work hours&lt;/li&gt;
&lt;li&gt;Paid holidays and vacation&lt;/li&gt;
&lt;li&gt;For U.S. employees: health insurance subsidy and 401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Freedom from being tied to an office location&lt;/li&gt;
&lt;li&gt;Collaborate with knowledgeable, friendly, and diligent co-workers around the world&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;getting-in-touch-with-us&#34;&gt;Getting in touch with us:&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpointdev.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include your location, a resume/​CV, your GitHub or LinkedIn URLs, or whatever else helps us get to know you.&lt;/p&gt;
&lt;p&gt;We look forward to hearing from you! Full-time employment seekers only, please—​this role is not for agencies or subcontractors.&lt;/p&gt;
&lt;p&gt;We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of sex/​gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Volunteer While You Work From Home</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2019/02/volunteer-while-you-work-from-home/"/>
      <id>https://www.endpointdev.com/blog/2019/02/volunteer-while-you-work-from-home/</id>
      <published>2019-02-15T00:00:00+00:00</published>
      <author>
        <name>Elizabeth Garrett Christensen</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2019/02/volunteer-while-you-work-from-home/image-1.jpg&#34; alt=&#34;two puppies sitting on a couch&#34;&gt;&lt;/p&gt;
&lt;p&gt;I’ve always been an animal lover. I’ve currently got a dog, two cats, bees, and a flock of chickens in my tiny suburban home and I would get more if I could. Over the past few years I’ve taken up an interest in fostering animals through our local animal shelter. Above are our current fosters, two St. Bernard mix parvo pups.&lt;/p&gt;
&lt;p&gt;I’m always looking for opportunities to do something in the community but as a busy mom with a full-​time job, it can be difficult to fit volunteering into your schedule. What I’ve discovered is that animal fostering is a great volunteer job for someone that works from home.&lt;/p&gt;
&lt;h3 id=&#34;how-does-it-work&#34;&gt;How Does It Work?&lt;/h3&gt;
&lt;p&gt;Our local shelter has a list of foster volunteers who’ve completed their application process and requisite trainings. When they have an animal or group of animals that needs to be out of the shelter for a certain amount of time, they email everyone with a description of the foster. You review the information and decide if you’re a good fit.&lt;/p&gt;
&lt;p&gt;We’re very lucky in that our local humane society provides all the food, bedding, medicine, and instruction you need. Your job is to take care of the animal or litter, report back to the shelter as needed, and return the animal when it is ready to be adopted by the community at large.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2019/02/volunteer-while-you-work-from-home/image-2.jpg&#34; /&gt;&lt;br&gt;&lt;small&gt;These two parvo puppies came to stay with us. Parvo is very contagious and affected animals have to be cared for outside the shelter for the other animals’ safety.&lt;/small&gt;&lt;/p&gt;
&lt;h3 id=&#34;snuggle-breaks&#34;&gt;Snuggle Breaks&lt;/h3&gt;
&lt;p&gt;Animal fostering is a really nice way to give yourself breaks during the day. When I worked in the office, I always liked to make the rounds to the water cooler and chat with coworkers. Having animals around can help you combat some of the isolation and loneliness that comes from a solo remote office.&lt;/p&gt;
&lt;p&gt;Just a few minutes of petting a kitten or playing fetch in your backyard with a bored pup is a nice break from work and can help you recharge your brain juices to tackle the next item on your to-do list.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2019/02/volunteer-while-you-work-from-home/image-0.jpg&#34; /&gt;&lt;br&gt;&lt;small&gt;This older bonded pair of dogs came to stay with us over the holidays when the shelter was overcrowded with other pets. They were such sweethearts and found a home just before Christmas.&lt;/small&gt;&lt;/p&gt;
&lt;h3 id=&#34;around-the-clock-attention&#34;&gt;Around-​the-​Clock Attention&lt;/h3&gt;
&lt;p&gt;Most of the foster animals need round-​the-​clock attention. Small bottle-​fed kittens need to be fed every few hours. Puppies need breaks for the bathroom, time playing, and need to be in and out of their kennel frequently. I’m already home all the time, so attention at various times of day is no big deal for me.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2019/02/volunteer-while-you-work-from-home/image-3.jpg&#34; /&gt;&lt;br&gt;&lt;small&gt;These itty bitties are one of several batches of foster kittens we’ve had. They all come underweight and shy and leave just when they’re big, healthy, and driving us nuts!&lt;/small&gt;&lt;/p&gt;
&lt;h3 id=&#34;schedule-it-around-your-own-time&#34;&gt;Schedule It Around Your Own Time&lt;/h3&gt;
&lt;p&gt;One thing I really like about animal fostering is the pace. There’s really only a commitment for each animal or set of animals that you take on for a few days or few weeks. If you’ve got a big work project to focus on, or can’t handle fostering for a few weeks, just take a break until a better time comes up.&lt;/p&gt;
&lt;p&gt;You do need to account for the extra time you’ll spend throughout the day with your fosters and account for a longer work day. I already take a lot of breaks and end up working on and off for about 10–11 hours. Everyone is different, but I plan for about an hour longer in my work day to take my foster breaks.&lt;/p&gt;
&lt;h3 id=&#34;do-some-good&#34;&gt;Do some good!&lt;/h3&gt;
&lt;p&gt;The end result of some of my fostering adventures has been an overwhelming sense that I’ve done some good while I was literally just working from home. I’ve also learned a ton from the vets and staff about animal health and have quite a bit more behavior experience with different types of pet personalities as well.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Reflections on Being a Co-working Couple</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2016/11/reflections-on-being-co-working-couple/"/>
      <id>https://www.endpointdev.com/blog/2016/11/reflections-on-being-co-working-couple/</id>
      <published>2016-11-15T00:00:00+00:00</published>
      <author>
        <name>Elizabeth Garrett Christensen</name>
      </author>
      <content type="html">
        &lt;p&gt;Over Labor Day weekend I married another End Point employee, David Christensen. I thought I’d take a minute to reflect on life as a co-working couple. In the days before everyone worked in a mad scramble to pay off their student loans, save for their kids’ college, and save for retirement, lots of couples shared in the responsibilities of owning a business or farm. Today for most families those days are long gone and each spouse goes off to a long day at the office to meet back at home in the evening.&lt;/p&gt;
&lt;p&gt;David and I are really fortunate to work at End Point and work remotely from our home in Lawrence, Kansas. David is a veteran at End Point starting as an application developer a decade ago and now is a project manager and heads up many of End Point&amp;rsquo;s larger sales, database, and VR projects. I am brand-new to End Point and serve as the Client Liaison doing billing, client support, sales, and project management.&lt;/p&gt;
&lt;table align=&#34;center&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34; class=&#34;tr-caption-container&#34; style=&#34;margin-left: auto; margin-right: auto; text-align: center;&#34;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&#34;text-align: center;&#34;&gt;&lt;a href=&#34;/blog/2016/11/reflections-on-being-co-working-couple/image-0-big.jpeg&#34; imageanchor=&#34;1&#34; style=&#34;margin-left: auto; margin-right: auto;&#34;&gt;&lt;img border=&#34;0&#34; height=&#34;273&#34; src=&#34;/blog/2016/11/reflections-on-being-co-working-couple/image-0.jpeg&#34; width=&#34;400&#34;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#34;tr-caption&#34; style=&#34;text-align: center;&#34;&gt;Our home office in Lawrence&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&#34;what-i-love&#34;&gt;What I love&lt;/h3&gt;
&lt;h4 id=&#34;being-together-all-the-time&#34;&gt;Being together all the time&lt;/h4&gt;
&lt;p&gt;Like any newlywed, I cannot get enough of this guy. He’s easy to talk to, fun to be around, and pretty much makes everything better. But enough of that sappiness…&lt;/p&gt;
&lt;h4 id=&#34;getting-some-real-insight-on-personality-issues-or-conflicts&#34;&gt;Getting some real insight on personality issues or conflicts&lt;/h4&gt;
&lt;p&gt;Working with someone that knows you really well and who can see your perspective can be really valuable—​especially if you are navigating conflict or a political/personal issue, or just generally need some advice. I have always found deep friendships at work to help me work through these issues and having a spouse around has been great for this.&lt;/p&gt;
&lt;h4 id=&#34;getting-up-to-speed-on-company-culture&#34;&gt;Getting up-to-speed on company culture&lt;/h4&gt;
&lt;p&gt;Having another person, especially one who’s been at a company for a long time, can really help you understand how things work, how each person or manager thinks, what to do, and what not to do. Who doesn’t want that kind of leg up at a new job?&lt;/p&gt;
&lt;h4 id=&#34;a-proofreader&#34;&gt;A proofreader&lt;/h4&gt;
&lt;p&gt;I always like to have a work buddy. Having a spouse next to you to proofread your work, make sure you aren’t doing something crazy, and just generally keep an eye on things is really handy. Plus we can help remind each other of priorities and calendar appointments.&lt;/p&gt;
&lt;table cellpadding=&#34;0&#34; cellspacing=&#34;0&#34; class=&#34;tr-caption-container&#34; style=&#34;float: left; margin-right: 1em; text-align: left;&#34;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&#34;text-align: center;&#34;&gt;&lt;a href=&#34;/blog/2016/11/reflections-on-being-co-working-couple/image-1-big.jpeg&#34; imageanchor=&#34;1&#34; style=&#34;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&#34;&gt;&lt;img alt=&#34;&#34; border=&#34;0&#34; height=&#34;320&#34; src=&#34;/blog/2016/11/reflections-on-being-co-working-couple/image-1.jpeg&#34; title=&#34;&#34; width=&#34;240&#34;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#34;tr-caption&#34; style=&#34;text-align: center;&#34;&gt;Near the End Point NYC Office&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&#34;things-that-take-work&#34;&gt;Things that take work&lt;/h3&gt;
&lt;h4 id=&#34;not-over-talking&#34;&gt;Not over-talking&lt;/h4&gt;
&lt;p&gt;I can be a real chatterbox and so can David. We have to be careful not to over-talk about work. You can quickly burn an hour or two re-hashing a meeting or a project. It takes work and setting boundaries to not overanalyze every work situation.&lt;/p&gt;
&lt;h4 id=&#34;setting-boundaries&#34;&gt;Setting boundaries&lt;/h4&gt;
&lt;p&gt;David and I realized that once we were working together, living together, and raising kids together, everything that people experience as separate parts of their lives had now run into one long day called life. We had virtually no separation between work, the house, or our relationship. We created artificial boundaries for work time and try really hard not to talk about work on our personal time unless it’s important and vice-versa.&lt;/p&gt;
&lt;h4 id=&#34;individual-space&#34;&gt;Individual space&lt;/h4&gt;
&lt;p&gt;When you know so much about a person’s workload and personal life, you can sometimes be too helpful. You have to remember to give your spouse the space to be the creative, awesome person you know and love; not micro-manage their day.&lt;/p&gt;
&lt;h4 id=&#34;social-limitations&#34;&gt;Social limitations&lt;/h4&gt;
&lt;p&gt;By far the biggest challenge for me are the social limitations that working from home with a spouse inevitably creates. I used to work for a company of 400, so co-working from home with only one other person is quite a change. I’m still looking to fill up my social needs in other ways. The upside here is that I’ve become really close with my neighbors.&lt;/p&gt;
&lt;h3 id=&#34;thinking-about-becoming-a-co-working-couple&#34;&gt;Thinking about becoming a co-working couple?&lt;/h3&gt;
&lt;p&gt;I’m pretty new at this, so just a couple notes. Give me a few years … maybe I’ll have more!&lt;/p&gt;
&lt;h4 id=&#34;putting-all-your-eggs-in-one-basket&#34;&gt;Putting all your eggs in one basket&lt;/h4&gt;
&lt;p&gt;One thing that does take some planning and thought is putting all your financial eggs in one basket. Working for the same company is a little riskier than diversifying your paychecks. David and I felt like since we have both had marketable skills that would be useful anywhere, this wasn’t a deal-breaker for us.&lt;/p&gt;
&lt;h4 id=&#34;find-a-supportive-company&#34;&gt;Find a supportive company&lt;/h4&gt;
&lt;p&gt;Obviously, the biggest hurdle is finding a company that supports having co-working couples and is willing to work with you through it. End Point is a great place to work with a very family-friendly atmosphere which has made this part really easy on us.&lt;/p&gt;
&lt;h4 id=&#34;find-unique-job-roles-that-youll-enjoy&#34;&gt;Find unique job roles that you’ll enjoy&lt;/h4&gt;
&lt;p&gt;This is true for starting any new job at all, but if you are thinking of starting to co-work with your spouse, make sure this job is something you’ll be good at and will enjoy. There’s more than just your reputation at stake here.&lt;/p&gt;
&lt;p&gt;And with that, I better see what David has been up to…&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Ruby Fight Club</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2016/08/ruby-fight-club/"/>
      <id>https://www.endpointdev.com/blog/2016/08/ruby-fight-club/</id>
      <published>2016-08-31T00:00:00+00:00</published>
      <author>
        <name>Greg Davidson</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img alt=&#34;men boxing&#34; src=&#34;/blog/2016/08/ruby-fight-club/image-0.jpeg&#34; /&gt;&lt;br&gt;Photo by &lt;a href=&#34;https://www.flickr.com/photos/superwebdeveloper/&#34;&gt;Peter Gordon&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;first-rule-do-not-talk-about-ruby-fight-club&#34;&gt;First Rule: Do Not Talk About Ruby Fight Club&lt;/h3&gt;
&lt;p&gt;This post may get me kicked out for talking about the club, but…I was asked to share a few thoughts about something we tried out earlier this year at End Point. We ran an internal meetup dubbed Ruby Fight Club to read and discuss &lt;a href=&#34;https://www.poodr.com/&#34;&gt;Practical Object-Oriented Design in Ruby&lt;/a&gt; (POODR) by Sandi Metz.&lt;/p&gt;
&lt;img align=&#34;right&#34; alt=&#34;Poodr cover&#34; border=&#34;0&#34; height=&#34;250&#34; src=&#34;/blog/2016/08/ruby-fight-club/image-1.jpeg&#34; title=&#34;poodr-cover.jpg&#34; width=&#34;191&#34; /&gt;
In the past we’ve met together as a company and in smaller team or project focused groups but this was first time we used a book as the guiding, recurring topic with a smaller, committed group who made time for it. Attendance was optional and we did have some folks who opted out even though they loved the subject matter and the idea, because they knew they couldn’t make it most of the time. I think this made the group tighter-knit.
&lt;p&gt;Our group of six remote engineers met weekly for one hour to discuss one chapter from the book. We worked through each chapter together which often led to Q&amp;amp;A sessions and deeper discussions about Ruby and &lt;a href=&#34;https://en.wikipedia.org/wiki/Computer_science&#34;&gt;computer science&lt;/a&gt; theory in general. Each week, one member of the team would lead the discussion. It required some preparation in advance and gave us all a chance to work on our presenting and moderating skills. We used Google Hangouts to meet and the presenter would share their screen to show slides and example code.&lt;/p&gt;
&lt;h3 id=&#34;honing-our-craft&#34;&gt;Honing Our Craft&lt;/h3&gt;
&lt;p&gt;As consultants we have to balance technical perfection with other considerations—​most often budget and timelines/​deadlines. This reality does not lend itself well to developing and learning to apply new technical concepts. It’s also challenging to apply these new concepts in large, established projects where our role is to maintain and extend existing code. The conventions and architecture are well established and it’s hard to push against projects with inertia like this. Setting some time aside each week not tied to client projects gave us the opportunity to focus on our skills and develop them together. Although several in the group had read the POODR book before, they reported that working through each chapter and discussing it in a group setting greatly increased their understanding of the material.&lt;/p&gt;
&lt;h3 id=&#34;face-time&#34;&gt;Face Time&lt;/h3&gt;
&lt;p&gt;Our company has a large number of full-time remote engineers. At time of this writing close to 90% of us work in a location other than our head office in NYC. Remote work allows us the freedom to live where we want (I’m writing this from my home office in a small town in the interior of British Columbia, Canada) but requires extra effort for us to build team camaraderie and social connections. Ruby Fight Club was great for this. Although Hangouts, Skype and other video-conferencing apps have their challenges, everyone let us know they appreciated being able to spend time with the group each week. We’d often chat with each other for a few minutes before and after our book discussions.&lt;/p&gt;
&lt;p&gt;Discussing the book (somewhat) face-to-face over video also increased the fidelity and efficiency of our discussions. When you can see people’s faces, expressions and gestures it’s much easier to glean information and understand them. It feels silly and obvious to say this after the fact but it’s novel when the majority of your workday communication is done over IRC/​Slack, email and phone/​audio.&lt;/p&gt;
&lt;h3 id=&#34;got-meetups&#34;&gt;Got Meetups?&lt;/h3&gt;
&lt;p&gt;During one of our meetings I asked the group if anyone went to meetups local to them. I was surprised to learn that &lt;em&gt;none&lt;/em&gt; in the group did so. For every person the response was similar: “I would but there aren’t any groups meeting nearby”. I had assumed that I was the odd one out in this way because I live in a small town. The leader of our group lives in Chicago and I thought for sure there would be a meetup for him to attend but there wasn’t. The closest group to him required a long trip across town on public transit. Occasionally I &lt;em&gt;do&lt;/em&gt; travel 45-60 minutes (each way!) from home to attend meetups in &lt;a href=&#34;http://okdg.org/&#34;&gt;larger&lt;/a&gt;, &lt;a href=&#34;https://startupvernon.com/&#34;&gt;nearby&lt;/a&gt; &lt;a href=&#34;https://kamloopsinnovation.ca/&#34;&gt;towns&lt;/a&gt;. People are often surprised I travel so far but it’s worth it to me.&lt;/p&gt;
&lt;h3 id=&#34;what-worked-well&#34;&gt;What Worked Well&lt;/h3&gt;
&lt;p&gt;We stuck to the time limit (mostly) which was a good thing. We found we usually had enough time to socialize a bit, discuss the book, have a Q&amp;amp;A time and then get back to our client work. Sharing the presenting/​discussion leading role was also nice. Leading a session took a little time to prepare but because we all took turns doing this we shared the load.&lt;/p&gt;
&lt;p&gt;I’d like to personally thank Phunk (our fearless Ruby Fight Club leader) for having the idea and executing so well on it. We all really appreciate it and look forward to running more meetups like it in future.&lt;/p&gt;
&lt;h3 id=&#34;what-we-might-do-differently-next-time&#34;&gt;What We Might Do Differently Next Time&lt;/h3&gt;
&lt;p&gt;I think it would be good to allow a little more time for socializing and chat. This happened naturally in Ruby Fight Club but it would be cool to devote a block of time specifically to it.&lt;/p&gt;
&lt;p&gt;It would also be nice to allow time for people to do a show and tell/​lightning talk about something they are interested in. That said, having a book to work through was really great. Every week there is something to discuss and it was often a starting point to further discussions.&lt;/p&gt;
&lt;p&gt;What are you doing at your companies to stay sharp and connected? Let us know, we’d love to hear from you!&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>Poor Man’s Linux Remote Desktop Using VNC Server</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2016/07/poor-mans-linux-remote-desktop/"/>
      <id>https://www.endpointdev.com/blog/2016/07/poor-mans-linux-remote-desktop/</id>
      <published>2016-07-21T00:00:00+00:00</published>
      <author>
        <name>Ed Huott</name>
      </author>
      <content type="html">
        &lt;div class=&#34;separator&#34; style=&#34;clear: both; text-align: center;&#34;&gt;&lt;img border=&#34;0&#34; src=&#34;/blog/2016/07/poor-mans-linux-remote-desktop/EdBlogSDscreen.jpg&#34;/&gt;&lt;/div&gt;
&lt;p&gt;Even the most hardcore Linux hackers want to run GUI applications sometimes. The problem is how do you do that with Linux when it’s running on a remote server with no access to the console?&lt;/p&gt;
&lt;p&gt;Remote Desktop is a built-in feature of Windows Server that lets you access a virtual remote desktop session that’s not tied to a physical console. Many would be tempted to believe that most Linux distributions don’t come with this kind of functionality out of the box. &lt;em&gt;Au contraire!&lt;/em&gt; This article explains one method for accessing this feature using only packages included in most stock Linux installations. The examples given here are based on Debian/Ubuntu.&lt;/p&gt;
&lt;p&gt;The core ingredient of our recipe is the &lt;code&gt;vnc4server&lt;/code&gt; package, which includes Xvnc, the X VNC (Virtual Network Computing) server. A description of what that is comes right from the Xvnc(1) manual page itself:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Xvnc is the X VNC (Virtual Network Computing) server.  It is based on
a standard X server, but it has a “virtual” screen rather than a
physical one.  X applications display themselves on it as if it were
a normal X display, but they can only be accessed via a VNC viewer -
see vncviewer(1).&lt;/p&gt;
&lt;p&gt;So Xvnc is really two servers in one. To the applications it is an X
server, and to the remote VNC users it is a VNC server.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The remaining ingredients are the packages needed to provide a window manager or desktop environment as well as the particular graphical programs you wish to run. Here, the best choice is probably a lightweight desktop environment such as &lt;a href=&#34;https://lxde.org/&#34;&gt;LXDE&lt;/a&gt;. Their lower demands on the graphics subsystem will make for snappier performance over a network connection.&lt;/p&gt;
&lt;p&gt;Once all the necessary packages are installed, the &lt;code&gt;vncserver&lt;/code&gt; command can be run on the remote server to start a virtual desktop session that can then be connected to by any VNC client. Multiple users on the remote system may run virtual desktop sessions at the same time.&lt;/p&gt;
&lt;p&gt;So, without further ado, here are some step by step instructions for making it all happen.&lt;/p&gt;
&lt;h3 id=&#34;install-and-configure-server-side-software&#34;&gt;Install and Configure Server-Side Software&lt;/h3&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Install the &lt;code&gt;vnc4server&lt;/code&gt; package:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;user@remote:~$ sudo apt-get install vnc4server&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Install the packages needed to provide a graphical desktop environment. We use Xfce in this example:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;class=&amp;quot;indent&amp;quot;&amp;gt;user@remote:~$ sudo apt-get install xfce4&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Use the &lt;code&gt;vncpasswd&lt;/code&gt; command to set the password needed to access the remote session:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;user@remote:~$ vncpasswd&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Use the text below as the contents of the &lt;code&gt;vncserver&lt;/code&gt; startup script in the file &lt;code&gt;$HOME/.vnc/xstartup&lt;/code&gt;. If the file already exists, replace its contents with the text below. Otherwise, just create the file:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c00;font-weight:bold&#34;&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c00;font-weight:bold&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#888&#34;&gt;# Enable normal desktop startup with cut and paste support to Xvnc session&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#038&#34;&gt;unset&lt;/span&gt; SESSION_MANAGER
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/usr/bin/vncconfig -nowin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#888&#34;&gt;# The standard X11 init script initializes the desktop running in the Xvnc server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sh /etc/X11/xinit/xinitrc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#888&#34;&gt;# Kill VNC server once session has ended&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#369&#34;&gt;vncdisplay&lt;/span&gt;=&lt;span style=&#34;color:#d20;background-color:#fff0f0&#34;&gt;`&lt;/span&gt;&lt;span style=&#34;color:#038&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#369&#34;&gt;$DISPLAY&lt;/span&gt; | sed &lt;span style=&#34;color:#d20;background-color:#fff0f0&#34;&gt;&amp;#39;s/^.*:/:/&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#d20;background-color:#fff0f0&#34;&gt;&amp;#39;s/\..*$//&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vncserver -kill &lt;span style=&#34;color:#369&#34;&gt;$vncdisplay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The astute reader will recognize that this file is the secret sauce of this recipe. You can customize it to control what programs are run in your virtual desktop session.&lt;/p&gt;
&lt;h3 id=&#34;starting-a-remote-virtual-desktop-session&#34;&gt;Starting a Remote Virtual Desktop Session&lt;/h3&gt;
&lt;p&gt;Use the &lt;code&gt;vncserver&lt;/code&gt; command to start a virtual desktop session on the remote server. The example below shows a typical command and its output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@remote:~$ vncserver -geometry 1280x1024 -localhost
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;New &amp;#39;remote:1 (user)&amp;#39; desktop is remote:1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Starting applications specified in /home/user/.vnc/xstartup
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Log file is /home/user/.vnc/remote:1.log&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;-geometry&lt;/code&gt; option sets the size of the virtual desktop. It cannot be changed once the session is started.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;-localhost&lt;/code&gt; option tells the server to only accept connections from the local machine. This is useful for ensuring that only encrypted connections tunneled through SSH can be used to access the desktop session. (This is necessary because Xvnc doesn’t have any built-in support for encryption.)&lt;/p&gt;
&lt;h3 id=&#34;accessing-the-remote-desktop-session-via-a-secure-ssh-connection&#34;&gt;Accessing the Remote Desktop Session via a Secure SSH Connection&lt;/h3&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Use ssh to set up a secure tunnel to the remote server:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;user@local:~$ ssh -L 5901:localhost:5901 user@remote&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The remote Xvnc server listens on port 590n where n is the “display number” assigned to the desktop session. This is the number shown after the colon (:) in the output of the &lt;code&gt;vncserver&lt;/code&gt; command (see above).&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Use the &lt;code&gt;vncviewer&lt;/code&gt; command (or other VNC client program) to connect to the remote desktop session:&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;user@local:~$ vncviewer localhost:5901&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Once the password set by the &lt;code&gt;vncpasswd&lt;/code&gt; command above is given, your remote desktop session should appear on the screen!&lt;/p&gt;
&lt;h3 id=&#34;so-whats-this-all-good-for&#34;&gt;So, What’s This All Good For?&lt;/h3&gt;
&lt;p&gt;Say you have a remote network to which access is only possible via ssh through a single machine with a publicly accessible interface. Rather than going to the trouble of setting up a special VPN to this network, you can launch a secure, virtual desktop session on this machine and access the internal network as if you were logged into the machine’s graphical console.&lt;/p&gt;
&lt;p&gt;Another application would be for automated GUI testing. Instead of dedicating multiple physical machines to do &lt;a href=&#34;http://www.seleniumhq.org/&#34;&gt;Selenium&lt;/a&gt; automated web testing, for example, multiple virtual desktops could simultaneously run scripted tests automatically. A VNC viewer application could be used to connect to any of the instances at any time to view progress or do debugging.&lt;/p&gt;
&lt;p&gt;The possibilities are really endless.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>End Point’s 20th anniversary meeting, part 2</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2015/11/end-points-20th-anniversary-meeting/"/>
      <id>https://www.endpointdev.com/blog/2015/11/end-points-20th-anniversary-meeting/</id>
      <published>2015-11-02T00:00:00+00:00</published>
      <author>
        <name>Phineas Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;Friday, October 2nd, was the second and final day of our company meeting. (See the earlier &lt;a href=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/&#34;&gt;report on day 1 of our meeting&lt;/a&gt; if you missed it.) Another busy day of talks, this day was kicked off by Ben Goldstein, who gave us a more detailed rundown of End Point’s roots.&lt;/p&gt;
&lt;div class=&#34;separator&#34; style=&#34;clear: both; float: right; text-align: center;&#34;&gt;&lt;img border=&#34;0&#34; src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-0.jpeg&#34;/&gt;&lt;/div&gt;
&lt;h3 id=&#34;the-history-of-end-point&#34;&gt;The History of End Point&lt;/h3&gt;
&lt;p&gt;Ben and Rick met in the second or third grade (a point of friendly dispute), and from the early days of their friendship were both heavily influenced by each other’s parents. Their first business enterprise together was painting houses in the summer to earn money for college.&lt;/p&gt;
&lt;p&gt;After attending college, Ben worked with Unix and dabbled with the World Wide Web when it was brand new. Rick worked on Wall Street for a while, then decided he had had enough of that and worked briefly in real estate, then left to pursue more creative interests.&lt;/p&gt;
&lt;p&gt;Ben showed Rick some simple websites he had been working on and Rick said &lt;em&gt;that&lt;/em&gt; is what they should do: they should start a business building websites together. Soon they made the big decision and End Point was officially incorporated on August 8, 1995. Their earliest clients were all found by word of mouth, with the first website being made for one of Ben’s cousins.&lt;/p&gt;
&lt;p&gt;At first they made only static websites. But Ben had worked with Oracle databases and knew some scripting languages, so the possibility of making dynamic data-driven web applications on the server seemed within reach. They met someone who had been scanning wine labels and putting the data into a Mini SQL (msql) database. Ben wrote some Perl scripts and soon had created End Point’s first dynamic website.&lt;/p&gt;
&lt;p&gt;Rick met an employee of Michael C. Fina, a company that did wedding registries and wanted to move to the web. Ben got started working on that in 1998. Around the same time, he found the open source MiniVend web application framework, exactly what he needed for a project like that which would be much more than a few CGI scripts.&lt;/p&gt;
&lt;p&gt;Once End Point’s early dynamic websites went into production, Ben wanted to grow more solid hosting and support services. After working with a few independent consultants who were a little too fly-by-night, he went to Akopia for help. Akopia had just acquired MiniVend and renamed it to Interchange. They brought Mike Heins, the creator of MiniVend, on board, and were building out a support and hosting business around Interchange.&lt;/p&gt;
&lt;p&gt;Before long, Akopia was acquired by Red Hat, and Ben met Jon Jensen there while getting his help with Interchange and Linux questions. Later when Red Hat was phasing out its Interchange consulting group, Ben offered Jon a job, and Jon introduced Ben and Rick to his co-worker Mark Johnson who was expert at all things database, Perl, and Interchange. Rick and Ben hired both Jon and Mark in 2002, and End Point continued to grow with new clients and soon more employees as well.&lt;/p&gt;
&lt;p&gt;The story continues with End Point moving into PostgreSQL support, Ruby on Rails development, AFS support, the creation of Spree Commerce, programming with Python &amp;amp; Django, Java, PHP, Node.js, AngularJS, Puppet and Chef and Ansible, and a major move into the Liquid Galaxy world. By then things are documented a little better thanks to wikis and blogs, so Ben was able to keep to the highlights.&lt;/p&gt;
&lt;p&gt;A lot happens in a business in 20 years!&lt;/p&gt;
&lt;img src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-1.jpeg&#34; style=&#34;max-width: 100%;&#34;/&gt;
&lt;h3 id=&#34;using-trello&#34;&gt;Using Trello&lt;/h3&gt;
&lt;p&gt;Next Josh Ausborne talked about how we make our lives easier by tracking tasks with Trello, a popular software as a service offering. At End Point we use Trello as one way to keep track of what we’re working on in a project, along with other systems for certain projects or preferred by our various clients.&lt;/p&gt;
&lt;p&gt;Most work tracking systems store data about progress and status, but Trello’s strength is that it provides a nice way to look at things as a whole and to streamline collaboration. Trello is simple and easy to use, comes with just enough features to be helpful but not to overwhelm, has great apps for Android and iOS, and costs nothing to use for almost all functionality.&lt;/p&gt;
&lt;p&gt;Using Trello is simple. It’s made up of “boards”, each of which contain lists of “cards”. Each card can be used to represent a task or small project. People can be assigned to a card, watch it for notifications, comment, create checklists, upload images, share links, and more.&lt;/p&gt;
&lt;p&gt;Cards are organized into lists, where they can be organized by status, priority, person, or any way else you choose. A popular arrangement is a “Kanban”-style board with one list each for “Ideas”, “To do”, “Blocked”, “Doing”, and “Done/Review”. Nearly everything can be organized or moved with simple drag-and-drop gestures.&lt;/p&gt;
&lt;h3 id=&#34;automated-hosting&#34;&gt;Automated Hosting&lt;/h3&gt;
&lt;p&gt;Lele Calò and Richard Templet talk about automated versus manual infrastructure management. In the beginning of the web era, system administrators did everything by hand. They soon moved on to a “shell for-loop” style of system administration, but many things were still done by hand and often incompatible between systems. That’s where automation comes in. With tools like Puppet, Chef, Salt, and Ansible, it becomes easy to automate much of the configuration across many servers, even of different operating system distributions and versions.&lt;/p&gt;
&lt;p&gt;So what should automation be used for? Mainly repetitive tasks that don’t require human touch. A lot of things in server setup and update deployment are easily done once, but become tedious very quickly.&lt;/p&gt;
&lt;p&gt;What does End Point use automation for? We use it in our web hosting environment for initial operating system setup on new servers, managing changes to SSH public key lists and iptables firewall rules, and deploying monitoring configurations. For certain applications, we automate building, deploying, and updating entire systems with consistent configuration across many hundreds of nodes. We use Puppet, Chef, and Ansible for various internal and customer projects.&lt;/p&gt;
&lt;p&gt;For those who are looking to get started, Lele and Richard recommended starting with automation on new servers. It’s very simple and safe to experiment there, as there isn’t anything yet to lose. Later once you’re confident in what you’re doing you can start to carefully spread your automation to existing servers.&lt;/p&gt;
&lt;img height=&#34;424&#34; src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-2.jpeg&#34; style=&#34;max-width: 100%;&#34; width=&#34;640&#34;/&gt;
&lt;h3 id=&#34;command-line-tools&#34;&gt;Command Line Tools&lt;/h3&gt;
&lt;p&gt;Kannan Ponnusamy and Ram Kuppuchamy showed us some of their favorite Unix command-line tools. Here are some of the cool things I liked.&lt;/p&gt;
&lt;p&gt;You can use ^ (caret) to correct typos in the previous command, like so:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@host $ cd Donloads
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd: no such file or directory: Donloads
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@host $ ^on^own
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd Downloads
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@host:~/Downloads $&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Use ! (“bang”) commands to access commands and arguments in the history:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;!! — entire previous command&lt;/li&gt;
&lt;li&gt;!* — all arguments of previous command&lt;/li&gt;
&lt;li&gt;!^ — first argument of previous command&lt;/li&gt;
&lt;li&gt;!$ — last argument of previous command&lt;/li&gt;
&lt;li&gt;!N — command at position N in history&lt;/li&gt;
&lt;li&gt;!?keyword? — most recent command with pattern match of keyword&lt;/li&gt;
&lt;li&gt;!-N — command at Nth position from last in history&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Using Ctrl-R will do a reverse search of your command history, letting you see and edit old commands. If you press Ctrl-O on a historic command, it will execute it and put the following command from the history into the prompt. Additional presses of Ctrl-O will continue down the history.&lt;/p&gt;
&lt;p&gt;The ps &amp;ndash;forest option creates a visual ASCII art tree of the process hierarchy. Likewise, Git has git log &amp;ndash;graph, which shows a visual representation of the repository history. Try using git log &amp;ndash;oneline in addition to &amp;ndash;graph to make it a little more concise.&lt;/p&gt;
&lt;p&gt;tee $filename lets you pipe to STDOUT and a file at the same time. For example, crontab -l | tee crontab_backup.txt will print the crontab and put it in a text file.&lt;/p&gt;
&lt;p&gt;ls -d */ will list all directories in the current directory.&lt;/p&gt;
&lt;p&gt;These are just a few of the neat things they showed us. See their &lt;a href=&#34;/blog/2015/11/favourite-unix-command-line-tools/&#34;&gt;blog post about these and other Unix commands&lt;/a&gt;.&lt;/p&gt;
&lt;img height=&#34;360&#34; src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-3.jpeg&#34; style=&#34;max-width: 100%&#34; width=&#34;640&#34;/&gt;
&lt;h3 id=&#34;ros-in-the-liquid-galaxy&#34;&gt;ROS in the Liquid Galaxy&lt;/h3&gt;
&lt;p&gt;Wojciech Ziniewicz and Matt Vollrath gave us a preview of their talk “ROS-driven user applications
in idempotent environments” to be presented at &lt;a href=&#34;http://roscon.ros.org/2015/&#34;&gt;ROSCon 2015 in Hamburg, Germany&lt;/a&gt; a few days later. The Liquid Galaxy project recently transitioned away from ad-hoc services and protocols to ROS (Robot Operating System) and their &lt;a href=&#34;http://roscon.ros.org/2015/presentations/ROS_driver_user_applications_in_idempotent_environments.pdf&#34;&gt;presentation slides&lt;/a&gt; give a good idea of how much was involved in that process.&lt;/p&gt;
&lt;h3 id=&#34;state-of-the-company&#34;&gt;State of the Company&lt;/h3&gt;
&lt;p&gt;Next, Rick gave a talk on the current state of the company, which he summarized with one word: Transition. End Point is a company that has been changing since its inception in 1995, and now is no exception. A major transition over the last year or so has been growing to a head-count of 50 people. While we are in many ways similar to when we were, say, 30 people, more people requires different approaches for management and coordination.&lt;/p&gt;
&lt;p&gt;A larger End Point presents us with both opportunities and challenges. However, the core values of our company have remained the same and are part of what make us what we are.&lt;/p&gt;
&lt;img src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-4.jpeg&#34; style=&#34;max-width: 100%;&#34;/&gt;
&lt;h3 id=&#34;personal-tech-security&#34;&gt;Personal Tech Security&lt;/h3&gt;
&lt;p&gt;Marco Matarazzo and Lele Calò next spoke to us on personal tech security. Why should you secure your personal or work devices? One obvious reason is to prevent disclosure of sensitive data. But just as important is not losing important data or becoming a conduit for attacks on other systems and networks.&lt;/p&gt;
&lt;p&gt;So how should you approach security? It’s important to think of usability vs. security. A door with 100 locks on it may be more secure than one with two, but getting in and out of it, even with the proper keys, would be far too difficult. So security should be adapted for the scenario. Securing a personal laptop with pictures, music, and games should be approached differently from a work device with passwords and SSH or GnuPG keys.&lt;/p&gt;
&lt;p&gt;For members of our hosting team and employees who work with clients that require it, we have certain more stringent security policies they must follow. Some things are considered common sense, such as shredding or burning business-related papers and being careful with access to work environments.&lt;/p&gt;
&lt;p&gt;In public places, make sure shared networks have proper encryption. Do not use untrusted computers, such as public computers at libraries or internet cafes, for work or any personal sites you need to log into. Be careful to not leave any work data behind, whether on an old backup disk or computer you get rid of, or on scraps of paper or notepads.&lt;/p&gt;
&lt;p&gt;Keep all of your devices safe physically and in software! Apply operating system and other software updates promptly, and reboot at least a few times a week to let everything get fully updated. That includes laptops, desktops, phones, tablets, etc. And don’t forget external drives! Keep automatic password-protected screen locks on your devices, encrypt your data and swap partitions, as well as phones and removable devices.&lt;/p&gt;
&lt;p&gt;Backup your data to a safe place, and remember to share your passwords with someone trusted who may need them in case of an emergency.&lt;/p&gt;
&lt;p&gt;Make sure your private SSH keys are password-protected, and ensure you’re asked for confirmation when using them. Avoid common and unsafe passwords, like “12345” and “password”, although “pizza1” is perfectly fine :). Use PGP to encrypt private messages and confidential data at rest.&lt;/p&gt;
&lt;div class=&#34;separator&#34; style=&#34;float:right; text-align: center;&#34;&gt;&lt;img border=&#34;0&#34; src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-5.jpeg&#34;/&gt;&lt;/div&gt;
&lt;h3 id=&#34;brain-bowl-challenge&#34;&gt;“Brain bowl” challenge&lt;/h3&gt;
&lt;p&gt;We finished our meetings with a little friendly competition led by Jon Jensen. We were divided into ad-hoc teams by Ron Phipps, and were presented with trivia questions to see which team could answer correctly first. Some of the questions included:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Who created the World Wide Web? In what year?&lt;/li&gt;
&lt;li&gt;What is now wrong with the term “SSL certificate”?&lt;/li&gt;
&lt;li&gt;What do HIPAA and PCI-DSS stand for?&lt;/li&gt;
&lt;li&gt;The Agile Manifesto says its authors have come to value what things over what other things?&lt;/li&gt;
&lt;li&gt;Where does the word “pixel” come from?&lt;/li&gt;
&lt;li&gt;Where did the Unix command “tee” that Kannan mentioned get its name?&lt;/li&gt;
&lt;li&gt;What does the name UTF-8 stand for?&lt;/li&gt;
&lt;li&gt;How many bytes are in a terabyte? In a tebibyte?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then we had some questions about programming languages we work with, such as which of Python’s built-in types are immutable, or what values are boolean false in Ruby, Perl, and JavaScript.&lt;/p&gt;
&lt;p&gt;We ended with a programming problem that required HTML parsing and number-crunching. The task was the same for all teams, but each team used a different toolset: Node.js, Ruby, Perl, Python, or bash + classic Unix text tools sed, awk, sort, cut, etc. The Perl, Python, and bash/Unix teams came up with working and impressive solutions at about the same time.&lt;/p&gt;
&lt;h3 id=&#34;company-party&#34;&gt;Company party&lt;/h3&gt;
&lt;p&gt;We ended the day with a party nearby at Spin where we played ping-pong and had dinner and socialized and met significant others who were also visiting New York City.&lt;/p&gt;
&lt;p&gt;It was great to get everyone together in person!&lt;/p&gt;
&lt;img src=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/image-6.jpeg&#34; style=&#34;max-width: 100%;&#34;/&gt;

      </content>
    </entry>
  
    <entry>
      <title>End Point’s 20th anniversary meeting</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2015/10/end-points-20th-anniversary-meeting/"/>
      <id>https://www.endpointdev.com/blog/2015/10/end-points-20th-anniversary-meeting/</id>
      <published>2015-10-23T00:00:00+00:00</published>
      <author>
        <name>Phineas Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;End Point held a company-wide meeting at our New York City headquarters for two days on October 1 and 2. We had an excellent two days of presentations, discussions, and socializing with each other.&lt;/p&gt;
&lt;p&gt;In addition to our main Manhattan office we have an office in Tennessee, and many of us work throughout the world from home offices. Because of this, we usually work together through text chat, phone, video call, and other remote means. Everyone traveling to New York City for this gathering was a great chance to get to know each other more personally.&lt;/p&gt;
&lt;p&gt;The meeting itself was prefaced by a meetup at the Metropolitan Museum of Art, which turned out to be an fun game of hide-and-seek, trying to find each other throughout the museum’s exhibits.&lt;/p&gt;
&lt;div class=&#34;separator&#34; style=&#34;clear: both; text-align: center;&#34;&gt;&lt;a href=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-0-big.png&#34; imageanchor=&#34;1&#34; style=&#34;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&#34;&gt;&lt;img border=&#34;0&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-0.png&#34;/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&#34;were-20-years-old&#34;&gt;We’re 20 years old!&lt;/h3&gt;
&lt;p&gt;This gathering was a special occasion because this year we are celebrating our 20th anniversary as a company! Day one of our meetings began with introductory comments by End Point’s founders, Rick Peltzman, CEO, and Ben Goldstein, President. Together with Jon Jensen, CTO, they took a look back at where we’ve been, where we are now, and where we’re going.&lt;/p&gt;
&lt;p&gt;Rick had this message for our clients and friends in August, the month the company was founded:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hello and happy birthday to us! This week marks End Point’s 20th anniversary. Congratulations to all our friends, clients, business partners, advisers, and especially our gifted engineers over these many years that have been the core of what makes this company successful.&lt;/p&gt;
&lt;p&gt;We started as a two-person company out of New York, building simple websites in the infant stages of the oncoming internet boom. We now are 55 people strong and counting, throughout the world. Our skillsets have expanded to include dozens of technologies and services. And we’re extremely proud of the emergence of our Liquid Galaxy division. End Point is no longer your father’s internet company!&lt;/p&gt;
&lt;p&gt;Along the way we weathered stock market crashes and bubble bursts, three U.S. presidents, amazing triumphs and heartbreaking human events. Still, through it all, End Point has adapted, grown, and has always lived up to its core principles: providing excellent support, deep knowledge of all things internet, and great client relationships.&lt;/p&gt;
&lt;p&gt;Thank you again for helping us thrive, improve, and position ourselves for an even more exciting next 20 years!&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;remote-work-tips&#34;&gt;Remote work tips&lt;/h3&gt;
&lt;p&gt;Moving on, two of our company directors, Ron Phipps and Richard Templet, took the floor to tell us about some remote work hacks, or tips and techniques, they use. Ron recommends using multiple monitors to increase productivity, dedicating one monitor to tools for time tracking, chat, calendar, etc. so they’re always in sight and easy to access. Ron summarized how he records his time by writing notes down &lt;em&gt;before&lt;/em&gt; starting the work, then refining the description and recording the time spent as he goes.&lt;/p&gt;
&lt;p&gt;Ron also talked about the value of using voice or video calls with Google Hangouts or Skype to break through communication logjams. We use lots of good tools including email, IRC, Flowdock, Trello, Redmine, and Google Calendar, but they are inefficient for rapid, in-depth conversations. When there’s confusion or misunderstanding in a discussion, speaking together in real-time makes it much easier to clear things up. Using the phone also helps us establish better relationships with each other and our clients, which, in turn, improves our work together.&lt;/p&gt;
&lt;p&gt;Some other tips from Ron: Keep notes and download apps for whatever tools your team or projects are using. Use separate browsers or browser profiles for work and personal stuff. When traveling, relying solely on WiFi is a bad idea. Bringing a 50-100 foot Ethernet cable and an extra router has saved a few of our employees before.&lt;/p&gt;
&lt;p&gt;Richard shared some tips as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep some things offline so your work doesn’t shudder to a halt whenever the network cuts out.&lt;/li&gt;
&lt;li&gt;Taking notes with pen and paper works without power or a network, helps you get things into your head, and is much simpler than using an app or website.&lt;/li&gt;
&lt;li&gt;Bringing a backup power supply or battery when traveling can save you from a bad situation.&lt;/li&gt;
&lt;li&gt;Whenever working at home, setting up a spot that is &lt;em&gt;your office&lt;/em&gt; helps cut down on outside distractions.&lt;/li&gt;
&lt;li&gt;Use screen or tmux on remote servers so you don’t lose work when the network drops.&lt;/li&gt;
&lt;li&gt;Pair or team programming can do miracles for productivity! Use a shared screen or tmux session while talking on the phone with a headset.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a data-flickr-embed=&#34;true&#34; href=&#34;https://www.flickr.com/photos/end-point/22344461751/&#34; title=&#34;DSC_4275&#34;&gt;&lt;img alt=&#34;DSC_4275&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-1.jpeg&#34; style=&#34;max-width: 100%; margin-bottom: 1em;&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;perusion-history&#34;&gt;Perusion history&lt;/h3&gt;
&lt;p&gt;Greg Hanson and Mike Heins then reviewed the history of their company Perusion which merged with End Point in July 2015. Greg and Mike met when Greg was looking for someone to create a website for his computer hardware store and later they went into the consulting business together.&lt;/p&gt;
&lt;p&gt;Perusion started with just a few clients, getting business by word of mouth. Their first big client was Vervanté, an on-demand publishing firm built on Interchange. Vervanté started small but has grown to a large business supporting thousands of authors.&lt;/p&gt;
&lt;p&gt;We have written up more about Perusion in the blog post &lt;a href=&#34;/blog/2015/07/perusion-has-joined-end-point/&#34;&gt;Perusion has joined End Point!&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;stance&#34;&gt;Stance&lt;/h3&gt;
&lt;p&gt;Piotr Hankiewicz and Greg Davidson talked about their work with Stance, a company founded in 2009 that creates and sells stylish socks. Most of the work we’ve done has been on the “product wall”, which was challenging because of the sheer number of products and many ways to filter them. We started working with Stance in 2014, when they wanted help replacing their Magento site and redesigning it to be more responsive. We use Snapshot.js to very efficiently sort and filter large datasets. It also lets us keep the number of AngularJS models low, which keeps the site fast.&lt;/p&gt;
&lt;p&gt;The product wall has around 3000 SKUs, and we’ve built a complex JavaScript system which makes it possible to sort and filter. It’s even possible to filter the products by a combination of many things: color, size, thickness, price, collection, etc. There’s a search function which is also integrated with the site.&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed=&#34;true&#34; href=&#34;https://www.flickr.com/photos/end-point/21712970854/&#34; title=&#34;IMG_4839&#34;&gt;&lt;img alt=&#34;IMG_4839&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-2.jpeg&#34; style=&#34;max-width: 100%; margin-bottom: 1em;&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;carjojo&#34;&gt;Carjojo&lt;/h3&gt;
&lt;p&gt;Josh Williams and Patrick Lewis talk about Carjojo. Carjojo is a company to help consumers find detailed information and history on cars they’re interested in buying.&lt;/p&gt;
&lt;p&gt;Josh works on the back-end of their site, creating a REST API with Django and TastyPie. TastyPie makes it very easy to write functions that return data from the database, although it becomes very complicated when it comes to return datasets that are more complicated than TastyPie is built to handle.&lt;/p&gt;
&lt;p&gt;The front-end is handled by Patrick, who creates a modern Angular-based JavaScript web application. There are two main parts of the front-end; one for filtering cars when you have a more general idea of what kind of car you’re looking for, and the other for when you have a more specific idea of what you’re looking for. They will both result in a detail page for a vehicle.&lt;/p&gt;
&lt;p&gt;This architecture lends itself to a simple development process: It starts with the web designer, who gives Patrick a mockup of a page he wants created. Patrick implements the front-end app code, figures out what data is necessary to make the page work, and then Josh works on the backend to implement functions to return that data.&lt;/p&gt;
&lt;h3 id=&#34;code-quality-and-testing&#34;&gt;Code quality and testing&lt;/h3&gt;
&lt;p&gt;Kamil Ciemniewski and Marina Lohova talked about testing code. They started by talking about the difference between core testing (functionality of a program), compatibility testing (across browsers and devices), and usability testing.&lt;/p&gt;
&lt;p&gt;Automated testing is a great way to make sure everything’s working. It is very useful for catching things that the developer may not catch if they’re testing manually. Automated testing can also easily cover odd scenarios, such as null values and empty search results (and other “fuzzing” of input data).&lt;/p&gt;
&lt;p&gt;Kamil also talked about the importance of preventing bugs versus fixing them when they happen. It’s much better for everyone involved if a bug is prevented or avoided rather than caught after it’s been found. It means the user can do what they want to, the client feels like they are getting what they’re paying for, and the developer feels satisfied with their work.&lt;/p&gt;
&lt;p&gt;These are some ways to help prevent bugs coming up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use declarative syntax rather than imperative.&lt;/li&gt;
&lt;li&gt;Always be clear about types.&lt;/li&gt;
&lt;li&gt;Break code into small chunks.&lt;/li&gt;
&lt;li&gt;Create terse code that is easy to read and documents itself.&lt;/li&gt;
&lt;li&gt;Stick to standard libraries when possible.&lt;/li&gt;
&lt;li&gt;Learn common programming paradigms.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Having clear communication with the client is also an important part of testing, as they’re really the only ones qualified to judge the quality of the product they envisioned.&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed=&#34;true&#34; href=&#34;https://www.flickr.com/photos/end-point/22307819166/&#34; title=&#34;DSC_4263&#34;&gt;&lt;img alt=&#34;DSC_4263&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-3.jpeg&#34; style=&#34;max-width: 100%; margin-bottom: 1em;&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;agile-development-methodologies&#34;&gt;Agile development methodologies&lt;/h3&gt;
&lt;p&gt;Wojciech Ziniewicz and Brian Gadoury talked about Agile theory and practice. First, they briefly covered “waterfall development,” which starts with defining requirements, then goes on to design, development, testing, and then maintenance. In reality, requirements change, design needs revision, development takes longer than expected, testing may be skipped or skimped on, and maintenance is never perfect.&lt;/p&gt;
&lt;p&gt;The Agile Manifesto was written in 2001, and emphasizes a focus on adapting to change, a simpler process, and tight feedback loops. “Agile development” has become a collection of management and development methodologies. It’s intended to be light on the process overhead, iterative and incremental, and to be helpful when done right.&lt;/p&gt;
&lt;p&gt;There are now many flavors of Agile, such as Extreme Programming (XP), Scrum, Crystal, Kanban, Lean, DSDM, etc.&lt;/p&gt;
&lt;p&gt;XP focuses on things like short development cycles and many checkpoints. It relies on great communication and tools to help with frequent small releases, like good devops. It also requires pair programming. According to a &lt;a href=&#34;http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF&#34;&gt;study done&lt;/a&gt; by the University of Utah and North Carolina State University, pair programmers spend 15% more time on problems, but the resulting code has 15% fewer defects. 96% of programmers in the study said they enjoy pair programming more than solo programming. Pair programming also makes knowledge-sharing easy.&lt;/p&gt;
&lt;p&gt;Scrum involves short “sprints”, usually one or two weeks long, and along the way a daily standup meeting which is a short, disciplined meeting where you discuss what you’ve done since the last meeting, any blockers to your work, and what you are and will be doing in the near future.&lt;/p&gt;
&lt;p&gt;One interesting agile technique is planning poker, which involves using playing cards to create estimates for work, with the numbers representing a difficulty for the project. Everyone will flip their cards over at the same time, and people with high or low estimates are given a chance to explain their justification. The &lt;a href=&#34;https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect&#34;&gt;Dunning-Kruger effect&lt;/a&gt; is a very good reason to use this, as it helps people see when they’re estimating too low or when team members think something will be much easier than the person making the estimate thinks. There is a nice plugin to Google Hangouts for doing planning poker remotely.&lt;/p&gt;
&lt;p&gt;Test driven development (TDD) is another good agile technique. TDD involves writing tests before code, running the test (it’ll fail), writing code to fix the test problems, then testing again to confirm it’s all working as expected. It can get in the way sometimes, but usually ends up making you write better code.&lt;/p&gt;
&lt;p&gt;Several agile methodologies encourage measuring velocity: finding the rate of progress to measure the capacity of your team by putting points on tasks and then assigning points on new tasks based on how points were assigned for completed tasks. In other words, rather than using points to represent time, use them to represent difficulty and improve the team’s speed at completing tasks over time.&lt;/p&gt;
&lt;h3 id=&#34;continuous-integration&#34;&gt;Continuous Integration&lt;/h3&gt;
&lt;p&gt;Zdeněk Maxa talked about another Agile technique, Continuous Integration (CI). CI is a method used in software development where developers commit and push to the code base frequently. A CI server automatically runs unit tests and/or builds the software packages and reports on the success or any problems introduced by recent commits or merges. CI tests and builds are usually done at least once a day, if not after every single push. This kind of rapid re-alignment can work wonders in helping avoid last-minute conflict merges and provide quality assurance.&lt;/p&gt;
&lt;div class=&#34;separator&#34; style=&#34;clear: both; text-align: center;&#34;&gt;&lt;a href=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-4-big.png&#34; imageanchor=&#34;1&#34;&gt;&lt;img border=&#34;0&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-4-big.png&#34; style=&#34;margin-top: 1em; margin-bottom: 1em; max-width: 100%;&#34;/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&#34;project-estimation&#34;&gt;Project estimation&lt;/h3&gt;
&lt;p&gt;David Christensen talked about project estimation. Successful agreements for new projects come through good communication, scoping, and estimation. Difficulty estimation is fairly similar to engineering; sometimes it can be easy, for example when the project involves things we’ve done many times, when people who know the area of work well have time to work on it. Some estimates are more difficult, when things like unclear objectives, uncertainty, or lack of experience in the field get in the way.&lt;/p&gt;
&lt;p&gt;Depending on the circumstance, it can be useful to put together a very broad estimate with a wide range, so that the customer has a rough idea of the size of the project and can decide whether to pursue it at all. Such a rough estimate is much quicker and simpler than putting lots of time into project analysis, only to find out the project is far outside of the budget range.&lt;/p&gt;
&lt;p&gt;A large project that requires a more exact estimate may call for a smaller paid discovery project, which involves a deeper investigation into the project and ferreting out hidden pitfalls and risks. It can be incredibly useful for when a more exact estimate of time and/or cost is needed.&lt;/p&gt;
&lt;p&gt;David says we need to avoid unrealistic engineer optimism and be honest about estimates. Overpromising leads to unhappy clients and unhappy management. Clients need to make informed decisions, and giving them only a best-case scenario isn’t good for that. To that end, we can solicit input from more experienced people and those who are subject matter experts in relevant areas.&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed=&#34;true&#34; href=&#34;https://www.flickr.com/photos/end-point/22370682871/&#34; title=&#34;DSC_0629&#34;&gt;&lt;img alt=&#34;DSC_0629&#34; src=&#34;/blog/2015/10/end-points-20th-anniversary-meeting/image-5.jpeg&#34; style=&#34;max-width: 100%; margin-bottom: 1em;&#34;/&gt;&lt;/a&gt;&lt;script async src=&#34;//embedr.flickr.com/assets/client-code.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;
&lt;h3 id=&#34;electrical-problem-in-the-building&#34;&gt;Electrical problem in the building!&lt;/h3&gt;
&lt;p&gt;Our day had some extra excitement when our office building was evacuated due to an electrical problem that may have posed a fire risk. We split up for short walks around the neighborhood, until Ben Witten found us a great temporary meeting place at &lt;a href=&#34;https://thinkrise.com/&#34;&gt;Rise New York&lt;/a&gt;, a co-working space focused on helping financial startups work together. The rest of the afternoon our meeting continued there, a comfortable and convenient place just down the street from our office!&lt;/p&gt;
&lt;p&gt;Continue reading about &lt;a href=&#34;/blog/2015/11/end-points-20th-anniversary-meeting/&#34;&gt;day 2 of our meeting&lt;/a&gt;!&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>On End Point’s Development Environment</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2015/03/on-end-points-development-environment/"/>
      <id>https://www.endpointdev.com/blog/2015/03/on-end-points-development-environment/</id>
      <published>2015-03-11T00:00:00+00:00</published>
      <author>
        <name>Steph Skardal</name>
      </author>
      <content type="html">
        &lt;p&gt;A few recent conversations have sparked my interest in writing up a blog post that summarizes the familiar elements of our development environments. The majority of End Pointers work remotely, but many of the tools listed below are common to many developers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ssh/sftp&lt;/strong&gt;: We do primarily remote development. Many of us are familiar with local development, but remote development with camps (see next point) is typically the most efficient arrangement in working with multiple development instances that are accessible to clients for testing and staging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;camps&lt;/strong&gt;: &lt;a href=&#34;http://www.devcamps.org/&#34;&gt;DevCamps&lt;/a&gt; are a tool specific to and created by End Point, which are development instances with an entire webserver, database, and app server stack, similar to containers like &lt;a href=&#34;https://www.docker.com/&#34;&gt;Docker&lt;/a&gt;. Check out &lt;a href=&#34;http://www.devcamps.org/&#34;&gt;the DevCamps website&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;vim/emacs/nano&lt;/strong&gt;: While most of our employees use vim or emacs for command-line editors, nano is an inefficient but easy to use editor that we can suggest to new developers. Not many of us use &lt;a href=&#34;https://en.wikipedia.org/wiki/Integrated_development_environment&#34;&gt;IDEs&lt;/a&gt;, if at all.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;screen/tmux&lt;/strong&gt;: screen and tmux are our preferred terminal multitasking and sharing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;command-line database interaction (specifically psql and mysql ad-hoc querying)&lt;/strong&gt;: Working with an SQL database through an &lt;a href=&#34;https://en.wikipedia.org/wiki/Object-relational_mapping&#34;&gt;ORM&lt;/a&gt; like &lt;a href=&#34;http://guides.rubyonrails.org/active_record_basics.html&#34;&gt;Active Record&lt;/a&gt;, &lt;a href=&#34;http://www.dbix-class.org/&#34;&gt;DBIC&lt;/a&gt;, etc. is not enough for us.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;*nix / basic command-line interaction&lt;/strong&gt;: This topic could make up its own blog post, but some of the tools we use frequently are netstat/ss, ifconfig/ip, lsof, ps/top/htop/atop, free, df, nice/ionice, tail -f, sort, uniq -c, grep.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;git &amp;amp; &lt;a href=&#34;https://github.com/&#34;&gt;github&lt;/a&gt;&lt;/strong&gt;: Not uncommon to devshops these days, git is the most popular version control system, and github an extremely popular host of both open source and private repositories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IRC, Skype, Google Hangouts, &lt;a href=&#34;https://appear.in/&#34;&gt;appear.in&lt;/a&gt;, &lt;a href=&#34;https://talky.io/&#34;&gt;talky.io&lt;/a&gt;, &lt;a href=&#34;https://glideroom.com/&#34;&gt;glideroom.com&lt;/a&gt;, Google Voice, &amp;amp; &lt;em&gt;gasp&lt;/em&gt; regular phones&lt;/strong&gt;: As remote developers, we communicate often and there are a number of tools available in the communication space that we leverage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s interesting to note that if any new developers come in with a preference for a trendy new tool, while we are happy to let them work in an environment that allows them to be efficient, ultimately we can’t provide support for those tools that we are unfamiliar with.&lt;/p&gt;

      </content>
    </entry>
  
    <entry>
      <title>DevOps engineer job opening (remote)</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2013/06/devops-engineer-job-opening-remote/"/>
      <id>https://www.endpointdev.com/blog/2013/06/devops-engineer-job-opening-remote/</id>
      <published>2013-06-04T00:00:00+00:00</published>
      <author>
        <name>Jon Jensen</name>
      </author>
      <content type="html">
        &lt;p&gt;End Point continues to grow! We are looking for a full-time, salaried DevOps engineer to work on projects with our internal server hosting team and our external clients. If you like to figure out and solve problems, if you take responsibility for getting a job done well without intensive oversight, please read on.&lt;/p&gt;
&lt;p&gt;What is in it for you?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Work from your home office&lt;/li&gt;
&lt;li&gt;Flexible full-time work hours&lt;/li&gt;
&lt;li&gt;Health insurance benefit&lt;/li&gt;
&lt;li&gt;401(k) retirement savings plan&lt;/li&gt;
&lt;li&gt;Annual bonus opportunity&lt;/li&gt;
&lt;li&gt;Ability to move without being tied to your job location&lt;/li&gt;
&lt;li&gt;Collaborate with a team that knows their stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What you will be doing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remotely set up and maintain Linux servers (mostly RHEL/CentOS, Debian, and Ubuntu), with custom software written mostly in Ruby, Python, Perl, and PHP&lt;/li&gt;
&lt;li&gt;Audit and improve security, backups, reliability, monitoring (with Nagios etc.)&lt;/li&gt;
&lt;li&gt;Support developer use of major language ecosystems: Perl’s CPAN, Python PyPI (pip/easy_install), Ruby gems, PHP PEAR/PECL, etc.&lt;/li&gt;
&lt;li&gt;Automate provisioning with Ansible, Chef, Puppet, etc.&lt;/li&gt;
&lt;li&gt;Use open source tools and contribute back as opportunity arises&lt;/li&gt;
&lt;li&gt;Use your desktop platform of choice: Linux, Mac OS X, Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What you will need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Professional experience with Linux system administration, networking, iptables, Apache or nginx web servers, SSL, DNS&lt;/li&gt;
&lt;li&gt;A customer-centered focus&lt;/li&gt;
&lt;li&gt;Strong verbal and written communication skills&lt;/li&gt;
&lt;li&gt;Experience directing your own work, and working from home&lt;/li&gt;
&lt;li&gt;Ability to learn new technologies&lt;/li&gt;
&lt;li&gt;Willingness to shift work time to evening and weekend hours on occasion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bonus points for experience:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Packaging software for RPM, Yum, and apt/dpkg&lt;/li&gt;
&lt;li&gt;Managing Amazon Web Services, Rackspace Cloud, Heroku, or other cloud hosting services&lt;/li&gt;
&lt;li&gt;Working with PostgreSQL, MySQL, Cassandra, CouchDB, MongoDB, or other databases&lt;/li&gt;
&lt;li&gt;Complying with or auditing for PCI and other security standards&lt;/li&gt;
&lt;li&gt;Using load balancers, virtualization (kvm, Xen, VirtualBox, VMware), FC or iSCSI SAN storage&lt;/li&gt;
&lt;li&gt;With JavaScript, HTML/CSS, Java/JVM, Node.js, etc.&lt;/li&gt;
&lt;li&gt;Contributing to open source projects&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;about-us&#34;&gt;About us&lt;/h3&gt;
&lt;p&gt;End Point is a 17-year-old Internet consulting company based in New York City, with 35 full-time employees working mostly remotely from home offices. We serve over 200 clients ranging from small family businesses to large corporations, using a variety of open source technologies. Our team is made up of strong ecommerce, database, and system administration talent, working together using ssh, Screen and tmux, IRC, Google+ Hangouts, Skype, and good old phones.&lt;/p&gt;
&lt;h3 id=&#34;how-to-apply&#34;&gt;How to apply&lt;/h3&gt;
&lt;p&gt;&lt;del&gt;Please email us an introduction to jobs@endpoint.com to apply.&lt;/del&gt;
&lt;strong&gt;(This job has been filled.)&lt;/strong&gt;
Include a resume and your GitHub or other URLs that would help us get to know you. We look forward to hearing from you!&lt;/p&gt;

      </content>
    </entry>
  
</feed>
