As a Software Engineer at TechSmith, you will be putting your problem-solving skills and passion for developing great software to use every day. You will work within a team, building world-class software products, on multiple platforms, in a fun, collaborative environment. Responsibilities include: participating in an agile team, programming, estimating upcoming work, reviewing completed work with teammates, as well as other duties, as assigned. If you love technology, finding solutions, and making people happy—you will fit right in.
At TechSmith, every individual can make a big impact while working in a supportive team environment. As part of an agile team, you will have a voice in helping to decide what assignments the team tackles. While working directly with User Experience Designers and Product Owners, you will help to decide how to solve our customer's requests. With the help of Software Test Specialists and your teammates, you will have the time and support to fully test your solutions and create quality work. When you are not coding solutions for customer problems, you will have the time to advance your skills and your career with the help and support of your programming lead and manager. The TechSmith agile process is set up to give you the opportunity to dedicate entire sprints to innovation, self-guided work, or professional development multiple times a year.
Windows Desktop Developer
Mac Desktop Developer
Required Skills and Background:
- Bachelor's Degree in Computer Science, or a closely related field, with at least 6 months experience developing software in internships, school or personal projects, or other related development experience. For individuals without a Bachelor's Degree in Computer Science, or a closely related field, 3 years experience developing software
- Windows Desktop Developer: Experience preferred in C# and/or C++
- Mac Desktop Developer: Experience preferred in one or more of the following languages, Swift, Objective-C, Objective-C++, and C++
- Demonstrable experience developing software
- Experience in, or desire to, develop desktop applications for Windows or Mac
- Strong understanding of computer science fundamentals and software engineering principles, processes, and best practices
- Ability to collaborate with other software engineers, and a diverse set of people from many disciplines, in an agile development process including participating in code reviews, working with version control systems such as Git, pairing when needed, and testing software changes
- Willingness to relocate, or commute to, the TechSmith office in Okemos, Michigan
- You must be legally authorized to work in the United States without an employer-sponsored petition for a visa, such as an H-1B visa. TechSmith does not intend to file any visa applications in connection with this opening.
Preferred Skills and Background:
- Experience with automated testing frameworks, writing automated tests, and test-driven development
- Familiarity with Agile development processes including working in sprints, planning, estimation, prioritization, scoping, and demoing
- Knowledge of software design patterns and ability to apply them
- Commercial software development experience, especially with multimedia products
- Experience working on large codebases collaborating with multiple people spread out across several teams.
- Dedication to continuous learning in order to stay up to date on the latest technologies
- Willingness to mentor teammates, and to be mentored, in order to teach and learn new codebases and technologies.