Senior Software Engineer
Everyday, mission number one is to create awesome time-to-value for customers looking to convert manage massive, diverse and very dirty datasets into profitable insights they can sell. With our product, insights are created in minutes or hours not days or weeks.
Our product delivers access to tools and data to re-invent the way people work with complex, messy data. We have decades of experience in NLP, AI, Big Data & Databasing, Unstructured Data Management and Enterprise SaaS. However, we tend to ignore the way we’ve done things before, even though the new approaches drive complexity and challenges. If we can’t beat the old ways of generating insights we aren’t doing our jobs.
What You Will Do
- Design and code high-quality, low-latency, scalable solutions.
- Work in an agile development environment.
- Act as technology guru for technologies new to Unifyd, bringing your expertise in those technologies to bear on problems addressed by our solutions.
- Collaborate with other engineers, product owners, and designers.
- Fully understand the requirements and architecture that drive your designs and code.
- Create and deploy services capable of meeting the needs of user bases in the millions.
- Mentor other engineers.
- Understand best-of-breed engineering practices and employ them; champion continuous improvement in practices and process.
- Challenge yourself to keep growing as a senior developer
- Find ways to spread learning across the organization (gives internal talks, write on internal blogs, etc).
What You Need for this Position
- 5-10 years working experience
- BSCS or related
- Java as your primary programming language.
- Understanding of the importance of testing (unit and integration) and discipline to do either TDD or write complete post-hoc tests.
- Experience with SQL DBs like PostgreSQL.
- Experience with Elasticsearch or Spark.
- Design experience with relational DBs and understanding of concepts like (for example) indexing, query optimization, and normalization/denormalization.
- Very deep experience designing enterprise java applications with Spring and Spring Boot or Spring MVC. Good understanding of dependency injection/IOC as implemented in Spring containers.
- Experience with Spring packages like Spring Security, Spring JDBC, Spring Integration, Spring Cloud Dataflow.
- Experience/familiarity with Docker and containerization concepts.
- Exposure to devops/cloud deployment (Digital Ocean/AWS/Azure/PCF).
- Experience with enterprise app development focused on job automation, integration, ETL, enterprise security, on-premise installs (docker etc).
Nice to haves:
- Java 8+
- Elasticsearch & HDFS
- Prior experience with enterprise SaaS application design
- Experience with complex data transformations and data visualization
What's In It for You
- Work with other high-caliber engineers
- Working on really hard, unsolved problems in Big Data and Machine Learning and using cutting edge technologies to do so.
- Flexible working hours - as long as high-quality work gets done
- Easy-going, open office environment in downtown Chicago (Near the trains!)
- Guiding the direction and architecture from the product from an early stage
- Building the business as a partner, not an employee.
We start with people who are genuinely nice people to hang out with. Make sure they are super smart and motivated to twist data like a pretzel. Lastly, we have a no jerk policy…zero tolerance. No one likes coming to a company with a difficult person or boss.
When you focus on the right people, suddenly it’s possible to attack that big idea, crush extremely hard problems, and excite your customer base.
Our philosophy in a nutshell is “People, Product, Profit”. Great companies are created in that order.