Working...
Dell
This job is closed

Software Engineer 2

Job Description and Requirements

IOT Software Engineer 2

Harnessing the full potential of IoT requires adding intelligence to every stage. Smarter data gathering at the edge, smarter compute at the core and deeper learning at the cloud computing stage driving up the IQ of IoT. From self-driving cars to self-monitoring jet engines to self-regulating factories, sensors at the edge need to generate and act on smarter data.

The IOT Software Engineering team delivers new products for a changing world. Working at the cutting edge, we design and develop products enabling the full potential of the data in the edge-core-cloud continuum all with the most advanced technologies, tools, software engineering methodologies and the collaboration of internal and external partners.

We are looking for aSoftware Engineerwho has a strong background in building highly scalable distributed systems with experience working in an agile product engineering team. Candidates should display abilities to innovate and be creative.

Why Work For Us:

Dell is more than a technology company — we are a people company. We inspire, challenge and respect every one of our over 100,000 employees all over the world providing them with unparalleled growth and development opportunities. Dell is primed to recruit the best and brightest candidates taking pride in fostering a winning, innovative, inclusive employee culture. We also take calculated risks and we celebrate big victories when they pay off.

Responsibilities:

  • Develop high-quality, reliable and maintainable code.
  • Working side by side with product managers, product owner, program managers and key executives to plan ongoing feature development, product maintenance.
  • Generates technical documentation as well as unit and functional tests.
  • Agile and retrospective, and not afraid to identify what we’re doing wrong so we can fix it, and what we’re doing right so we can improve on it.

Requirements:

  • 3+ years of experience building highly-available and scalable distributed systems
  • Software development experience using several of the following languages/frameworks: Java, Spring, Go and Python
  • Expert knowledge of object oriented programming
  • Experience with Micro-services
  • Familiar with Agile software development methodology, TDD and XP
  • Experience with version control (ex: Git)
  • Experience with REST API design and 3rd party integration
  • Strong Understanding of SQL vs. noSQL
  • Good Knoweldge in Hadoop/Spark
  • Strong communication skills, including the ability to convey technical information effectively to both IT and business audiences

Nice To Have:

  • Good understanding of Machine-learning and Deep-learning
  • Good understanding of Blockchain and Smart contract technologies
  • Javascript
  • Frontend frameworks such as Angular
  • Experience in optimising computation-intensive solutions.
  • Test Automation
  • Understanding of networking protocols
  • In-memory caching systems such as Redis
  • Experience with container technologies, such as Docker, Swarm, Mesos, and Kubernetes
  • Contributing to large open source projects is a plus.