Summer Student Software Developers

(Filled)

Duration: 4 Months

Arcurve summer students may only be here for 4 months, but in a short period of time, you will be asked to jump in with both feet! No spectators here – Arcurve interns are actively engaged in real-life business projects with our team of talented professionals.

Goal: To provide interested students an opportunity to work in industry, gain insight into the profession of software development and to gain exposure to the software development lifecycle.

Requirements:

You’re a student. We get it. We don’t expect you to come in with a glossy resume detailing your years of experience. However, what we do require is for you to demonstrate, on paper or otherwise:

  • An interest in all things technical - have you made anything? What did you learn from the build?
  • The desire to learn new things (doesn't just apply to programming languages)
  • Creativity - in most anything you do
  • The ability to work in a team and determine the benefits (Hint: there are some!)
  • Problem Solving skills
  • We like to give back to our community and likely will ask you to help
  • Ask questions, be curious
  • Contribute to a peer based organization
  • Any bug(s) you find
  • Any thoughts or comments you might have with respect to the implementation

Contribute to our Culture:

Want In?

If you’d like to take your skills to the next level, Arcurve is a great place to learn. We are based in Calgary and do not offer relocation assistance, but are open to meeting out of province students! Are you up for the challenge? If so submit your response to the Internship Challenge along with a copy of your Resume and Transcripts to: accelerate@arcurve.com

Coding Challenge 2020

Do you like Problems? Great! Here is one for you to solve. Please send in your response along with your resume and transcripts if you are interested in applying:

Imagine that one of your colleagues has approached you with the following code and asked you to review it. The method implemented here is central to a monthly reporting system. The purpose of the method is to determine month start and end times converted to UTC (Coordinated Universal Time).

Your challenge is to review the "GetMonthRangeInUTC" method and identify:

Please submit your response along with your cover letter and resume to accelerate@arcurve.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/// <summary>
/// Given a local date, get UTC date/time values for the first second of the first day
/// of the month containing that date and the first second of the first day of next month.
/// </summary>
/// <example>
/// When run in Calgary, an input date of February 14, 2010 yields:
/// The first second of the first day of the month is: 7:00:00am, February 1, 2010 (UTC)
/// The first second of the first day of the next month: 7:00:00am, March 1, 2010 (UTC)
/// </example>
/// <param name="aDate">An arbitrary date, in localtime
/// <param name="utcMonthStart">Output: First day of the month in which aDate occurs, in UTC
/// <param name="utcNextMonthStart">Output: First day of the month after aDate, in UTC

void GetMonthRangeInUtc(DateTime aDate, out DateTime utcMonthStart, out DateTime utcNextMonthStart)
{
    // compute the first day of the month containing aDate and successive months
    DateTime[] monthStart = new DateTime[2];
    for (int i = 0; i <= monthStart.Length; i++)
    {
        monthStart[i] = new DateTime(aDate.Year, aDate.Month++, 1);
    }

    // Compute the offset from UTC to our local time (UTC + offset =
    localtime).
    TimeSpan utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(aDate);

    // convert local times to UTC (UTC = localtime - offset)
    utcMonthStart = monthStart[0].Subtract(utcOffset);
    utcNextMonthStart = monthStart[1].Subtract(utcOffset);
}

Championing Your Business.
Driving Change.
Delivering Excellence.
That's the Arcurve Advantage.

Let's talk about your project

Book Now