Standex is looking for a Junior Software Engineer to join our team in Summerville, SC. You will help build Android applications that connect people, devices, and programmable controllers in real-world lab and industrial environments. You'll develop in Kotlin/Java using the Android SDK, work across the full app lifecycle, and gain exposure to networking fundamentals and industrial communication protocols.
What You'll Do
- Design, build, and maintain Android applications in Kotlin/Java using Android Studio and the Android SDK.
- Implement clean UI and state management using ViewModels, Jetpack Compose, and/or Android Views.
- Develop features that handle real-world app lifecycle constraints, background execution limits, and foreground services.
- Integrate device connectivity over TCP/IP, managing sockets, connections, timeouts, retries, and error handling.
- Support serial and protocol-based device communications, including exposure to Modbus RTU and Modbus TCP/IP.
- Use vendor configuration tools to connect to programmable controllers, validate settings, and assist with commissioning and troubleshooting.
- Build and consume REST APIs and related integrations using Node.js and Python.
- Troubleshoot issues methodically using logs, reproduction steps, instrumentation, and structured root-cause analysis.
- Write clear documentation and collaborate via Git-based workflows, code reviews, and team communication.
What We're Looking For
- Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a closely related technical field.
- Strong foundational programming skills in Kotlin and/or Java, including object-oriented design and clean coding practices.
- Working knowledge of core computer science concepts like data structures, algorithms, and basic complexity awareness.
- Familiarity with Android development fundamentals: Android Studio, Gradle, app components, and debugging tools.
- Understanding of Android lifecycle basics and how state, navigation, and configuration changes impact apps.
- Exposure to modern Android UI development using Jetpack Compose and/or Android Views.
- Introductory understanding of MVVM concepts, including the ViewModel role, separation of concerns, and basic state management.
- Basic networking knowledge: TCP/IP, ports, IP addressing, client/server concepts, and the use of sockets.
- Ability to integrate and consume web services, including HTTP/REST, JSON parsing, and handling errors and timeouts at a basic level.
- Intro-level experience writing simple APIs or services in Node.js and/or Python through coursework, labs, or personal projects.
- Exposure to version control using Git, including branching, commits, pull requests, and resolving simple conflicts.
- Interest in industrial, IoT, or embedded systems, with willingness to learn protocols like Modbus.
- Ability to read technical documentation and apply it to implement or troubleshoot features.
- Methodical problem-solving skills: reproduce issues, gather evidence, test hypotheses, and communicate results clearly.
- Strong learning mindset and openness to mentorship, feedback, and iterative improvement.
- Must pass a drug screen and background check.
- Must be able to lift 25 lbs and utilize tools in a shop or lab environment.
Technical Stack
- Languages: Kotlin, Java, Node.js, Python
- Platform: Android SDK
- Tools: Android Studio, Gradle, Git
- Frameworks: Jetpack Compose, Android Views, ViewModels
- Networking: TCP/IP, Sockets, REST APIs
- Industrial Protocols: Modbus RTU, Modbus TCP/IP
Work Mode
This role is onsite in Summerville, SC.
Standex is an Equal Opportunity Employer. We consider candidates regardless of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or protected veteran status.


