Overview

Positions

Principal Software Engineer, Senior Software Engineer, and Developer (React/AWS)

Type

Full time for Principal Software Engineer and Senior Software Engineer; part time for Developer.

Location

Remote

Compensation and Benefits

Our compensation plans are rooted in transparency. Instead of a one-size-fits-none approach, compensation is tailored to your needs. If you get health care benefits from a spouse and don’t need them, we’ll find ways to redirect resources to other parts of your overall compensation.

Principal Software Engineer

  • US $100k-$150k total compensation package (salary and benefits).
  • An aggressive profit-sharing schedule.
  • Paid vacation and sick leave.

Senior Software Engineer

  • US $40k-$60k total compensation package (salary and benefits).
  • Performance based incentives.
  • Paid vacation and sick leave.

Developer

  • US $25-$45 per hour.
  • Minimum monthly guarantees available.

All Positions

  • Flexible work hours.
  • Paid training and professional development.

Vision And Culture

Do you want to use your coding skills to revolutionize an entire industry?  Are you interested in an environment that cultivates leaders with hands-on technical abilities? Do you prefer to work with others who listen to understand and aren’t just waiting to reply?

Venture Industries Online (“Venture”) is a leading website developer in the arts and culture sector and we’re in the final phase of developing a game changing CRM and ticketing platform using React and AWS.

We provide a hyper-supportive environment where ideas build incrementally using a collaborative approach. Our processes focus on group momentum instead of individual end results to generate something greater than if one single member influenced decisions or opinions.

In the end, working at Venture is all about discovering outcomes by adding to each other’s ideas.

We have an immediate opening for one or more candidates to step into a key role responsible for overseeing remaining architecture development for our new flagship CRM/ticketing platform.

What You’ll Be Doing

Ideally, we are looking for a candidate with the following skillsets capable of filling each major area of responsibility.

Ongoing work falls into these major areas of responsibilities or skillsets:

  1. React UI implementation; AWS implementation;
  2. AWS architecture design, including deployments.

Candidates with all of the minimum skillsets will qualify as a Principal Software Engineer. We are also willing to break the position into a small team consisting of candidates with some, but not all, skillsets. These candidates would qualify for Senior Software Engineer or Developer positions.

All positions are location independent and you will have regular video-based and Slack contact with your colleagues.

Development Generally

Developers in any environment need to be able to handle tasks like this:

  • Keep code in source control, we use Git on Bitbucket
  • Use Git branches effectively for multi-developer progress
  • Commit code frequently with descriptive merge messages
  • Manage merges and tags for production releases
  • Document changes between versions
  • Develop unit tests that include catching edge cases
  • Work with peers to perform code reviews
  • Work with task tracking software (like Jira) and help evaluate and plan schedule by estimating how long tasks might take
  • Regularly communicate progress
  • Give directed technical feedback about pros and cons of feature plans rather than blindly just doing whatever gets assigned
  • Think carefully about backward compatibility and future extensibility
  • Whenever possible, develop for scale (and provide clarity as to why when there is a risk)
  • Bonus Points: experience with or understanding of nonprofit performing arts sector

React

Object-oriented programming is a must. We have also enforced the use of Typescript on our React work, so that is an important standard to maintain. We have created a custom template for Create React App, without ejecting, that we should both use and improve upon over time.

A React developer will need to be able to understand:

  • Functional components, hooks (including how to create your own), and a good grasp of props vs state.
  • Implementing UI using the React Material UI framework, both components and styling.
  • Using local or exported interfaces to define object typing.
  • Using newest features of JS, like arrow functions, spread operator, when to use a Set instead of Array, and so on.
  • The difference between controlled and uncontrolled components (especially because we aim for uncontrolled form fields backed by React Hook Forms).

Bonus points if you have these skills under your belt but if not, you’ll be able to develop them on-the-job:

  • Strongly typing data types via Typescript, not just slapping “any” down wherever.
  • Working with Yarn/Lerna for monorepo development and shared libraries
  • Netlify deployment
  • Writing Jest unit tests
  • Helpful because we use them a lot already:
    • RxJS observables to deal with asynchronous data
    • Auth0 for authentication
    • Axios or Fetch for REST APIs
    • GraphQL (ok, not used much now, but might)
    • Yup for form validation
  • Experience with and/or understanding of PHP object-oriented code development and the WordPress platform.

AWS Implementation

We have focused on AWS services that are pay-for-usage rather than reserved. That means Lambda functions and DynamoDB instead of EC2 instances and SQL. We have stuck to NodeJS for Lambdas so we at least have similarity between the React and AWS work.

An AWS developer should understand:

  • Using Serverless Framework to define our deployments
  • Leveraging a common library of functionality for Lambda functions
  • Writing Lambda functions in NodeJS
  • Using Axios for REST APIs and GraphQL (maybe) for interoperability
  • Using SNS messaging for asynchronous communication between microservices
  • Interacting between services via the AWS SDK

Bonus points if you have these skills under your belt but if not, you’ll be able to develop them on-the-job:

  • Developing functions in a way to manage effective separation of concerns and build up a growing library of re-usable microservices that can be completely independent of one another project by project.

AWS Architecture

We currently build around the core services of API Gateway, Lambda, DynamoDB, and SNS. A developer responsible for the growing architecture needs to be able to think about:

  • How data will be managed at a macro level
  • How to define the boundaries of various independent microservices
  • How to project data between microservices to avoid artificial “joins” that cause bottlenecks
  • When functionality is app or client specific such that it should exist in a custom microservice that links “generic” microservices together (what we have been terming a “router” service)
  • How to define what is searchable and what data should appear in search results to accommodate application needs
  • How to organize services designed to communicate with third-party systems, like Mailchimp, SendGrid, Auth0, or Salesforce
  • Our generic microservices are built from a serverless template, so how might this improve and grow over time, lowering maintenance costs
  • Think about scale and performance with an eye toward recognizing when we might need to consider reserved resources (maybe never, but still…)
  • Handle deployments across multiple stages and separating dev/staging/production, which we are currently handling with Organizations for separation and Seed for automated deployment (similar to Netlify, but for AWS)
  • Consider future needs and plan for that development (For example, we secure our generic microservices using API keys, but this would be better handled with the more complex VPCs – figuring out to move from one to the other is an eventual task)

How To Lean More And Apply

You can learn more about our work culture, values, and the project at ventureindustriesonline.com/careers.

An online application is available for all candidates. We know your time is valuable and that’s why you won’t see us asking for something like work history information when we can otherwise find in your resume. To that end, thank you for making sure your resume includes:

  • Your three most recent employers (if applicable)
  • Three professional references (with email and phone contacts).

Don’t tell us how much your previous jobs paid. That’s just an unfair old-school tactic employers use to make compensation a race to the bottom….and it sucks. Bonus points for including something about your side projects, we love seeing what makes applicants interested and interesting. If you have an entrepreneurial streak, thanks for making sure it comes out in your resume. Lastly, you’re welcome to include a cover letter but it is not required. Leaving one out is fine.

APPLY

Equal Opportunity Employer

Venture is an equal opportunity employer committed to diversity and inclusion. We prohibit discrimination and harassment of any kind based on race, color, sex, religion, sexual orientation, national origin, disability, genetic information, pregnancy, physical or mental disability of an otherwise qualified individual, membership or application for membership in a uniformed service, engaging in legally protected activity, or any other protected characteristic as outlined by federal, state, or local laws.

This policy applies to all employment practices within our organization, including hiring, recruiting, promotion, termination, layoff, recall, leave of absence, compensation, benefits, training, and apprenticeship. Venture makes hiring decisions based solely on qualifications, merit, and business needs at the time.

If you are an individual with a disability and are unable to access our current positions link, please feel free to ask for assistance by emailing us or by calling 312-465-2895.

About Venture Industries Online

Venture Industries Online ("Venture") is a leading website developer in the arts and culture sector and we're in the final phase of developing a game changing CRM and ticketing platform using React and AWS.
We provide a hyper-supportive environment where ideas build incrementally using a collaborative approach. Our processes focus on group momentum instead of individual end results to generate something greater than if one single member influenced decisions or opinions.
In the end, working at Venture is all about discovering outcomes by adding to each other’s ideas.