Advice from a 19 Year Old Girl and Software Developer
medium.com
medium.com
Being Deaf I didn't manage University in the nineties. However I have been lucky to get a second chance at the University of Applied Sciences to graduate as an engineer, a Dipl. Ing. FH 2006. And now, 2017, I graduated as a legal, a Bachelor of Law, too, and could do this part-time.
So it seems at the age of 19 it is perhaps wise not to attend university yet. So young you still don't know what you do the best.
I call shenanigans. You need to be rich for that anywhere.
That being said, the girl in question is probably rich given that ancient Greek and Latin aren't part of the regular curriculum at public schools in Sweden.
I see people in FB advocating against college and academic knowledge in general. (E.g. Einstein flunk math(not true), Bill Gates, Mark Zuckerberg didn't finish College, etc.)
Sure, If you are really, really smart like Gates, Zuckerberg, or Micheal Dell and you have a killer idea. Don't waste your time in college. But for most moderately smart people college is the best choice.
Also if high school was too hard for you, and you don't like school any way, don't waste your time in college and learn a trade.
This woman seems very mature and motivated. She is growing without going to college. So it may be the right choice for her. But it will not be the right choice for most people.
My general advice is to get a good degree for your dream job and to work on a portfolio that illustrates that you're also practically good at it at the same time. Don't fall prey to the false dichotomy trap.
I just don't think this is true anymore, given the financial burden of modern academic education and the fact that they teach so little useful skills
programming is increasingly a trade, and can definitely be self taught better than any college will teach it.
the rest of the education may have other value but IMO not worth the time + money + opportunity cost
is the salary of a graduate higher than those of someone without a degree who has been in their career 4-5 years already? plus the huge cost of uni weighed against the 4-5 years worth of salary accrued during that time?
i think this is trending towards that gap being smaller as a generation disillusioned with the value of college moves into upper management
speaking from my experience only, and with regards to the US only as I'm not familiar with the situation in other countries
The "self-taught vs. university taught" distinction is disingenuous. Until we learn to program human brains, everyone is self-taught.
Good instruction and a high-quality peer group definitely increases the rate and quality of learning.
Some jobs are accessible to some people with a bit of self-guided learning (been there done that). But that's not a good model for everyone. And more importantly, not all programming jobs are accessible via this route. Lots of people can teach themselves web programming. Considerably fewer people can learn to build a safe self-driving car or sophisticated numerical analysis software.
So here's my assertion: if you can learn to become a web developer without the help of a college education, then you can learn to build much cooler stuff with the help of a college education.
Whether that matters to you, both in terms of fulfillment and in terms of (possibly low) salary differential, is entirely up to yo.
In many countries they have figured out that equal opportunities in access to higher education are a crucial thing to have. That's why my M.Sc. cost me grand total of 5000 EUR over 5 years.
>and the fact that they teach so little useful skills
I wonder why you feel this way. Can you elaborate on that? Do you think university is obsolete?
Only speaking from my experience in the US but many CS or IS graduates do not have the real world knowledge to excel in a job squarely in their field. They learn 90% of what they actually need on the job.
My uni's CS degree required a ton of math that is irrelevant to 90+ % of development jobs, lots of language and liberal arts classes that are also useless in the field, etc, etc...
at least here, uni is a total money grab. very expensive, not a whole lot of practical knowledge imparted.
I think in general that if your country's government properly supports education you should go for a College/University/comparable path. Otherwise go for autodidact.
And you're very lucky. Selection bias. Don't forget that for each billionaire like Bill Gates or Zuckerberg there are thousands of people who worked just as hard and/or had even better ideas, and who just didn't happen to get rewarded.
We don't know which percentage of said individuals' success was due to sheer luck and which due to outright competence. For all we know, the former may very well be beyond 99%.
Also, No one mentions the importance of making it to Harvard and having those networks!
IMO, in the US, the value of college education is purely to build a network of people and tap into that resource when growing a product, or own career.
Not sure how colleges are in Stockholm, but I’d assume colleges everywhere end up giving a network to its alums, however good or bad the network may be.
No one needs to go to college for coding because coding is a blue collar job these days. In fact, when I went to university they didn't teach much coding beyond a programming 101 class and you were simply expected to learn various languages on your own time.
That class also certainly didn't teach you about the latest frameworks or trends either, just straight C and Java, which in hindsight I think were smart choices but at the time I didn't understand why they didn't teach more practical stuff.
In addition, it seems pretty obvious that with 20+ years of industry experience, a reasonably competent 40 year old candidate would be as employable as one with a degree. Who cares about university degrees that far removed from obtaining one anyway?
That is correct. End-user utilities like Git are left as an exercise for the student, something that a CS graduate should be able, not only to learn to use in a couple of hours, but understand its inner workings without reverse engineering, and write its own version after.
The reason why Git is not tough in CS classes is that it is considered so trivial that is will be a waste of time (and tuition) to do so.
"In addition, it seems pretty obvious that with 20+ years of industry experience, a reasonably competent 40 year old candidate would be as employable as one with a degree. Who cares about university degrees that far removed from obtaining one anyway?"
It depends on what it will be writing; if it is another website that is just a magazine on HTML sure, no difference. If it is optimizing a compiler in assembler, correcting performance problems on a multiplatform system, or evaluating code for security holes in a sizable institution, then you better have your degree.
If you've spent 20+ years doing exactly that (because you're 40+), then what difference does a degree make?
So if you have a CS degree, you're qualified to optimize compilers and perform security audits at large institutions? No way.
In practice these are two different and highly specialized jobs. Why would you not consider someone who has a proven track record of optimizing compilers? Or finding security holes in code? I'd rather look at a portfolio than a certificate any day.
The background in computer technology from a university level is the "why" behind what you're implementing. Not the "how" you implement it. The hands on exercises are more to apply what you've learned than to give you skill training like a technical college.
I've worked with 1000s of developers over my career. The more knowledge you have, the more well rounded you'll be. This tends to lend itself to better developers in my experience. Where self taught is fantastic, but typically those coworkers (not all but most) tend to be pigeon holed into technologies instead of concepts.
Developers could learn a lot about business too, accounting, finance, marketing, etc.
I loved college and feel it really prepared me for figuring out my way in the world, much more so than simply reading Programming in C.
I loved programming and still do, but I went to college because I knew -- by the time I was 18 -- that I really wanted to do something more with my life than build other people's boring websites.
My advice to extremely bright and/or motivated high school students who have the option to get into the programming profession right away: consider whether this is going to be as intellectually stimulating in 5 years (or even 5 months) as it is now. There's no "right answer" to this question! But consider it carefully.
And don't under-estimate your potential.
Note: Being way ahead in CS allowed me to study a lot of other stuff beyond the introductory level. Econ, art and architecture, a bit of business and law, the natural sciences, etc.
There's a lot more to CS than software engineering. And a lot more to software engineering than application development.
A wise man once said computer science is no more about computers than astronomy is about telescopes.
My other family of nurses and factory workers definitely think of software as white-collar professional work. Especially anything www.
I think the same thing happens with engineering, except engineers have a bit more social capital due to their guilds.
More-over, the answer isn't static. E.g., a couple hundred years ago, we could've had this same conversation about whether carpenters or silver-smiths are laborers (or whatever other blue-collar-label-of-the-time).
But the answer also doesn't much matter. What matters is that your compensation makes you happy, will keep you happy in the future, and the work is interesting enough to make you feel sufficiently fulfilled (or the pay high enough that you don't care about that).
I have some news for you folks, most white collar jobs (account, finance, etc) are more boring than a job as a enterprise CRUD developer.
If development is blue collar, then 95% of jobs are blue collar...
That doesn't make them blue collar, even when we consider some software to be blue collar.
Now, whether blue collar is a useful label and whether people should be considering social capital when choosing a career? Those are the more important questions.
Programmers, engineers, and the like don't get that automatically, without more context—money, notable employer and notable position at that employer, and even then maybe not quite placed at the same social rank as a doctor/lawyer without even more context, e.g. school, other non-tech accomplishments (languages and arts especially), and so on. Going to any Ivy, top public, or famous European (especially British) school gets you closer (see the part above in paragraph one about socialization into the upper-middle).
[EDIT] I should add that you also don't gain Academic cred that puts you on a kind of adjacent track on the whole class system, with full professorships granting similar social standing to doctors/lawyers and the like. Unless you are in academia, and don't bail on it for private industry too early.
Not just class system, but also career track.
If a DotCom 2.0 bust happens tomorrow, I can bail on tech of a half dozen other fields -- I have the network and the knowledge base to find high five/low six salaries outside of software. That's probably less true for me-N-years-ago, who could program certain things real good but that was about it.
I started programming at ~12 (early 90s). My jobs where limited until I went to uni (graduated at 29).
The actual coding taught at uni was minimal and outdated, and I wouldn't trust some graduates with a calculator. If you're good at coding, then you'll probably know it before you enrol.
But with my degree I was able to progress out of the sweat-shop type places.
It's hard for those who haven't been to uni to understand the benefits of it. It's more than just "experience vs study".
Here's my challenge to those who are "self-taught" (like I was): If you think you're so good, then why not enrol? (even P/T)
(The author is not based in the states and is currently enrolled in grad school)
That said, I really really wish I spent more time learning about myself and what I like to do. I think I'd be much further along in my software career if I had an MS in CS.
In any case, I do not regret going to college at all.
A lot of this is more about social standing/perception than earning potential or type of labor.
> Programmers are well paid and have a high social standing compares to real blue-collar jobs
Neither of those is universally true, and it's not even clear to me that they're true often enough to justify your generalization.
You'll have to be more specific. Your current comment is equivalent to "you're an idiot"
* Streching 15m a day.
* Watch online courses 2h a day.
* Personal projects 4h a day.
* Read 2 articles, let's go with small articles without too much techical detail, 30m in total a day.
* 5 Code Wars Kata, for them to be of any value, 10m at least each, let's call it 1h a day.
* Sleep is important, so we say 8 hours of sleep and at least 1 hour getting ready.
This totals to 16 hours and 45 minutes. Add a commute and a work day and you are past 24 hours. And I haven't even mentioned the healthy food she wants to make - getting groceries and cooking takes time. 1 hour every day is not unreasonable either. So far this workweek needs to be less than 30 hours for her schedule to work out, probably closer to 25 hours.Lets put this into the context of a carpenter - do you expect them to spend nearly 8 hours a day of their free personal time, to improve on their trade? That is called personally funded education outside of work, and usually rewards you a title.
This post, indirectly leads to stupid requirements at interviews and burnout. Some of my best developers love to code, but they know not to spend every wake moment coding or something related to coding. All developers that have called in sick or left due to a burnout all worked on, and stressed over, big personal projects to show the world. Developers need to learn the difference between work life and personal life - the former cannot be allowed to consume all available time.
A huge amount were, like another commenter mentioned, girls in yoga pants or short shorts posing with Sublime Text in the background. And they're hugely popular.
In no way do I think the original poster's feed is like this. She seems genuinely interested in coding. It just led me into this entire apparent subculture of this type of thing.
Though maybe don't look it up at work.
[EDIT] You know what? I'm just gonna leave all this to retrospectives from sociologists and media studies folks in a decade or two. Any discussion about this whole slice of online life is always too much of the usual Internet misunderstanding-one-another, but with the knives out. There's a ton of really interesting stuff going on around this topic, but it's just not worth trying to discuss, no matter how much good faith is brought to the table. Suffice it to say that it doesn't look like anyone in this sub-thread has been trying to associate the OP with anything unseemly, that certainly wasn't what I was trying to do (god, why on earth would I want to?) and on re-reading my post in context it also doesn't appear to be what I did do. I'm bowing out.
I went down the opposite path than that described in this post - into electrical engineering and math, and 5 years down the line I feel like have no practical skills (there's an emphasis on theory and the fundamentals), and feel that I'm wasting my twenties being stressed out, abusing caffeine, and pulling all nighters every week.
I've been working hard on academics since I was 16 (I'm 22 now) this blog post reads like a fantasy of mine.
Yes, she's right that you don't need a lot of school to develop the trade skills of programming or other tech work, and people will hire you. However, it can easily replace the time when young people normally used to develop social skills and potentially critical future relationships (personal and professional).
It's also easy to fall down the rabbit hole of learning as much as you can about technology and abandon all other pursuits, because you no longer have the outside influences found in a traditional education system. This limits your exposure to alternative ways of thinking, which at the very least limits effectiveness in your career (a creative one) to say nothing of stunting personal growth.
My biggest regret is not learning more about the ancient Greeks and Romans, and Myceneans and Minoans, and Egyptians and Chinese, when their foundational achievements could have inspired me in both my personal and professional life. Learning languages is great too as it exposes new kinds of culture and different ways of thinking.
I'm not saying this is a bad path to take - it worked for me! - but I wish someone would have told me all the things I was missing, or provided some sort of path to experience the rewarding parts of it.
I was reading this post on my phone and missed the subhed "My daily life (outside of work)". When reading her habitual to-do list (read 2 tech articles, solve 5 CodeWars Kata) I had assumed it was her weekend list, or maybe week list. Maybe she has an extraordinary amount of energy, or maybe I've totally forgotten how much energy you could have as a teenager (or both).
Something she wrote reminded me of a fragment of a story I heard on NPR about women coding:
> I started coding when I was 15 years old. I had a booming health & lifestyle blog on Tumblr and gained tens of thousands of followers in no-time. This is when I started creating my own responsive layouts with the regular HTML, CSS and jQuery, as I didn’t like the themes that I could buy, so I decided to just try it myself! From there on, I kept on improving my skills, gained more knowledge, and my interest in developing grew.
Here's the piece that I apparently caught a bit of on NPR: http://latinousa.org/episode/tech-industrys-leaky-pipeline/
There's not a transcript unfortunately, but there's a bit where someone is talking about how, in the age of MySpace, kids had an opportunity to be exposed to coding because customizing MySpace profiles required writing raw HTML. Sure, it often looked ugly as hell, but we don't seem to have a similar mainstream entry point for the average Internet user to get sucked into coding -- that is, coding not for coding's sake, but just because coding was a way to improve your daily life (yes, even social media profiles count as "daily life").
IMO, the coding -- including the language that you have to figure out -- isn't important compared to the revelation that digital entities can be hacked and changed to your liking. These days, I can still impress a classroom of people by seemingly defacing nytimes.com using the web inspector. It's not the sight of HTML being typed that's impressive, but the revelation that webpages somehow are mutable.
(not sure how many of those people realize that I didn't change anything on the actual nytimes.com server :p)
I think there is a bit of irony however, in that while she received inquiries from recruiters in the states, without a degree she wouldn't be able to work there, or anywhere outside the European Union that doesn't have a very comfy work permit. Not that it's necessarily restricting though. I'd love to live and work where she's from. Unfortunately for the same reason, I can't.
Personal Anecdote: I see a lot of myself 5 years in how she describes herself. In some ways I miss that time, in some ways not. Particularly in her attitude toward school, both secondary and post-secondary. Now though, having returned to University in Canada—for the reason I outlined above—I'm finding myself with an intense curiosity about everything unrelated to programming and love being at the University with a community of people just trying learn and do better for themselves.
I started developing like this but I went for the college degree after, and there is a lot to learn in academics that self-studies will not bring to your attention, so you cannot really say that you don't need to go to college if you don't know what you missed.
There is coding, and there is coding. There is a huge difference between javascript and websites and embedded programming or compiler building and optimization. There is a big difference between a program that runs, and a program that runs efficiently. There is a big difference between my portfolio website and a bank customer service website. And there are many more differences if we slice software development in many other contexts.
CS degree gets you open door to "real coding jobs" - AI / ML / DL - data science / BI - multithreading, performance sensitive development etc - Big Data
Can you learn everything yourself / from online material. Probably yes.
It's a well reasoned article, and I don't know how useful having a degree is for CS. It doesn't seem like she's in a position to have the self-awareness of her position, let alone to advise others on it.
Is this another success story where the secret is, be born to wealthy parents?
Sidenote: I was surprised by the absence of a Github reference in the article. I like to follow influential devs on Github.
I know college is right for some people, and statistically and practically you'll get more money. But I didn't want to throw a ton of money and 4 years of my life down a hole when you can enjoy life just fine without college.
Spending money you don't have on a degree you don't probably never need is silly. You can learn history, women's studies and all that jazz on your own if you only put the time in.
Being young means you can undercut on salary and live with parents, while you gain experience.
Being female means you can cut out on garbage socialising sessions and be more picky.
Dogwhistling is often less dangerous in terms of karma annihilation than actually expressing the thought.
* Subjects like ancient Greek and Latin help you build your future by giving you a better view of the past. Seeing where we've been gives us better knowledge of where we're going.
* Consider university. I'm not going to tell you to go if you really don't want to, just consider it. You're in Sweden, not the USA, so higher education is free or reasonably priced and won't saddle you with crippling debt. Anything that broadens your mind and expands your horizons makes you a better developer. Science, math, philosophy, music, history, literature, art. It's worth it to learn them all, so if you decide not to go to university, set aside some time to read up on these.
* Follow the old-school, BASIC-ASM-Pascal curriculum. The first language a beginning coder learned in the 80s was BASIC. This taught them to write high-level instructions for the computer. The second language they learned was assembly -- how to code in the CPU's own language, meaning you had to worry about word widths, memory locations, pointers and the like. Finally they were ready to embrace Pascal and synthesize the knowledge they got from their previous experience. They could write high-level code while remaining cognizant of low-level concepts like pointers.
Modern programmers will learn JavaScript, Python, or Ruby instead of BASIC and C instead of Pascal but the principle is the same. Start high level, go really low level, and end up somewhere in the middle, able to think in terms of both abstraction and machine-level details.
* Look out for your future self. Plan for her arrival; she's coming sooner than you think. When I was your age, I was chugging down Cokes and pulling all-nighters learning how to write X11 programs from the man pages. I can't keep up that lifestyle anymore. I need sleep and balance in my life otherwise I get cranky. There are lots of things I could've done then that would have given me a huge career boost now, like being more aggressive about networking and seeking out internships at major companies. Had I done that I could have been a manager or architect in my thirties. I'm still trying to make it as a developer, having to deal with an interview process and workplace environment that's tailored to people your age.
* Speaking of, the workplace is tailored to people your age because the system is rigged to exploit young, enthusiastic people like you. Do you read the Bible? Matthew 10:16. You're like a sheep among wolves out there, so be wise as a serpent and innocent as a dove. Meaning always be honest and offer your talents in good faith, but be shrewd and know what you're up against so you don't get screwed over. Another thing I wish I'd known at your age.
Did you read the post? She's discussing stretching, yoga, meditation because of their benefits for someone learning to code.