All opinions expressed are those of the authors and not necessarily those of OSNews.com, our sponsors, or our affiliates.
  Add to My Yahoo!  Subscribe with Bloglines  Subscribe in NewsGator Online

published by noreply@blogger.com (Jon Jensen) on 2017-04-20 23:50:00 in the "company" category

We are looking for another talented software developer to consult with our clients and develop web applications for them in Ruby on Rails, Django, AngularJS, Java, .NET, Node.js, and other technologies. If you like to solve business problems and can take responsibility for getting a job done well without intensive oversight, please read on!

End Point is a 20-year-old web consulting company based in New York City, with 45 full-time employees working mostly remotely from home offices. We are experts in web development, databases, and DevOps, collaborating using SSH, Screen/tmux, chat, Hangouts, Skype, and good old phones.

We serve over 200 clients ranging from small family businesses to large corporations. We use open source frameworks in a variety of languages including JavaScript, Ruby, Java, Scala, Kotlin, C#, Python, Perl, and PHP, tracked by Git, running mostly on Linux and sometimes on Windows.

What is in it for you?

  • Flexible full-time work hours
  • Paid holidays and vacation
  • For U.S. employees: health insurance subsidy and 401(k) retirement savings plan
  • Annual bonus opportunity
  • Ability to move without being tied to your job location

What you will be doing:

  • Work from your home office, or from our offices in New York City and the Tennessee Tri-Cities area
  • Consult with clients to determine their web application needs
  • Build, test, release, and maintain web applications for our clients
  • Work with open source tools and contribute back as opportunity arises
  • Use your desktop platform of choice: Linux, macOS, Windows
  • Learn and put to use new technologies
  • Direct much of your own work

What you will need:

  • Professional experience building reliable server-side apps
  • Good front-end web skills with responsive design using HTML, CSS, and JavaScript, including jQuery, Angular, Backbone.js, Ember.js, etc.
  • Experience with databases such as PostgreSQL, MySQL, SQL Server, MongoDB, CouchDB, Redis, Elasticsearch, etc.
  • A focus on needs of our clients and their users
  • Strong verbal and written communication skills

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.

Please email us an introduction to jobs@endpoint.com to apply. Include a resume, your GitHub or LinkedIn URLs, or whatever else that would help us get to know you. We look forward to hearing from you! Full-time employment seekers only, please -- this role is not for agencies or subcontractors.


Comments

published by noreply@blogger.com (Jon Jensen) on 2016-12-13 22:31:00 in the "company" category

Update: This position has been filled! Thanks to everyone who expressed interest.

This role is based in our Bluff City, Tennessee office, and is responsible for everything about fulfillment of our Liquid Galaxy and other custom-made hardware products, from birth to installation. See liquidgalaxy.endpoint.com to learn more about Liquid Galaxy.

What is in it for you?

  • Interesting and exciting startup-like atmosphere at an established company
  • Opportunity for advancement
  • Benefits including health insurance and self-funded 401(k) retirement savings plan
  • Annual bonus opportunity

What you will be doing:

  • Manage receiving, warehouse, and inventory efficiently
  • Oversee computer system building
  • Product testing and quality assurance
  • Packing
  • Shipment pick-up
  • Communicate with and create documents for customs for international shipping
  • Be the expert on international shipping rules and regulations
  • Delivery tracking and resolution of issues
  • Verify receipt of intact, functional equipment
  • Resolve RMA and shipping claims
  • Help test and implement any new warehouse software and processes
  • Design and implement new processes
  • Use effectively our project software (Trello) to receive and disseminate project information
  • Manage fulfillment employees and office facility
  • Work through emergency situations in a timely and controlled manner
  • Keep timesheet entries up to date throughout the day

What you will need:

  • Eagerness to ?own? the fulfillment process from end to end
  • Exemplary communication skills with the entire company
  • High attention to detail
  • Consistent habits of reliable work
  • Ability to make the most of your time and resources without external micromanagement
  • Desire, initiative, and follow-through to improve on our processes and execution
  • Work with remote and local team members
  • Strive to deliver superior internal customer service
  • Ability to work through personnel issues
  • Go above and beyond the call of duty when the situation arises

About End Point:

End Point is a 21-year-old Internet consulting company with 50 full-time employees working together from our headquarters in New York City, our office in eastern Tennessee, and home offices around the world. 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 product design, software development, database, hardware, and system administration talent.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.

Please email us an introduction to jobs@endpoint.com to apply. Include your resume and anything else that would help us get to know you. We look forward to hearing from you! Full-time employment seekers only, please. No agencies or subcontractors.


Comments

published by noreply@blogger.com (Elizabeth Garrett Christensen on 2016-11-15 18:10:00 in the "company" category

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.

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'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.

Our home office in Lawrence

What I love

Being together all the time

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?

Getting some real insight on personality issues or conflicts

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.

Getting up-to-speed on company culture

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?

A proofreader

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.

Near the End Point NYC Office

Things that take work

Not over-talking

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.

Setting boundaries

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.

Individual space

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.

Social limitations

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.

Thinking about becoming a co-working couple?

I?m pretty new at this, so just a couple notes. Give me a few years ? maybe I?ll have more!

Putting all your eggs in one basket

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.

Find a supportive company

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.

Find unique job roles that you?ll enjoy

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.


And with that, I better see what David has been up to?..





Comments

published by noreply@blogger.com (Jon Jensen) on 2016-10-13 17:05:00 in the "company" category

We are looking for a full-time, salaried engineer to help us further develop our software, infrastructure, and hardware integration for the impressive Liquid Galaxy. The Liquid Galaxy was created by Google to provide an immersive experience of Google Earth and other applications.

This position is located at either our satellite office in Bluff City, Tennessee, or in Eugene, Oregon.

What you will be doing:

  • Develop new software involving panoramic video, Google Earth, a custom CMS, and ROS (Robot Operating System)
  • Improve the system with automation, monitoring, and customizing configurations to customers? needs
  • Provide remote and occasional on-site troubleshooting and support at customer locations
  • Build tours and supporting tools for emerging markets
  • Integrate and test new hardware to work with the system

What?s in it for you?

  • Flexible full-time work hours
  • Benefits including health insurance and 401(k) retirement savings plan
  • Annual bonus opportunity

What you will need:

  • Sharp troubleshooting ability
  • Experience with ?devops? automation tools such as Chef
  • Strong programming experience: Python, JavaScript, C/C++, Ruby, etc.
  • Linux system administration skills
  • A customer-centered focus
  • Strong verbal and written communication skills
  • Experience directing your own work, and working remotely as part of a team
  • Enthusiasm for learning new technologies

Bonus points for experience:

  • Contributing to open source projects
  • Working with geospatial systems, Cesium, Google Maps API, SketchUp, Google Building Maker, Blender, 3D modeling
  • Packaging software (e.g. dpkg/apt or RPM/Yum), building custom OS images, PXE booting
  • Working with Linux device drivers and networking
  • Doing image and video capture and processing, 360° video, or virtual reality
  • Using PostgreSQL or other databases
  • Writing server-side web applications with Django or Flask
  • Working with SAGE2
  • Working with web client technology such as HTML, CSS, DOM, browser extensions

About us

End Point is a technology consulting company founded in 1995 and based in New York City, with 50 full-time employees working from our offices in New York City, the tri-cities area in eastern Tennessee, and 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 works together using collaboration tools including SSH, tmux/Screen, IRC, Google Hangouts, Skype, wiki, Trello, and GitHub.

How to apply

Please email us an introduction to jobs@endpoint.com to apply. Include a resume and any URLs that would help us get to know you. We look forward to hearing from you!


Comments

published by noreply@blogger.com (Phin Jensen) on 2015-11-03 03:05:00 in the "company" category

Friday, October 2nd, was the second and final day of our company meeting. (See the earlier report on day 1 of our meeting 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.

The History of End Point

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.

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.

Ben showed Rick some simple websites he had been working on and Rick said that 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.

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.

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.

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.

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.

The story continues with End Point moving into PostgreSQL support, Ruby on Rails development, AFS support, the creation of Spree Commerce, programming with Python & 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.

A lot happens in a business in 20 years!

Using Trello

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.

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.

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.

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.

Automated Hosting

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.

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.

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.

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.

Command Line Tools

Kannan Ponnusamy and Ram Kuppuchamy showed us some of their favorite Unix command-line tools. Here are some of the cool things I liked.

You can use ^ (caret) to correct typos in the previous command, like so:

user@host $ cd Donloads                                                                                                                                                              
cd: no such file or directory: Donloads                                                                                                                                                    
user@host $ ^on^own                                                                                                                                                                       
cd Downloads                                                                                                                                                                               
user@host:~/Downloads $

Use ! ("bang") commands to access commands and arguments in the history:

  • !! - entire previous command
  • !* - all arguments of previous command
  • !^ - first argument of previous command
  • !$ - last argument of previous command
  • !N - command at position N in history
  • !?keyword? - most recent command with pattern match of keyword
  • !-N - command at Nth position from last in history

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.

The ps --forest option creates a visual ASCII art tree of the process hierarchy. Likewise, Git has git log --graph, which shows a visual representation of the repository history. Try using git log --oneline in addition to --graph to make it a little more concise.

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.

ls -d */ will list all directories in the current directory.

These are just a few of the neat things they showed us. See their blog post about these and other Unix commands.

ROS in the Liquid Galaxy

Wojciech Ziniewicz and Matt Vollrath gave us a preview of their talk ?ROS-driven user applications in idempotent environments? to be presented at ROSCon 2015 in Hamburg, Germany a few days later. The Liquid Galaxy project recently transitioned away from ad-hoc services and protocols to ROS (Robot Operating System) and their presentation slides give a good idea of how much was involved in that process.

State of the Company

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.

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.

Personal Tech Security

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.

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.

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.

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.

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.

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.

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.

?Brain bowl? challenge

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:

  • Who created the World Wide Web? In what year?
  • What is now wrong with the term ?SSL certificate??
  • What do HIPAA and PCI-DSS stand for?
  • The Agile Manifesto says its authors have come to value what things over what other things?
  • Where does the word ?pixel? come from?
  • Where did the Unix command ?tee? that Kannan mentioned get its name?
  • What does the name UTF-8 stand for?
  • How many bytes are in a terabyte? In a tebibyte?

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.

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.

Company party

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.

It was great to get everyone together in person!


Comments

published by noreply@blogger.com (Phin Jensen) on 2015-10-23 20:20:00 in the "company" category

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.

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.

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.

We're 20 years old!

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.

Rick had this message for our clients and friends in August, the month the company was founded:

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.

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!

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.

Thank you again for helping us thrive, improve, and position ourselves for an even more exciting next 20 years!

Remote work tips

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 before starting the work, then refining the description and recording the time spent as he goes.

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.

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.

Richard shared some tips as well:

  • Keep some things offline so your work doesn't shudder to a halt whenever the network cuts out.
  • 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.
  • Bringing a backup power supply or battery when traveling can save you from a bad situation.
  • Whenever working at home, setting up a spot that is your office helps cut down on outside distractions.
  • Use screen or tmux on remote servers so you don't lose work when the network drops.
  • Pair or team programming can do miracles for productivity! Use a shared screen or tmux session while talking on the phone with a headset.
DSC_4275

Perusion history

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.

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.

We have written up more about Perusion in the blog post Perusion has joined End Point!

Stance

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.

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.

IMG_4839

Carjojo

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.

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.

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.

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.

Code quality and testing

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.

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).

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.

These are some ways to help prevent bugs coming up:

  • Use declarative syntax rather than imperative.
  • Always be clear about types.
  • Break code into small chunks.
  • Create terse code that is easy to read and documents itself.
  • Stick to standard libraries when possible.
  • Learn common programming paradigms.

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.

DSC_4263

Agile development methodologies

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.

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.

There are now many flavors of Agile, such as Extreme Programming (XP), Scrum, Crystal, Kanban, Lean, DSDM, etc.

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 study done 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.

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.

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 Dunning-Kruger effect 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.

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.

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.

Continuous Integration

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.

Project estimation

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.

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.

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.

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.

DSC_0629

Electrical problem in the building!

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 Rise New York, 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!

Continue reading about day 2 of our meeting!


Comments

published by noreply@blogger.com (Jon Jensen) on 2015-07-31 16:50:00 in the "company" category

We are excited to announce an expansion of End Point?s ecommerce clientele and our developer ranks! The ecommerce consulting company Perusion has joined End Point. Perusion was founded in 2002 by Mike Heins and Greg Hanson. It quickly became a small powerhouse in the open source ecommerce space, focusing on Interchange, Perl, and MySQL on Linux. We were pleased to welcome Perusion in a merger with End Point at the beginning of July.

Mike Heins is the original creator of MiniVend in 1996. In 2000, Mike?s consultancy and MiniVend were acquired by the ecommerce startup Akopia. With numerous improvements, including the addition of a new full-featured administrative back-office, the new open source ecommerce platform Interchange was created. Akopia was acquired by Red Hat in 2001, and in 2002 the Interchange project became independent, led by its creators and a group of other open source developers who maintain it to this day.

Greg Hanson is a serial entrepreneur and business manager and has worked extensively with data systems of many types. In the mid-1990s he started a computer products ecommerce company, Valuemedia, and oversaw every aspect of its evolution. Greg joined Mike to launch Perusion in 2002, and is now a client consultant and developer. He has shepherded several businesses from small mom & pop operations into strong companies providing goods and services around the world.

Josh Lavin began creating websites professionally in 1998 at his consultancy Kingdom Design. He grew his work into the ecommerce space, helping many companies sell their products online for the first time. Josh joined Perusion in 2007, bringing skills in marketing and user experience that are just as important as his development abilities. In recent years he has enjoyed moving client sites over to responsive front-end designs that work well on desktop, tablet, and mobile phone.

Perusion?s development and hosting clients have joined End Point as well. Some of the noteworthy sites that bear mentioning here are American Welding Society, Bluestone Perennials, Vervanté, Bulk Herb Store, Northern Sun, Penn Herb Company, Air Delights, and Solar Pathfinder.

At End Point we got our start in the industry in 1995 by creating dynamic database-backed websites for our clients. Our tools of choice in those early days were Linux, Apache, msql and MySQL, and Perl. In the late 1990s we began focusing more on ecommerce websites specifically, and we added MiniVend and Interchange to the mix.

Later we branched out into PostgreSQL, Ruby on Rails and Spree, Python and Django, Perl Dancer, NodeJS, and other platforms, while we continued to support and enhance Interchange and the sites running on it. Today we still host and develop many successful ecommerce sites running Interchange, taking many thousands of orders worth millions of dollars every day. So we are delighted to have Perusion join us as we to continue to grow the Interchange-based part of our business.

We have already seen constructive collaboration in this merger, with longtime End Point employees able to add more helping hands to Perusion projects and further breadth of capabilities and depth of support, Perusion developers bringing their expertise to bear, and Perusion contacts leading to new projects and new business.

Perusion has always believed in going above and beyond the call of duty and has made their clients? success their own goal. Likewise, we at End Point feel this is more than a business, and we value the personal relationships we have developed with each other and our clients over the years. We look forward to the new possibilities that are now available through this change, and are glad to welcome Perusion on board at End Point!


Comments

published by noreply@blogger.com (Jon Jensen) on 2015-05-13 05:05:00 in the "company" category

We are looking for another talented software developer to consult with our clients and develop their web applications in AngularJS, Node.js, Ruby on Rails, and other technologies. If you like to focus on solving business problems and can take responsibility for getting a job done well without intensive oversight, please read on!

What is in it for you?

  • Flexible full-time work hours
  • Health insurance benefit
  • Paid holidays and vacation
  • 401(k) retirement savings plan (U.S. employees)
  • Annual bonus opportunity
  • Ability to move without being tied to your job location

What you will be doing:

  • Work from your home office, or from our offices in New York City and the Tennessee Tri-Cities area
  • Consult with clients to determine their web application needs
  • Build, test, release, and maintain web applications for our clients
  • Work with open source tools and contribute back as opportunity arises
  • Use your desktop platform of choice: Linux, Mac OS X, Windows
  • Learn and put to use new technologies
  • Direct much of your own work

What you will need:

  • Professional experience building reliable server-side apps in Ruby on Rails, Node.js and Express, Django, CakePHP, etc.
  • Good front-end web skills with responsive design using HTML, CSS, and JavaScript, including jQuery, AngularJS, Backbone.js, Ember.js, etc.
  • Experience with databases such as PostgreSQL, MySQL, MongoDB, CouchDB, Redis, Elasticsearch, etc.
  • A focus on needs of our clients and their users
  • Strong verbal and written communication skills

About us

End Point is a 19-year-old web consulting company based in New York City, with 39 full-time employees working mostly remotely from home offices. We are experts in web development, database, and DevOps, collaborating using ssh, Screen/tmux, IRC, Google+ Hangouts, Skype, and good old phones.

We serve over 200 clients ranging from small family businesses to large corporations. We use free software frameworks in a variety of languages including JavaScript, Ruby, Python, Perl, PHP, and Java, tracked by Git, running on Linux.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of gender, race, religion, color, national origin, sexual orientation, age, marital status, veteran status, or disability status.

How to apply

Please email us an introduction to jobs@endpoint.com to apply. Include a resume, your GitHub or LinkedIn URLs, or whatever else that would help us get to know you. We look forward to hearing from you! Full-time employment seekers only, please. No agencies or subcontractors.


Comments

published by noreply@blogger.com (Steph Skardal) on 2015-03-11 18:07:00 in the "company" category

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.

  • ssh/sftp: 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.
  • camps: DevCamps 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 Docker. Check out the DevCamps website for more information.
  • vim/emacs/nano: 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 IDEs, if at all.
  • screen/tmux: screen and tmux are our preferred terminal multitasking and sharing.
  • command-line database interaction (specifically psql and mysql ad-hoc querying): Working with an SQL database through an ORM like Active Record, DBIC, etc. is not enough for us.
  • *nix / basic command-line interaction: 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.
  • git & github: 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.
  • IRC, Skype, Google Hangouts, appear.in, talky.io, glideroom.com, Google Voice, & *gasp* regular phones: As remote developers, we communicate often and there are a number of tools available in the communication space that we leverage.

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.


Comments

published by noreply@blogger.com (Steph Skardal) on 2015-02-10 16:30:00 in the "company" category

Today, I sat down to read through a few recent End Point blog articles and was impressed at the depth of topics in recent posts (PostgreSQL, Interchange, SysAdmin, Text Editors (Vim), Dancer, AngularJS) from my coworkers. The list continues if I look further back covering technologies in both front and back end web development. And, this list doesn't even cover the topics I typically write about such as Ruby on Rails & JavaScript.

While 5 years ago, we may have said we predominately worked with ecommerce clients, our portfolio has evolved to include Liquid Galaxy clients and many non-ecommerce sites as well. With the inspiration from reading through these recent posts, I decided to share some updated stats.

Do you remember my post on Wordle from early 2011? Wordle is a free online word cloud generator. I grabbed updated text from 2013 and on from our blog, using the code included in my original post, and generated a new word cloud from End Point blog content:


End Point blog Word cloud from 2013 to present

I removed common words from the word cloud not removed from the original post, including "one", "like", etc. Compared to the original post, it looks like database related topics (e.g. PostgreSQL) still have strong representation on the blog in terms of word count, and many other common developer words. Liquid Galaxy now shows up in the word cloud (not surprising), but many of the other technology specific terms are still present (Spree, Rails, Bucardo).

I also took a look at the top 10 blog posts by page views, as compared to this post:

The page views are not normalized over time, which means older blog posts would not only have more page views, but also have more time to build up traffic from search. Again, this list demonstrates qualitatively the broad range of topics for which our blog is popular, including both very technology specific posts as well as general development topics. I also suspect our traffic continues to attract long-tail keywords, described more in this post.

Finally, back in October, I visited End Point's Tennessee office and got into a discussion with Jon about how we define our services and/or how our business breaks down into topics. Here's a rough chart of what we came up with at the time:


How do End Point services break down?

Trying to explain the broad range and depth of our services can be challenging. Here are a few additional notes related to the pie chart:

  • Our Liquid Galaxy work spans across the topics of Hardware & Hosting, Cloud Systems, and Databases.
  • Our Ecommerce services typically includes work in the topics of Backend & Client Side Development, as well as Databases.
  • Our development in mobile applications spans Backend & Client Side Development.

All in all, I'm impressed that we've continued to maintain expertise in long-standing topics such as PostgreSQL and Interchange, but also haven't shied away from learning new technologies such as GIS as related to Liquid Galaxy and JavaScript frameworks.

PS

P.S. If you are interested in generating word statistics via command line, the following will get you the top 20 words given a text file:

tr -c '[:alnum:]' '[n*]' < some_text_file.txt | sort | uniq -c | sort -nr | head  -20

Comments

published by noreply@blogger.com (Marco Manchego) on 2014-11-18 01:16:00 in the "company" category

End Point Corporation tem o prazer de anunciar o lançamento oficial do seu novo website em Português! O site, http://liquidgalaxy.pt.endpoint.com/ oficialmente sinaliza a chegada do Liquid Galaxy da End Point ao Brasil e tem como objetivo fornecer serviço a todos os atuais e futuros clientes em um dos maiores e mais dinâmicos mercados da América do Sul.

Com uma população de mais 200 milhões, o Brasil também é um rápido adoptante de novas tecnologias com um numero considerável de líderes do setor que podem beneficiar diretamente a implementação do Liquid Galaxy. Isto inclui um setor de commodities solido, uma expansão imobiliária cresente, turismo e um mercado de mídia vibrante, todos fortes candidatos para a nova tecnologia.

Brasil também é o ponto de entrada para o mercado sul-americano em geral. Estamos confiantes de que podemos aumentar a penetração no mercado Brasileiro, outras oportunidades na região irão seguir. Dave Jenkins, nosso vice-presidente de vendas e Marketing, oferece o seguinte: "nós estamos excitados para ver essa expansão no Brasil. Eu sempre vejo grandes coisas saindo de São Paulo e Rio, sempre participo das conferências tecnologicas, que estão sempre superlotadas.

Se você gostaria de saber mais sobre esta tecnologia, por favor contacte-nos: vendas@endpoint.com
Comments

published by noreply@blogger.com (Marco Manchego) on 2014-11-18 01:16:00 in the "company" category

End Point Corporation is pleased to announce the official launch of its new Brazilian Portuguese Liquid Galaxy website! The site, found at http://liquidgalaxy.pt.endpoint.com/ officially signals the arrival of End Point?s Liquid Galaxy to Brazil, and aims to provide service to all current and future customers in what is South America?s largest and most dynamic market.

With a population over 200 million, Brazil is also a quick adopter of new technologies with sizeable industry sectors that can benefit directly from the implementation of a Liquid Galaxy. This includes a massive commodities sector, booming real estate, tourism and a vibrant media market, all of which are strong candidates for the technology.

Brazil is also a logical entry-point into the larger South American market in general. We?re confident that as we increase market penetration in Brazil, other opportunities in the region will soon follow. Dave Jenkins, our VP of Sales and Marketing, offers the following: ?We?re excited to see this expansion into Brazil. I always see great things coming out of São Paulo and Rio whenever I go there for tech conferences, which are always booked to overflowing levels.?

If you have international business in South America, or are based in Brazil and would like to know more about this great technology, please contact us at vendas@endpoint.com


Comments

published by noreply@blogger.com (Jon Jensen) on 2014-06-21 04:51:00 in the "company" category

We are looking for a full-time, salaried engineer to help us further develop our software, infrastructure, and hardware integration for the Liquid Galaxy created by Google. Liquid Galaxy is an impressive panoramic system for Google Earth and other applications.

What is in it for you?

  • Work from your home office, or from our offices in New York City or Tennessee (Tri-Cities area)
  • Flexible full-time work hours
  • Benefits including health insurance and 401(k) retirement savings plan
  • Annual bonus opportunity
  • Ability to move without being tied to your job location

What you will be doing:

  • Develop new software involving panoramic video, Google Earth, content management, Interactive Spaces, and ROS (Robot Operating System)
  • Improve the system with automation, monitoring, and customizing configurations to customers? needs
  • Provide remote and occasional on-site troubleshooting and support for Liquid Galaxy at customer locations
  • Build tours and supporting tools for emerging markets

What you will need:

  • Strong programming experience with Java, Python, C/C++, Ruby, Perl, and/or shell
  • Experience with automation tools such as Chef, Ansible, Salt, and Puppet
  • Linux system administration skills
  • Sharp troubleshooting ability
  • A customer-centered focus
  • Strong verbal and written communication skills
  • Experience directing your own work, and working remotely as part of a team
  • Enthusiasm for learning new technologies

Bonus points for experience:

  • Contributing to open source projects
  • Working with geospatial systems, SketchUp, Google Building Maker, Blender, 3D modeling
  • Packaging software (e.g. dpkg/apt or RPM/Yum), building custom OS images, PXE booting
  • Doing image and video capture and processing, or working with kernel drivers
  • Using SQL and databases (relational or non-relational)
  • With Web server and client technology (HTML, CSS, JavaScript, etc.)

About us

End Point is technology consulting company founded in 1995 and 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 works together using ssh, Screen and tmux, IRC, Google+ Hangouts, Skype, and even regular phones.

How to apply

Please email us an introduction to jobs@endpoint.com to apply. Include a resume and your GitHub or other URLs that would help us get to know you. We look forward to hearing from you!


Comments

published by noreply@blogger.com (Steph Skardal) on 2013-11-13 16:52:00 in the "company" category

Here at End Point, we have a broad range and depth of knowledge in many areas of web development, both server side and client side. This shows itself in form of many internal emails. Whenever I get an internal email with some tidbit of information I'd like to read later on, I file it in my Internal folder to read about later. That folder is overflowing now, and I wanted to take some time to clean it out and share the contents in blog form.

My Internal folder is now clean and I'm ready to hear about more great tips & tools from my coworkers.


Comments

published by noreply@blogger.com (Jon Jensen) on 2013-08-22 19:16:00 in the "company" category

We?re looking for a few more talented Ruby on Rails developers to consult with our clients and develop their web applications. Do you like to focus on solving business problems? Do you take responsibility for getting a job done well without intensive oversight? Then please read on!

End Point is an 18-year-old web consulting company based in New York City, with 38 full-time employees working mostly remotely from home offices in the United States, Canada, and Europe. Our team is made up of strong ecommerce, database, and system administration talent, working together using ssh, tmux and screen, IRC, phone, Google+ hangouts, and Skype.

We serve over 200 clients ranging from small family businesses to large corporations, using a variety of open source technologies including Ruby, Python, Perl, Git, PostgreSQL, MySQL, CouchDB, Redis, Elasticsearch, jQuery, and many more, on Linux.

What you will be doing:

  • Help clients determine their web application needs
  • Build, test, release, and maintain web applications for our clients
  • Work with open source tools and contribute back as opportunity arises
  • Use your desktop platform of choice: Linux, Mac OS X, or Windows

What you will need:

  • Professional experience building solid Ruby on Rails apps
  • Good front-end web skills with HTML, CSS, and JavaScript
  • Experience with PostgreSQL, MySQL, or other databases
  • A customer-centered focus
  • A passion for building flexible and, where needed, scalable web applications
  • Strong verbal and written communication skills
  • Experience directing your own work, and working from home
  • Ability to learn new technologies

Bonus points for experience:

  • Building and supporting ecommerce systems such as Spree
  • Working with other languages and web app frameworks
  • Contributing to gems or other open source projects
  • Handling system administration and deployment

What is in it for you?

  • Work from your home office (time zones UTC-10 to UTC+4 preferred)
  • Flexible full-time work hours
  • Annual bonus opportunity
  • Health insurance benefit (for U.S. employees)
  • 401(k) retirement savings plan (for U.S. employees)
  • Ability to move without being tied to your job location

You may apply by emailing us an introduction to jobs@endpoint.com. Include a resume, your GitHub or LinkedIn URLs, and anything else that will help us get to know you. We look forward to hearing from you! Full-time job seekers only, please. No agencies or subcontractors.


Comments