✨ Fill and validate PDF forms with InstaFill AI. Save an average of 34 minutes on each form, reducing mistakes by 90% and ensuring accuracy. Learn more

Humble Java Developer

SonicJobs Grapevine, TX
java devices team people java alcohol software design writing monitoring sql items c#
September 22, 2022
SonicJobs
Grapevine, TX
FULL_TIME
  • Why would I want this job?

You get to build new stuff. You will have the opportunity to design and implement new APIs and features, and also work directly with physical electronic devices.
We understand that people have lives outside of work. Your child is sick? We understand if you need to take the day off. You work better from home? Great, so do we. Some of our developers work from home full-time, but you’ll need to come into the office at least once a week while you’re getting your feet wet.
Friendly atmosphere. When we do come into the office, we often go out to lunch together. We have a long-standing tradition of reading some trivia questions in our online weekly meetings. Occasionally we have a beer together after work. Don’t feel like participating? No one will hold it against you.
This is a small team with low turnover. The development team you could be joining currently has five developers with an average tenure of about seven years. This is a rare opportunity to be an influential contributor in a stable environment.
You can grow your expertise in Java-based technologies. We care about writing quality code. What matters most is not how many years of experience you have, but that you care too. In this environment, if you’re not a Java expert already, you’ll become one in no time.
Good salary. You clicked on the ad, didn’t you?
Good benefits. 401k matching, vacation, health/dental/life/AD&D/supplemental insurance, and more.
Healthy company with a positive impact. We are a leader in our industry. Our revenue has grown steadily since 1992, and our product helps save lives.

  • So... who are you?

We are Smart Start Inc., a privately held company based in Grapevine, TX. We are a leader in the field of alcohol monitoring technology. Our products include ignition interlock devices to prevent people from driving while intoxicated, as well as portable alcohol monitoring devices.

  • You use Java to detect alcohol?!?

No, but we use it in various applications for a host of other activities: administering devices, tracking customer interactions, processing payments, generating reports, providing information to government agencies, and more. The company would literally cease to function without these applications. If you join, you can help us make our applications better.

  • Well, you told me why I might want this job, but no place is perfect. What are the downsides?

You will be expected to produce. Have you ever worked on a team with people who didn’t really do anything? Those people don’t last here.

Our SDLC processes need improvement. Historically, a lot of our planning/designing/testing/release processes have been on an ad hoc basis. This has led to some growing pains, but we are actively getting better, especially with our continuous build and deployment processes. You can help shape our processes going forward.

We have quite a bit of legacy code. Set legacyCodebases = IntStream.range(1992, 2022).mapToObj(adHocProcess::develop).collect(Collectors.toSet()); The applications built from our legacy codebases work (mostly), and it is prohibitively expensive to replace all of the functionality they provide, so these codebases will continue to exist for a long time. What you build will help retire some of it, and you can also feel confident that whatever you build will exist for a long time to come.

  • Wait... you said I get to build new stuff, and now you’re telling me about legacy codebases plural?!

Well, your initial development tasks are going to be centered around adding simple capabilities to our existing software and building them properly. We’re not going to start you off with deep-diving into ten-year-old code. However, we do have a couple of big projects coming down the pipe, so if you’re competent and a good fit we’d be extremely happy if you can drive an upcoming project to launch and beyond. We can’t just start you off with being the development lead on a new application when you have no knowledge of the domain or the systems that are already in place.

  • I guess that makes sense. So what technologies are you using over there?

A bunch. Here’s a list of the ones you’re most likely to run into:

  • Java
  • JPA
  • Hibernate
  • SQL
  • SQL Server
  • EJB
  • CDI
  • Glassfish/Payara
  • Swing
  • Dagger
  • OpenAPI
  • Kotlin
  • JSF
  • Facelets
  • PrimeFaces
  • JavaScript
  • jQuery
  • HTML
  • CSS
  • JAX-WS
  • JAX-RS
  • JMS
  • JUnit
  • Mockito
  • AssertJ
  • Maven
  • Gradle
  • Jenkins

There is also another development team that uses C# and .NET-based technologies, and yet another team that programs for the devices themselves using embedded systems programming in C. This position, however, won’t be doing any coding under those stacks.

  • Hmmm... I don’t like some of those technologies you mentioned. Can we change them?

Well, let’s not get ahead of ourselves. First, let us mention what we’re looking for in a developer. Experience with any of the aforementioned items is a plus, but caring about writing quality software and being able to model technical solutions to business problems are the really most important traits to have.

We also want someone who is:

  • Smart - can get up-to-speed quickly and solve problems independently
  • Self-motivated - will do their work without someone standing over their shoulder
  • Pragmatic - knows how to situationally balance proper design, compatibility, complexity, testability, and timely delivery

The short answer is yes, we are open to using other libraries, frameworks or JVM languages. But will it be pragmatic in the context of what you’re working on? If it’s a brand new application, that answer will probably be yes, if it’s modifying an existing one, the answer will likely be no.

  • Sounds reasonable... and isn’t it obvious that I’m smart, self-motivated, and pragmatic? How do I apply?

There is one other virtue we’re looking for in a developer: humble. To apply, besides sending us a résumé, be sure to also include responses to the following three items as a part of your application. Brevity is appreciated.

1. What does humble mean in the context of software development?

2. Provide a refactored version of the following method:
public static boolean isNegative(String field) {
try {
boolean bracketsFound = false;
for (int ii = 0; ii if (field.charAt(ii) == ’(’) {
bracketsFound = true;
} else if (field.charAt(ii) == ’(’) {
bracketsFound=true;
}
}
if (bracketsFound)
return true;
else
return false;
} catch (Exception e) {
return false;
}
}

3. Provide a rewritten version of the previous method according to what you believe its intended purpose is, and what its semantics and usage should be.

Job Type: Full-time

Pay: $60,000.00 - $140,000.00 per year

  • Why would I want this job?

You get to build new stuff. You will have the opportunity to design and implement new APIs and features, and also work directly with physical electronic devices.
We understand that people have lives outside of work. Your child is sick? We understand if you need to take the day off. You work better from home? Great, so do we. Some of our developers work from home full-time, but you’ll need to come into the office at least once a week while you’re getting your feet wet.
Friendly atmosphere. When we do come into the office, we often go out to lunch together. We have a long-standing tradition of reading some trivia questions in our online weekly meetings. Occasionally we have a beer together after work. Don’t feel like participating? No one will hold it against you.
This is a small team with low turnover. The development team you could be joining currently has five developers with an average tenure of about seven years. This is a rare opportunity to be an influential contributor in a stable environment.
You can grow your expertise in Java-based technologies. We care about writing quality code. What matters most is not how many years of experience you have, but that you care too. In this environment, if you’re not a Java expert already, you’ll become one in no time.
Good salary. You clicked on the ad, didn’t you?
Good benefits. 401k matching, vacation, health/dental/life/AD&D/supplemental insurance, and more.
Healthy company with a positive impact. We are a leader in our industry. Our revenue has grown steadily since 1992, and our product helps save lives.

  • So... who are you?

We are Smart Start Inc., a privately held company based in Grapevine, TX. We are a leader in the field of alcohol monitoring technology. Our products include ignition interlock devices to prevent people from driving while intoxicated, as well as portable alcohol monitoring devices.

  • You use Java to detect alcohol?!?

No, but we use it in various applications for a host of other activities: administering devices, tracking customer interactions, processing payments, generating reports, providing information to government agencies, and more. The company would literally cease to function without these applications. If you join, you can help us make our applications better.

  • Well, you told me why I might want this job, but no place is perfect. What are the downsides?

You will be expected to produce. Have you ever worked on a team with people who didn’t really do anything? Those people don’t last here.

Our SDLC processes need improvement. Historically, a lot of our planning/designing/testing/release processes have been on an ad hoc basis. This has led to some growing pains, but we are actively getting better, especially with our continuous build and deployment processes. You can help shape our processes going forward.

We have quite a bit of legacy code. Set legacyCodebases = IntStream.range(1992, 2022).mapToObj(adHocProcess::develop).collect(Collectors.toSet()); The applications built from our legacy codebases work (mostly), and it is prohibitively expensive to replace all of the functionality they provide, so these codebases will continue to exist for a long time. What you build will help retire some of it, and you can also feel confident that whatever you build will exist for a long time to come.

  • Wait... you said I get to build new stuff, and now you’re telling me about legacy codebases plural?!

Well, your initial development tasks are going to be centered around adding simple capabilities to our existing software and building them properly. We’re not going to start you off with deep-diving into ten-year-old code. However, we do have a couple of big projects coming down the pipe, so if you’re competent and a good fit we’d be extremely happy if you can drive an upcoming project to launch and beyond. We can’t just start you off with being the development lead on a new application when you have no knowledge of the domain or the systems that are already in place.

  • I guess that makes sense. So what technologies are you using over there?

A bunch. Here’s a list of the ones you’re most likely to run into:

  • Java
  • JPA
  • Hibernate
  • SQL
  • SQL Server
  • EJB
  • CDI
  • Glassfish/Payara
  • Swing
  • Dagger
  • OpenAPI
  • Kotlin
  • JSF
  • Facelets
  • PrimeFaces
  • JavaScript
  • jQuery
  • HTML
  • CSS
  • JAX-WS
  • JAX-RS
  • JMS
  • JUnit
  • Mockito
  • AssertJ
  • Maven
  • Gradle
  • Jenkins

There is also another development team that uses C# and .NET-based technologies, and yet another team that programs for the devices themselves using embedded systems programming in C. This position, however, won’t be doing any coding under those stacks.

  • Hmmm... I don’t like some of those technologies you mentioned. Can we change them?

Well, let’s not get ahead of ourselves. First, let us mention what we’re looking for in a developer. Experience with any of the aforementioned items is a plus, but caring about writing quality software and being able to model technical solutions to business problems are the really most important traits to have.

We also want someone who is:

  • Smart - can get up-to-speed quickly and solve problems independently
  • Self-motivated - will do their work without someone standing over their shoulder
  • Pragmatic - knows how to situationally balance proper design, compatibility, complexity, testability, and timely delivery

The short answer is yes, we are open to using other libraries, frameworks or JVM languages. But will it be pragmatic in the context of what you’re working on? If it’s a brand new application, that answer will probably be yes, if it’s modifying an existing one, the answer will likely be no.

  • Sounds reasonable... and isn’t it obvious that I’m smart, self-motivated, and pragmatic? How do I apply?

There is one other virtue we’re looking for in a developer: humble. To apply, besides sending us a résumé, be sure to also include responses to the following three items as a part of your application. Brevity is appreciated.

1. What does humble mean in the context of software development?

2. Provide a refactored version of the following method:
public static boolean isNegative(String field) {
try {
boolean bracketsFound = false;
for (int ii = 0; ii if (field.charAt(ii) == ’(’) {
bracketsFound = true;
} else if (field.charAt(ii) == ’(’) {
bracketsFound=true;
}
}
if (bracketsFound)
return true;
else
return false;
} catch (Exception e) {
return false;
}
}

3. Provide a rewritten version of the previous method according to what you believe its intended purpose is, and what its semantics and usage should be.

Job Type: Full-time

Pay: $60,000.00 - $140,000.00 per year


Report this job

Similar jobs near me

Related articles