As a software engineer, I’ve found I can look at code in a multitude of languages, follow patterns I see, and make things work. However, this tactic doesn’t always lead to the best or most idiomatic solutions. To be truly comfortable with the changes I’m making in the code base, and to ensure they are scalable and rational, I need a better understanding of the underlying languages and logic.
So, how can companies help their software engineers feel comfortable in their ever-changing world, with the huge variety of languages and ideas they constantly face? Lucid Software has a set of training opportunities that allow employees to become confident in the languages and processes they work with and also to expand what they are capable of. Here are some of the ways that Lucid helps engineers continue to grow and write the best code possible throughout their careers.
Weekly tech talks
All of engineering is invited to a tech talk every Tuesday. Topics have included command line basics, Scala, dependency injection, internationalization processes, scrum, and end-to-end testing. Anyone can submit an idea for a tech talk they would like to lead, and it helps everyone learn more about things that can help them be more efficient engineers and maintain regularity in the code base. Since anyone can submit an idea, it also gives people who are interested experience in presenting.
Regular group classes
Lucid also offers regular group classes on specific topics that employees can sign up to attend. For instance, developers recently had the chance to enter an eight-week long Scala or TypeScript class, led by people who are experts in those areas. There is also a course about programming for non-programmers, so that others in the company (from human resources to marketing to quality assurance) can better understand what engineering does and what we mean when we speak Engineer. Learning things outside of their normal subject area can help employees understand and relate to people from different departments, while learning more about the languages and processes they constantly work with can help them become more efficient and productive.
Domain-specific smaller groups
Ops trainings are a weekly event for members of the ops team, but anyone else is welcome to attend and learn about maintaining production and how to prevent and handle emergencies. The Security Club is another example of a smaller group that meets weekly to discuss computer security topics like penetration testing, current events, and the security of specific bits of software and hardware. Anyone can create a channel on Slack and find people with similar interests to discuss whatever topic interests them and learn more about it. Smaller groups may provide individuals a greater opportunity to contribute and discuss topics than a larger presentation would.
Individuals with expertise in many different areas have led one-time workshops that anyone interested in the topic can attend. Recently there was a workshop on writing content specifically for the internet. There was another one on optimizing LinkedIn profiles. These short workshops included time to actually work on and evaluate writing and to update online profiles while being able to seek advice and ask questions.
Having all these different training options helps everyone be on the same page and be more confident and efficient in their jobs. People also want to and enjoy learning and growing so they can reach new goals. For me, being able to participate in some of these trainings has made me not only better at doing my job but makes me feel like Lucid cares about my growth and my future, which makes me like my job more.
So, how is your employer helping you develop your skills and reach your goals? What opportunities do you have or can you create to learn and grow in your career?