Currently software tester goal to be C# developer

Originally, I was a web developer doing Ruby on Rails then got involved more on the selenium testing using RSpec and capybara. I got laid off and now fast forward to my current job. I’m now involved in .NET C# environment doing manual testing with no coding. However, my company is providing QA Automation training and the hope is to be writing some code.

Should I stay within the Microsoft realm or spend my free time with front end stuff like HTML, CSS, JS, React, Angular side of web development?

2 Likes

How does Angular integrate with .NET these days?

welp… Microsoft .NET development can also include HTML, CSS, JS, React, Angular and all that. You can use C# on backend and the rest of tech on front end. (Though C#/.NET on front end is coming soon, aka Blazor).

And now, .NET also runs on Windows, OSX and Linux. (.NET Core 2)

3 Likes

Ideally you should try both and see which you enjoy more. C# is a good language but the statically typed languages like C# / Java are probably twice as challenging to learn as JavaScript. .NET is a huge ecosystem and is rapidly evolving because of the open-sourcing of dot net core. Knowing where to start is a real issue.

In my own experience, the front end is more accessible to the beginner. I’ve learned JavaScript and various front end frameworks and they’ve all seemed achievable. But when I tried .NET, I got that sinking feeling…

2 Likes

A gentler way to get on board C# (and have access to all the .NET libraries and frameworks) without learning the more complicated MVC pattern (which can be overkill for simpler projects) is using C# Razor Pages syntax.

I mean, you can even assign your C# variable values to your VueJS or JS code like this. It’s not a neither or. You can use both C#, JS, or other front-end frameworks at same time.

@section customscript {
    <script src="~/build/scripts/app-min.js"></script>

    <script>
        var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

        // NOTE: Vuejs should come before CKEDITOR script, otherwise the editor does not work.
        // v-model will ignore initial value, checked or selected attributes of form elements.
        // app.data will be the source of truth
        var app = new Vue({
            el: '#add-article-form',

            data: {
                publishDate: '@PublishDate',
                originalUrl: '@OriginalURL',
                originalUrlImported: 'N',
                issueEdition: '@IssueEdition',
                volumeNumber: '@VolumeNumber',
                issueNumber: '@IssueNumber',
                title: "@Title",
                subtitle: "@SubTitle",
                sortOrder: '@SortOrder',
                author: "@Author",
                articleSummary: '@ArticleSummary',
                articleText: '@ArticleText',
                articleFooter: '@ArticleFooter',
                tags: '@Tags'

            }, // end of data

    // rest of stuff here.... 

You can call custom C# functions in libraries and extensions you made, from the HTML page.

<div id="easytaghelp" class="col-sm-4" >
    @Utilities.DisplayEasyTags( )
</div>

On your HTML/Razor page template, you can use whatever .NET library you need. Embed it on the page.

@using System.Text.RegularExpressions;
@using System.Security.Cryptography;

then later on, use it on your page.

    // short summary/description for this article
    if (String.IsNullOrEmpty(Article.ArticleSummary))
    {
        // use full story text for our summary
        articleSummary = ASP.Utilities.RemoveHTMLTags(articleText);
        articleSummary = articleSummary.Substring(0,400);   // get first 400 char
        articleSummary = Regex.Replace(articleSummary, @"\r\n?|\n", " ");    // remove line breaks
    } else {
        articleSummary = Article.ArticleSummary;
    }

Connect easily to an SQL Server database, make SQL queries!

    var db = Database.Open("MYDATA");
    string query = "Select * FROM Articles WHERE ArticleID = @0 ";   
    var Article = db.QuerySingle(query, articleID);
    db.Close( );
2 Likes

I didn’t know that using .NET we could use both type of languages…
Amazing :open_mouth: