as there inevitably will be a long-term
cost associated with using and maintaining it. While it is a good thing to
learn new technologies, you don’t always need to bring them into the enterprise environment due to the technical debt accrued over time.
When it comes time for a job interview
you will need to convey your accomplishments so the interviewer understands what you bring to the table. It
becomes very apparent who is truly
passionate about computer science
when interviewing new graduates.
These individuals light up when talking about their experiences and can
clearly describe what they have accomplished. The key here is to focus on a
project that you are comfortable with
and discuss the technologies used,
how you collaborated with your team,
and any challenges you overcame. If
you happen to be asked a question you
can’t answer right then, don’t worry.
Your best option will be to explain you
are not familiar with that topic, and
then discuss how you would approach
researching the solution. This will
demonstrate your honesty and ability
At the end of the day, success takes
discipline to go above and beyond
what is required of you as both a programmer writing code all day and a
member of a winning team. Prepare
yourself, stay focused, and through
hard work you will succeed.
Zach Boyd is the director of software engineering at
Asurion. He holds a master’s degree in computer science,
and his focus is on developing enterprise soft ware using
various languages and frameworks.
The mark of a successful soft ware ngineer has evolved beyond writing code all day. Problems are becoming more complex,
and it usually requires a group of people with varied skills to contribute to
a unified solution. In the professional
world you must not underestimate the
importance of communication within
your team and across company groups.
Breakdowns of communication lead to
wasted time and frustration at all levels of the organization, disrupting the
IT TAKES A TEAM
Today, team-based programming environments and collaboration with
your peers are critical elements organizations look for in employees. Agile
development continues to be adopted
throughout the various industries affected by tech, as an effort to deliver
high-quality software in a more efficient manner. So, look for opportunities to work as a team toward a common, hard-to-reach goal. This could be
a class project, a side project at home,
or an open-source project online.
By working with a team you enhance your interpersonal skills. This
experience will encourage you to
appreciate disciplined development
processes, which might include source
control for codebase management, automated unit testing, participating in
code reviews, and other tools such as
continuous integration servers. The
underlying technologies will certainly
change over time, but the concepts,
and your experience using them, are
what matters. This will lead to one less
hurdle for you once you decide to join a
team at a larger company.
Each company might utilize a different set of tools to solve problems.
There is also the continuous addition
of new languages, frameworks, and
tools in the development community
to consider. Therefore, it is vital to develop the ability to quickly adopt and
to continuously learn.
Exposure to, and experience with,
new technologies and problem-solving
paradigms will take time. The earlier
you try to build your first real application, the more marketable you will be
as an employee, coworker, and peer.
The core skills you gain through these
exercises can easily translate to the
“newest” language or framework that
inevitably emerges. One thing to keep
in mind is you should never choose
an emerging technology for your enterprise environment just because it
seems cool, or has good reviews and
endorsements. Instead, think about
how it can help solve your problem,
When Communication Trumps Coding
Crucial skills for software engineers.
Game-based assessment may replace
interviews and other traditional methods
of employee recruitment.